[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: qemu-user security trade-offs by dynamic configuration



Hello,

Pardon me for tweaking the subject line; "qemu-user lost its entire viability" is not something I'm directly addressing, but I nevertheless feel this doesn't assess non-chroot-related use cases and object to proliferating that idea.

I also concede I haven't been following the discussion particularly closely as it is happening very quickly but I nevertheless want to point out an option that I haven't seen mentioned: how about using a low-priority (i.e. not shown by default) Debconf question to allow configuring the old behavior?

I believe this is an approach used by some network diagnostic tools in Debian (Wireshark and friends perhaps?). For example a tool that's rarely used and is only manually invoked by an experienced sysadmin might not have a compelling need for a set-UID bit or e.g. CAP_NET_RAW set, but for other respectable use cases such as automation, or when other security enhancements are in place, or on systems that are not mission-critical, an administrator/user may decide incurring a risk is acceptable or advances "the greater good".
Higher-priority Debconf questions are often used when a decision must be made on package installation in order for it to be useful at all, or if a decision must be made that trades off expected behaviors, such as applying Debian defaults versus upstream defaults when real-world use can benefit from either.

In this situation, a lower-priority Debconf question seems like a great tool:
 • Debconf can be "primed" such as with debconf-set-selections or Debian Installer preseeding to know what the user wants just before, or even well in advance, of the package being installed.
 • This is a matter that gets more scrutiny from Debian users and developers than upstream, can't be specified in a hypothetical platform-agnostic QEMU configuration file well, and could benefit from integration with Debian's way of doing things as they pertain to the kernel. That is to say, Debconf is a great means to this end.
 • The various Debconf backends, such as the LDAP backend, can help toggle the former behavior in settings like buildd networks or clusters, even irrespective of when (or if) qemu-user is installed.
 • Control freaks like myself who set the default Debconf prompting priority very low can make a conscious decision such as this when there is one to be made.
 • We are cognizant that restoring the old behavior is one of the more likely things someone troubleshooting or tinkering with qemu-user will want to do.
 • Restoring the former behavior is more programmatic and semantic: we know that asking users to dig deep into documentation and learn eccentricities of Linux kernel binfmt setup wouldn't be a great use of their time. This would-be-meticulous setup and means-to-the-end can be safely done "behind the scenes" as long as we inform the user what the risks are and what the benefits are. That's what real users really care about and with a sensible prompt we can do that. Copying and pasting directions from some README file that might only be found by an experienced treasure hunter is needlessly burdensome. Users can be discouraged from introducing harmful security holes when needed by informing them, not through artificial or contrived obstacles.
 • The option can have a default which, if nothing else, declares "Here's how qemu-user behaves now, but it doesn't have to be this way. You can learn more if you want to, or you can take Debian's informed, secure, and sensible default and be happy."

In conclusion, let's take a look what tools we may have at our disposal for an outside-the-box solution. I hope I found a candidate, and if using Debconf is not the right way to go here, we'll be all the better with that being an informed judgment call.

Thanks,
John

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: