Skip to content
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

Update documentation for Qubes 4.1 #112

Merged
merged 6 commits into from
Jul 11, 2022
Merged

Conversation

eloquence
Copy link
Member

This does not include hardware-specific documentation updates or screenshot updates.

Partially resolves #104 (except for hardware-specific updates)
Resolves #108
Resolves #110
Resolves #111

Status

Ready for review

Test plan

  • Review visually for inconsistencies, errors, or parts of https://workstation.securedrop.org/ that haven't been updated yet but should be.
  • Ideally, at least one person should try to perform a prod install following the revised docs.

@@ -1,4 +1,4 @@
Upgrading to Fedora 35
Upgrading to Fedora 36
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can remove this section on 4.1.1, which ships with fedora-36. Unless 4.1.1 is released as this is being reviewed, I'd recommend merging this PR as-is, as it'll be useful to have this in the commit history in case we need to reinstate the section with the next version bump.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also referred to in #109, which will need to be revised (or updated post-merge) if this section is removed for Qubes 4.1.1.

@@ -445,30 +461,6 @@ To revoke this configuration change later or correct a typo, you can use the ``d
Troubleshooting installation errors
-----------------------------------

"Recurse failed: none of the specified sources were found"
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As discussed, we have not had reports of this issue in quite some time, despite many install runs.

~~~~~~~~~~~~~~~~~~~~~~~~~~

See :doc:`upgrading_fedora`.

Install Whonix 16
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Qubes 4.1 ships with Whonix 16.


After the command exits, confirm that you see an entry "Service: sys-usb" in the Qubes menu.

Apply ``dom0`` updates (estimated wait time: 15-30 minutes)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For 4.1.0 in particular, this is critical due to the broken update check logic. This should no longer be an issue on 4.1.1, but it still seems to me that having qubes-dom0-update as an independent step makes sense, just in case of any QSBs since the stable release.


.. code-block:: sh

sudo qubesctl state.sls qvm.sys-usb
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@creviera I've copied this command from freedomofpress/securedrop-workstation#769 (comment) but have not tested it. If I read the later comments correctly, we may also want to add a hint for USB keyboard users to run sudo qubesctl state.sls qvm.usb-keyboard?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is worth clarifying - enabling USB keyboard support is risky security-wise (speaking as someone who managed to badUSB their own laptop by accident a while back!) and should only be done if absolutely necessary.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My workaround in freedomofpress/securedrop-workstation#769 (comment) is:

Just noting my workaround is to run sudo qubesctl state.sls qvm.sys-usb which uses the correct disposable template (for 4.1.1-rc this is fedora-26-dvm). And I also have to run sudo qubesctl state.sls qvm.usb-keyboard to fix Denied qubes.InputKeyboard from sys-usb to dom0 errors.

Reboot seems to be necessary for thumb drives to be show up in the Devices menu under the USB Devices section and to be able to attach drives to VMs.

Both steps were required for me to get around the issue. There may be a way to fix the mapping of internal hardware so that we don't have to run the keyboard salt state. Let me know if you'd like me to investigate next Monday (or potentially this Friday).

Copy link
Contributor

@sssoleileraaa sssoleileraaa Jul 7, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or, let me clarify... there are two issues: (1) sys-usb is not created because the Qubes installer incorrectly thinks I have a USB keyboard attached (sudo qubesctl state.sls qvm.sys-usb fixes that one), and (2) error popups will appear from time to time that say Denied qubes.InputKeyboard from sys-usb to dom0 - I can troubleshoot to see if these popups only show up when we are attaching a thumb drive (sudo qubesctl state.sls qvm.usb-keyboard fixes that one but you're right that we will want to develop a safer workaround)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, I actually see those Denieds on my daily machine as well, on plugging in a Yubikey (haven't tried with just a usb stick). So the docs should include both.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've added this additional step, plus a verification step for USB support, in 69ec8eb. (I've not further verified these commands.)

@zenmonkeykstop zenmonkeykstop self-assigned this Jul 7, 2022
Copy link
Contributor

@zenmonkeykstop zenmonkeykstop left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes look good on visual review - will do a run through of the installation before approving.

@sssoleileraaa
Copy link
Contributor

Changes also look good to me @eloquence - I can troubleshoot #112 (comment) in the next few days.

eloquence added 2 commits July 7, 2022 13:53
This does not include hardware-specific documentation updates
or screenshot updates.
@eloquence eloquence force-pushed the install-docs-updates-41 branch from 7468333 to aca0c5e Compare July 7, 2022 20:54
@eloquence
Copy link
Member Author

(Rebased to pick up screenshot updates in #113)

@eloquence
Copy link
Member Author

eloquence commented Jul 7, 2022

The template configuration screen (where sys-usb etc. are configured) is available only after the install/reboot, on the first boot. Clarified this ordering in 3f4501c and addressed a couple of other ordering issues.

@eloquence
Copy link
Member Author

In the default config (which we recommend), sys-usb and sys-firewall are disposable. Therefore, our previous migration guide for Fedora updates is incorrect on a fresh install -- users also have to manually create a fedora-36-dvm to switch from fedora-34-dvm to fedora-36-dvm.

I've clarified this in ed667e7. Once again, all those steps will not be required with Qubes 4.1.1 (but will be for any future version that ships with an EOL template).

@eloquence
Copy link
Member Author

Because the default scrollback length is not very generous and easily exceeded by our Salt output, I've added an explicit step to enable infinite scrollback in 7b8edcf.

@@ -291,7 +312,7 @@ With the key and configuration available in ``dom0``, you're ready to set up Sec

[securedrop-workstation-temporary]
enabled=1
baseurl=https://yum.securedrop.org/workstation/dom0/f25
baseurl=https://yum.securedrop.org/workstation/dom0/f32
name=SecureDrop Workstation Qubes initial install bootstrap

- Download the SecureDrop Workstation config package to the curent working directory with the command:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One difference here is that I get prompted to accept the import of the Qubes 4 release key:

dnf download securedrop-workstation-dom0-config
Fedora 36 - x86_64                              3.3 MB/s |  81 MB     00:24    
Fedora 36 openh264 (From Cisco) - x86_64        1.8 kB/s | 2.5 kB     00:01    
Fedora 36 - x86_64 - Updates                    3.3 MB/s |  21 MB     00:06    
Qubes OS Repository for VM (updates)            1.2 kB/s | 833  B     00:00    
Qubes OS Repository for VM (updates)            2.3 MB/s | 2.3 kB     00:00    
Importing GPG key 0x9E2795E9:
 Userid     : "Qubes OS Release 4 Signing Key"
 Fingerprint: 5817 A43B 283D E5A9 181A 522E 1848 792F 9E27 95E9
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-qubes-4-primary
Is this ok [y/N]: y
Qubes OS Repository for VM (updates)             60 kB/s | 137 kB     00:02    
SecureDrop Workstation Qubes initial install bo 436  B/s | 2.4 kB     00:05    
securedrop-workstation-dom0-config-0.7.0-1.fc32 136 kB/s | 125 kB     00:00    

seems like the right key, but it is an extra prompt.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Made note of the prompt in 69ec8eb

@zenmonkeykstop
Copy link
Contributor

Instructions are working for me, holding off on approval until the optional USB steps are added (I didn't encounter the issue FWIW)

@eloquence eloquence force-pushed the install-docs-updates-41 branch from ed9dcfa to 69ec8eb Compare July 8, 2022 17:39
Copy link
Contributor

@zenmonkeykstop zenmonkeykstop left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with changes - the usb keyboard workaround is sub-optimal, but that's not the docs' fault.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants