-
-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support Qubes that use doas rather than sudo #9599
Comments
(As a followup, if Qubes OS is receptive to the idea of supporting the use of |
I think instead of inventing a dedicated For example the For
What could be contributed here is adding an additional file to the So Qubes has nothing to loose here. At worst, A few additional files which are ignored by Is this feasible? Yes, very much so. [2] [1] Adding [2] If acceptable to Qubes, this would most likely by contributed by @ArrayBolt3, who recently landed a much more complicated source code contribution: QubesOS/qubes-gui-daemon#149 (unrelated to this ticket) |
If I understand @ArrayBolt3 correctly, that's not necessarily the case. If the goal is to not have
|
True.
|
This actually might be not that hard, given quite small number of places it's used in. |
And then only the passwordless-root package would have |
How to file a helpful issue
The problem you're addressing (if any)
All official Qubes OS templates currently use
sudo
as a privilege escalation framework. This is mandatory, as Qubes OS ships somesudoers
configuration files, which obviously won't be usable withoutsudo
. Not all distros and users necessarily want to usesudo
, however - it's big and complicated, thus potentially more vulnerable than a simpler privilege escalation framework.Whonix in particular is currently looking into the possibility of porting over our existing
sudoers
configuration todoas
, allowing us to replacesudo
withdoas
. In the event we do attempt to migrate todoas
, we do not want to have bothsudo
anddoas
installed in the Whonix VMs since that results in an increase of attack surface rather than a decrease. Since Qubes OS is a top-priority platform for Whonix, we cannot port fromsudo
todoas
without there beingdoas
configuration that replaces Qubes OS's existingsudoers
config present within individual Qubes.The solution you'd like
Ideally, there would be
doas
configuration snippets that would be able to replace thesudoers
config shipped by Qubes OS packages. That way, any Qubes that useddoas
could simply use aqubes-doas-config
package rather than whatever package ships thesudoers
config. (If thesudoers
config is currently bundled into a package, obviously it would have to be split out for this to work.) Additionally, any parts of Qubes OS that currently usesudo
to elevate privileges within a Qube would have to be adjusted to usedoas
when appropriate, and documentation that instructs the user to usesudo
would have to be adjusted to mentiondoas
if that documentation was applicable to any official Qubes that useddoas
.The value to a user, and who that user might be
Any users who are using a defense-in-depth strategy by disabling passwordless sudo within individual Qubes would potentially benefit from this. The only valid reason to disable passwordless sudo within a Qube is to make it harder for an attacker to attempt any attacks against Xen or dom0, by requiring them to bypass the in-Qube privilege restrictions first. It is theoretically easier to bypass the in-Qube restrictions if
sudo
is in use than ifdoas
is in use, due tosudo
's much larger size and much more powerful (and easy to mess up with) configuration file format. In contrast,doas
is many times smaller thansudo
, and features a much less powerful configuration file format that is harder to make mistakes with. Thus for users who are bothering with disabling passwordless sudo, usingdoas
in place ofsudo
in at least some Qubes should result in an even harder-to-breach first line of defense.For obvious reasons, users who are leaving passwordless sudo enabled on all of their Qubes will not see any significant security benefit from this change.
Completion criteria checklist
(This section is for developer use only. Please do not modify it.)
The text was updated successfully, but these errors were encountered: