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

Uses grsecurity-patched kernels for all templates #169

Merged
merged 2 commits into from
Oct 19, 2018

Conversation

conorsch
Copy link
Contributor

@conorsch conorsch commented Oct 18, 2018

Closes #156.

Installs FPF-maintained custom kernels in the workstation TemplateVMs. Includes updates to config tests to confirm grsec-patched kernels are running.

Testing

  1. Run make all in dom0 and confirm no errors.
  2. Run make test in dom0 and confirm no errors.
  3. Confirm you can download and view a test submission. A plaintext submission should be displayed in gedit in a DisposableVM.

I also confirmed that a JPG submission was displayed successfully, but it first tried to open Firefox, failed, then tried and succeeded with /usr/bin/display. The error message regarding Firefox is ugly, but we should resolve that behavior as part of #158, not here.

Note also that we intend to remove these custom apt logic for the VM config via #157 in the near future. This PR still allows us to start using custom kernels and shake out the issues as they arise.

Conor Schaefer added 2 commits October 18, 2018 11:04
Using metapackages for config and kernel install. Requires HVM
virtualization mode, as well as an empty string for kernel setting, to
opt out of the Qubes-supplied kernels, and use what's inside the VM.

Installing from the "apt-test-qubes" repo, using the test signing key.
Tried to make the test DRY, covering:

  * HVM virtualization mode is set
  * Qubes-managed kernel disabled
  * Expected exact version of kernel is running

Works well.
@conorsch
Copy link
Contributor Author

Just flagging that this PR should be merged before the securedrop-proxy package inclusion (#161) changes land, reason being the apt repo logic is already presented here, and required for that implementation, as well. In the meantime, I'll branch from this work to keep going.

@conorsch
Copy link
Contributor Author

N.B. the Whonix-based VMs do not use grsec:

Haven't tested modifying those with grsecurity-patched, but we can circle back after #138 & #161. The Tor Browser application will definitely crash under grsec, without custom PaX flags, but the Python native client may be A-OK.

Copy link
Contributor

@emkll emkll left a comment

Choose a reason for hiding this comment

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

Amazing work @conorsch , the diff is very clean, and everything works as advertised: tests pass, and i can decrypt/display submissions.

To address potential concerns regarding memory overhead of using HVM virtualization with grsecurity kernels: based on my local testing opening 10 submissions (depending on the application used to open the file), each HVM qube consume 600MB of memory average (for comparison, my email qube uses over 1GB, and sd-journalist, whonix-workstation based qube uses 1.1GB).

@emkll emkll merged commit 500ec44 into master Oct 19, 2018
@emkll emkll deleted the 156-grsec-kernel-for-template branch October 19, 2018 15:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create securedrop-workstation TemplateVM
2 participants