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

Release SecureDrop 0.14.0 #4550

Closed
19 tasks done
redshiftzero opened this issue Jun 25, 2019 · 8 comments
Closed
19 tasks done

Release SecureDrop 0.14.0 #4550

redshiftzero opened this issue Jun 25, 2019 · 8 comments

Comments

@redshiftzero
Copy link
Contributor

redshiftzero commented Jun 25, 2019

This is a tracking issue for the upcoming release of SecureDrop 0.14.0 - tasks may get added or modified.

Feature freeze: EOD Pacific time, Tuesday, June 25
String freeze: EOD Pacific time, Tuesday, June 25
Pre-release announcement: Tuesday, July 2
Release date: Tuesday, July 9

Release manager: @redshiftzero
Deputy release manager: @creviera
Localization manager: @rmol
Deputy localization manager: @kushaldas

SecureDrop maintainers and testers: As you QA 0.14.0, please report back your testing results as comments on this ticket. File GitHub issues for any problems found, tag them "QA: Release", and associate them with the 0.14.0 milestone for tracking (or ask a maintainer to do so).

Test debian packages will be posted on https://apt-test.freedom.press signed with the test key. An Ansible playbook testing the upgrade path is here.

QA Matrix for 0.14.0

Test Plan for 0.14.0

Prepare release candidate (0.14.0~rc1)

Other pre-release tasks

  • Prepare and distribute pre-release messaging - @eloquence

Prepare release candidate (0.14.0~rc2)

  • Prepare 0.14.0-rc2 release changelog - @creviera
  • Prepare 0.14.0~rc2 - @creviera & @redshiftzero
  • Build debs and put up 0.14.0~rc2 on test apt server - @redshiftzero

After each test, please update the QA matrix and post details for Basic Server Testing, Application Acceptance Testing and 0.14.0-specific testing below in comments to this ticket.

Final release

  • Ensure builder in release branch is updated and/or update builder image - @emkll
  • Merge final translations - @rmol, @kushaldas
  • Push signed tag - @redshiftzero
  • Build final Debian packages for 0.14.0
  • Upload Debian packages to apt test
  • Pre-Flight: Test install and upgrade (both cron-apt on Trusty, and Ansible on Xenial) of 0.14.0 works w/ prod repo debs, test updater logic in Tails
  • Prepare and distribute release messaging - @eloquence

Post release

@redshiftzero redshiftzero pinned this issue Jun 25, 2019
@zenmonkeykstop
Copy link
Contributor

QA plan

  • NUC5s
  • NUC7s
  • Mac Minis
  • 1U servers in SF

0.14.0 QA Checklist

For both upgrades and fresh installs, here is a list of functionality that requires testing. You can use this for copy/pasting into your QA report. Feel free to edit this message to update the plan as appropriate.

If you have submitted a QA report already for a 0.14.0 release candidate with successful basic server testing and application acceptance testing sections, then you can skip these sections in subsequent reports, unless otherwise indicated by the Release Manager. This is to ensure that you focus your QA effort on the 0.14.0-specific changes as well as changes since the previous release candidate.

Environment

  • Install target: NUC5
  • Tails version: 3.14
  • Test Scenario: fresh install
  • SSH over Tor: yes
  • Release candidate: rc1
  • General notes:

Basic Server Testing

  • I can access both the source and journalist interfaces
  • I can SSH into both machines over Tor
  • AppArmor is loaded on app
    • 0 processes are running unconfined
  • AppArmor is loaded on mon
    • 0 processes are running unconfined
  • Both servers are running grsec kernels
  • iptables rules loaded
  • OSSEC emails begin to flow after install
  • OSSEC emails are decrypted to correct key and I am able to decrypt them
  • QA Matrix checks pass

Command Line User Generation

  • Can successfully add admin user and login

Administration

  • I have backed up and successfully restored the app server following the documentation here: https://docs.securedrop.org/en/latest/backup_and_restore.html
  • If doing upgrade testing, make a backup on 0.13.1 and restore this backup on 0.14.0 n/a
  • "Send Test OSSEC Alert" button in the journalist triggers an OSSEC alert and an email is sent.

Application Acceptance Testing

Source Interface

Landing page base cases
  • JS warning bar does not appear when using Security Slider high It's not a slider anymore but yup
  • JS warning bar does appear when using Security Slider Low
First submission base cases
  • On generate page, refreshing codename produces a new 7-word codename
  • On submit page, empty submissions produce flashed message
  • On submit page, short message submitted successfully
  • On submit page, file greater than 500 MB produces "The connection was reset" in Tor Browser quickly before the entire file is uploaded
  • On submit page, file less than 500 MB submitted successfully
Returning source base cases
  • Nonexistent codename cannot log in
  • Empty codename cannot log in
  • Legitimate codename can log in
  • Returning user can view journalist replies - need to log into journalist interface to test

Journalist Interface

Login base cases
  • Can log in with 2FA tokens
  • incorrect password cannot log in
  • invalid 2fa token cannot log in
  • 2fa immediate reuse cannot log in
Index base cases
  • Filter by codename works
  • Starring and unstarring works
  • Click select all selects all submissions
  • Selecting all and clicking "Download" works
Individual source page
  • You can submit a reply and a flashed message and new row appears
  • You cannot submit an empty reply
  • Clicking "Delete Source And Submissions" and the source and docs are deleted
  • You can click on a document and successfully decrypt using application private key

Basic Tails Testing

Updater GUI

After updating to this release candidate and running securedrop-admin tailsconfig

  • The Updater GUI appears on boot
  • Updating occurs without issue

0.14.0-specific changes

Preflight

  • Ensure the builder image is up-to-date on release day

These tests should be performed the day of release prior to live debian packages on apt.freedom.press

Basic testing

  • Install or upgrade occurs without error
  • Source interface is available and version string indicates it is 0.14.0
  • A message can be successfully submitted

Tails

  • The updater GUI appears on boot
  • The update successfully occurs to 0.14.0
  • After reboot, updater GUI no longer appears

@eloquence
Copy link
Member

Pre-release messaging WIP (still need to do an editing pass, but first comments welcome): https://docs.google.com/document/d/1Ek7HX6Lgt-vImL8b11mFk8zYUmOuyC2YKZg81McAYWM/edit#heading=h.9no1ej3j0v0j

@eloquence
Copy link
Member

@emkll
Copy link
Contributor

emkll commented Jul 4, 2019

0.13.1->0.14.0-rc2 in VMs (Completed - missing 24h logs/alert)

Findings

  • Logs (tar.gz and tar.gz.gpg are contained in /home/vagrant on both app and mon and /securedrop/install_files/ansible-base
  • The settings page opens a new tab for Tor Browser preference. We should consider instructing users to close that window prior to refreshing page.

Environment

  • Install target: VMs
  • Tails version: 3.14.2
  • Test Scenario: 0.13.1->0.14.0-rc2 Upgrade (via cron-apt)
  • SSH over Tor: No
  • Release candidate: RC2
  • General notes:

Basic Server Testing

  • I can access both the source and journalist interfaces
  • I can SSH into both machines over Tor
  • AppArmor is loaded on app
    • 0 processes are running unconfined
  • AppArmor is loaded on mon
    • 0 processes are running unconfined
  • Both servers are running grsec kernels
  • iptables rules loaded
  • OSSEC emails begin to flow after install
  • OSSEC emails are decrypted to correct key and I am able to decrypt them
  • QA Matrix checks pass

Command Line User Generation

  • Can successfully add admin user and login

Administration

  • I have backed up and successfully restored the app server following the documentation here: https://docs.securedrop.org/en/latest/backup_and_restore.html
  • If doing upgrade testing, make a backup on 0.13.1 and restore this backup on 0.14.0
  • "Send Test OSSEC Alert" button in the journalist triggers an OSSEC alert and an email is sent.

Application Acceptance Testing

Source Interface

Landing page base cases
  • JS warning bar does not appear when using Security Slider high
  • JS warning bar does appear when using Security Slider Low
First submission base cases
  • On generate page, refreshing codename produces a new 7-word codename
  • On submit page, empty submissions produce flashed message
  • On submit page, short message submitted successfully
  • On submit page, file greater than 500 MB produces "The connection was reset" in Tor Browser quickly before the entire file is uploaded
  • On submit page, file less than 500 MB submitted successfully
Returning source base cases
  • Nonexistent codename cannot log in
  • Empty codename cannot log in
  • Legitimate codename can log in
  • Returning user can view journalist replies - need to log into journalist interface to test

Journalist Interface

Login base cases
  • Can log in with 2FA tokens
  • incorrect password cannot log in
  • invalid 2fa token cannot log in
  • 2fa immediate reuse cannot log in
Index base cases
  • Filter by codename works
  • Starring and unstarring works
  • Click select all selects all submissions
  • Selecting all and clicking "Download" works
Individual source page
  • You can submit a reply and a flashed message and new row appears
  • You cannot submit an empty reply
  • Clicking "Delete Source And Submissions" and the source and docs are deleted
  • You can click on a document and successfully decrypt using application private key

Basic Tails Testing

Updater GUI

After updating to this release candidate and running securedrop-admin tailsconfig

  • The Updater GUI appears on boot
  • Updating occurs without issue (it updated to 0.13.1, as expected)

0.14.0-specific changes

0.14.0-rc2 specific changes

  • Installed version of securedrop-keyring should be 0.1.3
  • securedrop-admin logs completes without issue in Tails
    ❗ Logs (tar.gz and tar.gz.gpg are contained in /home/vagrant and /securedrop/install_files/ansible-base
  • Verify that the update process works when a release key is already in the GPG keychain in Tails, using the following commands in a terminal:
cd ~/Persistent/securedrop
gpg --recv-key "22245C81E3BAEB4138B36061310F561200F4AD77"   # use Tails' default keyserver
git checkout 0.14.0-rc2
./securedrop-admin update
git status    # should now be on 0.13.1 tag
  • Verify that the update process works when a release key is already in the GPG keychain in Tails, using the following commands in a terminal:
gpg --delete-keys "22245C81E3BAEB4138B36061310F561200F4AD77"
git checkout 0.14.0-rc2
./securedrop-admin update
git status    # should now be on 0.13.1 tag

@zenmonkeykstop
Copy link
Contributor

zenmonkeykstop commented Jul 5, 2019

0.14.0 QA Checklist

Environment

  • Install target: 2014 Mac Mini
  • Tails version: 3.14.2
  • Test Scenario: upgrade from 0.13.1
  • SSH over Tor: yes
  • Release candidate: 0.14.0-rc2
  • General notes:

Basic Server Testing

  • I can access both the source and journalist interfaces
  • [ x I can SSH into both machines over Tor
  • AppArmor is loaded on app
    • 0 processes are running unconfined
  • AppArmor is loaded on mon
    • 0 processes are running unconfined
  • Both servers are running grsec kernels
  • iptables rules loaded
  • OSSEC emails begin to flow after install
  • OSSEC emails are decrypted to correct key and I am able to decrypt them
  • QA Matrix checks pass

Command Line User Generation

  • Can successfully add admin user and login

Administration

  • I have backed up and successfully restored the app server following the documentation here: https://docs.securedrop.org/en/latest/backup_and_restore.html
  • If doing upgrade testing, make a backup on 0.13.1 and restore this backup on 0.14.0
  • "Send Test OSSEC Alert" button in the journalist triggers an OSSEC alert and an email is sent.

Application Acceptance Testing

Source Interface

Landing page base cases
  • JS warning bar does not appear when using Security Slider high
  • JS warning bar does appear when using Security Slider Low
First submission base cases
  • On generate page, refreshing codename produces a new 7-word codename
  • On submit page, empty submissions produce flashed message
  • On submit page, short message submitted successfully
  • On submit page, file greater than 500 MB produces "The connection was reset" in Tor Browser quickly before the entire file is uploaded
  • On submit page, file less than 500 MB submitted successfully
Returning source base cases
  • Nonexistent codename cannot log in
  • Empty codename cannot log in
  • Legitimate codename can log in
  • Returning user can view journalist replies - need to log into journalist interface to test

Journalist Interface

Login base cases
  • Can log in with 2FA tokens
  • incorrect password cannot log in
  • invalid 2fa token cannot log in
  • 2fa immediate reuse cannot log in
Index base cases
  • Filter by codename works
  • Starring and unstarring works
  • Click select all selects all submissions
  • Selecting all and clicking "Download" works
Individual source page
  • You can submit a reply and a flashed message and new row appears
  • You cannot submit an empty reply
  • Clicking "Delete Source And Submissions" and the source and docs are deleted
  • You can click on a document and successfully decrypt using application private key

Basic Tails Testing

Updater GUI

After updating to this release candidate and running securedrop-admin tailsconfig

  • The Updater GUI appears on boot
  • Updating occurs without issue

0.14.0-specific changes

0.14.0-rc2 specific changes

  • Installed version of securedrop-keyring should be 0.1.3
  • securedrop-admin logs completes without issue in Tails
  • Verify that the update process works when a release key is already in the GPG keychain in Tails, using the following commands in a terminal:
cd ~/Persistent/securedrop
gpg --recv-key "22245C81E3BAEB4138B36061310F561200F4AD77"   # use Tails' default keyserver
git checkout 0.14.0-rc2
./securedrop-admin update
git status    # should now be on 0.13.1 tag
  • Verify that the update process works when a release key is not already in the GPG keychain in Tails, using the following commands in a terminal:
gpg --delete-keys "22245C81E3BAEB4138B36061310F561200F4AD77"
git checkout 0.14.0-rc2
./securedrop-admin update
git status    # should now be on 0.13.1 tag

Preflight

  • Ensure the builder image is up-to-date on release day

These tests should be performed the day of release prior to live debian packages on apt.freedom.press

Basic testing

  • Install or upgrade occurs without error
  • Source interface is available and version string indicates it is 0.14.0
  • A message can be successfully submitted

Tails

  • The updater GUI appears on boot
  • The update successfully occurs to 0.14.0
  • After reboot, updater GUI no longer appears

@eloquence
Copy link
Member

Draft release messaging, with new content highlighted:
https://docs.google.com/document/d/1hkvnRcN8q3SDXidNDfsISogupm-l7JPuioPJSUMR1MA/edit

@eloquence
Copy link
Member

Release comms completed:

@emkll
Copy link
Contributor

emkll commented Jul 15, 2019

Last post-release tasks (upgrade boxes and roadmap update) have been completed, closing!

@emkll emkll closed this as completed Jul 15, 2019
@eloquence eloquence unpinned this issue Jul 15, 2019
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

No branches or pull requests

4 participants