freedomofpress / securedrop-client

a Qt-based GUI for SecureDrop journalists 📰🗞️
GNU Affero General Public License v3.0
41 stars 40 forks source link

build: package `securedrop-qubesdb` and `securedrop-whonix-config` #2032

Closed cfm closed 4 months ago

cfm commented 4 months ago

Status

Ready for review

Description

Towards freedomofpress/securedrop-workstation#1039:

  1. package template-from-qubesdb in securedrop-qubesdb; and
  2. package a one-shot systemd service in securedrop-whonix-config to configure Whonix at the VM level, obviating Salt from the dom0 level.

Test Plan

  1. Start make build-debs. While it runs...
  2. On sd-app, eyeball your /var/lib/keys/tor/app-journalist.auth_private and then delete it.
  3. Once the packages are ready, manually copy securedrop-qubesdb and securedrop-whonix-config to whonix-gateway-17 and install them.
  4. Shut down whonix-gateway-17.
  5. Enable the securedrop-whonix-config Qubes service on sd-whonix.
  6. Restart sd-whonix.
  7. [ ] On sd-whonix, /var/lib/keys/tor/app-journalist.auth_private has been created with the expected contents, ownership (debian-tor:debian-tor) and permissions (0600).
  8. Restart sys-whonix.
  9. [ ] On sys-whonix, no /var/lib/tor/keys/tor/app-journalist.auth_private exists.

Checklist

If these changes modify code paths involving cryptography, the opening of files in VMs or network (via the RPC service) traffic, Qubes testing in the staging environment is required. For fine tuning of the graphical user interface, testing in any environment in Qubes is required. Please check as applicable:

If these changes add or remove files other than client code, the AppArmor profile may need to be updated. Please check as applicable:

cfm commented 3 months ago

Outstanding feedback addressed, with one question still open, in #2051.