-
Notifications
You must be signed in to change notification settings - Fork 47
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
4.1 support: sys-usb
DispVM compatibility and sd-log
qrexec loopback denial notification suppression
#764
Conversation
Question: Could it make sense to instruct users to set up sys-usb as persistent, and therefore avoid having to customize it in this manner? |
45c292d
to
7524bb4
Compare
I'd tend towards supporting default configurations in any case - that choice is made on one screen and changing any As far as I can tell, there's no real downside to this way of handling it, we get updates from the base template, we have our "permanent" customisations but get the benefits of |
sys-usb
DispVM compatibility and sd-log
qexec loopback denial notification suppressionsys-usb
DispVM compatibility and sd-log
qrexec loopback denial notification suppression
01e5ea1
to
59de9a0
Compare
(As discussed, I'll take this for a quick spin on my in-place-upgraded setup which uses 4.1 repos in the SecureDrop Workstation templates.) |
59de9a0
to
d33f28d
Compare
General note: Because exports also rely on On this system, both exports and logging don't work; I've not double-checked, but I doubt it's related to the changes on this branch. USB devices are auto-attached and show up in Nautilus, and I'm able to mount them manually in As for logging, I'm continuing to observe the issue I reported here: #751 (comment) - I've split this out into its own issue (#773). |
@eaon - does this sound like the right order of next steps:
There are some details we'll need to discuss around steps 3 and 4, which we can flesh out in the next sprint or two. |
I think you're right that this seems to be unrelated to this PR after reviewing the code changes here. But we'll have another opportunity to do a full round of testing against a prod-like environment in step 4. |
@creviera That order of operation looks totally right to me yes! |
I dug a bit further into why exports aren't working on my 4.1 system. The command appears to return no output, when the script expects output such as |
Dug a bit further into the export issue and indeed it's again a difference between the 4.0/4.1 version of |
Assigning to myself to test as soon as I have Qubes 4.1 installed (which I'll prioritize next week). |
Could someone confirm that we won't be able to see this PR's test plan pass until #775 is fixed? |
Based on my reading, this explains why export failed on my 4.1 fresh install. So I'm assuming this PR is blocked until #775 is fixed, probably using the solution @eloquence and marek hashed out in the issue (using Also, do we want to remove this test from this PR's test plan and not block on this issue? Or shall we consider it blocked? Looking for your feedback @eaon. |
FWIW, it doesn't look to me that any reviewer has successfully stepped through the full test plan on 4.1 yet, so it might be best to wait until the the #775 fix lands to ease testing this PR. It should be a pretty small fix. |
Okay, this should be unblocked now. Not sure when I'll be able to test next week, but probably on Tuesday, unless @cfm gets to it first with his recent fresh install of 4.1. |
…ions The Qubes OS 4.1 default configuration makes the `sys-usb` qube disposable, which interferes with our udev rule to automatically attach flash devices to `sd-devices`. This change clones the `fedora-34-dvm` qube as `sd-fedora-dvm`, where we henceforth add the necessary modifications, so `sys-usb` stays disposable, but with our modifications sticking around permanently. In 4.1 policy denials trigger a notification visible to the user - qexec loopback isn't supported in 4.0 either, but they're silent. Suppressing these notifications is only supported in the new policy format, so securedrop.Log rules are now there.
d33f28d
to
1bc59d8
Compare
I have Qubes 4.1 successfully installed and will test this tomorrow. |
(Review postponed at @creviera's request; removing my assignment and deferring to her for the current status update. :-) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM based on visual review and @eloquence's confirmation that there is no effect when sys-usb
is not disposable (we're not making main
unreleasable by merging this).
Once this PR and freedomofpress/securedrop-builder#339 are merged, we'll be able to test packages in nightlies
on apt-test. Yay! :)
Description of Changes
Fake "stacked" PR waiting for #751 being merged first. Towards #600.
The Qubes OS 4.1 default configuration makes the
sys-usb
qubedisposable, which interferes with our udev rule to automatically attach
flash devices to
sd-devices
. This change clones thefedora-34-dvm
qube as
sd-fedora-dvm
, where we henceforth add the necessarymodifications, so
sys-usb
stays disposable, but with our modificationssticking around permanently.
In 4.1 policy denials trigger a notification visible to the user -
qexec loopback isn't supported in 4.0 either, but they're silent.
Suppressing these notifications is only supported in the new policy
format, so
securedrop.Log
rules are now there.Fixes #755
Testing
sys-usb
is a DispVM:dom0
sdw-admin --apply
run, there are no error notifications along the lines of sd-log tries to log to itself, but loopback qrexec connections aren't supported #755sdw-admin --apply
successfully terminatesmake test
) pass (prerequisite: Releasesecuredrop-workstation-config
0.1.7 securedrop-builder#312 is fixed)Updater (4.1 only)
Client
sd-devices
(which boots if it is not running)Deployment
For new 4.1 installs both
sys-usb
DispVMs (default configuration) and AppVMs are supported, though I think we should advertise the default configuration in the docs.If migrated 4.0 installs keep modifications to their
sys-usb
AppVM during/after upgrade, the salt states should also continue to work as expected on 4.1.Checklist
If you have made changes to the provisioning logic
make test
) pass indom0