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

Merge 0.4.4 post-release changes into develop #2483

Merged
merged 8 commits into from
Nov 2, 2017

Conversation

redshiftzero
Copy link
Contributor

Status

Ready for review

Description of Changes

Fixes one checkbox in #2474.

Testing

Does CI pass?

Deployment

None, these changes are already in prod: https://securedrop.org/news/securedrop-044-released

Checklist

If you made changes to the system configuration:

Conor Schaefer and others added 6 commits October 23, 2017 17:52
Removes non-default apt behavior setting force=yes on package
installations, which has the catastrophic affect of installing apt
packages without checking authentication first.

There are three packages total affected by this vulnerability:

  * deb.torproject.org-keyring
  * ntp
  * tor

The force=yes flag was introduced on the tor and deb.torproject.org-keyring
packages via e578b9a, and on the ntp
package when it was first added to the config in
79e7d54.
Uses a single entrypoint in the top-level "securedrop-admin" script to
provide a convenient method for fetching, compressing, and encrypting
the logs for sending to FPF. We've often discussed the need for a
convenient action to prepare logs for support purposes, and 0.4.4
provides the perfect opportunity to ship the feature.

The GPG fingerprint used for encrypted the tarball is not customizable;
future versions of the script should provide override capability via
`--recipient` or similar.
Updates the Ansible version to 2.3.2, in order to address CVE-2017-7481 [0],
which was patched in 2.3.1 [1].

Updates the Ansible version throughout the project, including both
the hash-pinned requirements file for SecureDrop Administrators, and the
sundry requirements files used by developers and in CI for testing. We
have a sanity check on forcing a supported Ansible version via a
callback plugin, so that hardcoded version check has been incremented,
as well.

[0] https://access.redhat.com/security/cve/CVE-2017-7481
[1] https://github.com/ansible/ansible/blob/70c58e74ab492ea17df893bb4692f3b64a755858/CHANGELOG.md#231-ramble-on---2017-06-01
Expiration date has been increased:

  2017-10-20 -> 2018-10-05

The fingerprint for the SecureDrop Release Signing Key remains the same:

    22245C81E3BAEB4138B36061310F561200F4AD77

The Ansible role uses the ASCII-armored file to set up apt repo access
for the servers at install time. Thereafter, the `securedrop-keyring`
package will manage trust via automatic updates going forward.

The new keyring was generated via the command:

    gpg --no-default-keyring --keyring \
    install_files/securedrop-keyring/etc/apt/trusted.gpg.d/securedrop-keyring.gpg \
    --import  \
    install_files/ansible-base/roles/install-fpf-repo/files/fpf-signing-key.pub

Noting these changes here because the keyring file is binary format, and
therefore difficult to inspect changes for.
Conflict resolved manually in install_files/securedrop-keyring/DEBIAN/control
@redshiftzero redshiftzero requested a review from a user October 24, 2017 22:38
@redshiftzero
Copy link
Contributor Author

The merge commit 1732352 lists the file that had conflicts manually resolved during the merge

@emkll
Copy link
Contributor

emkll commented Oct 26, 2017

It appears this error is related to the Ansible version bump, I've reproduced it in local staging environment while trying to update the develop-requirements.

edit: This appears to be the problem #1146

@msheiny msheiny mentioned this pull request Nov 2, 2017
Back in May (d803bc7b8c4), when we were still under ansible 2.2.x we had to pull in
the synchronize module from upstream in order to get rsync playing nice
with docker. Now that we are on 2.3+ there is some piece of code we are
missing from upstream that is causing problems. Lets drop our fork and
rely on upstream synchronize module now :)
@msheiny
Copy link
Contributor

msheiny commented Nov 2, 2017

b3b3b1c -- seems to be getting us farther fingers crossed -- seems like it was a conflict with ansible 2.3+ and our forked synchronize module. That was needed when we were running under <ansible 2.3 which had a lot of missing functionality.

@msheiny
Copy link
Contributor

msheiny commented Nov 2, 2017

TASK [Dump instance config] ****************************************************
Thursday 02 November 2017 19:55:23 +0000 (0:00:00.042) 0:01:10.755 *****
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: RepresenterError: cannot represent an object: 54.183.244.219
fatal: [localhost]: FAILED! => {"failed": true, "msg": "Unexpected failure during module execution.", "stdout": ""}

I saw this the other day... think I got a fix for it. Its probably molecule related.

Honestly I started going into the molecule source-code but had to time-box myself here
 since I was able to find the fix quickly by trial/error. Seems to be an
 underlying python yaml module issue with how it is being called.
 Anyways - I'm not super sure what `molecule_to_yaml` was buying us
 here.
@redshiftzero
Copy link
Contributor Author

Thanks @heartsucker @msheiny !

@redshiftzero redshiftzero merged commit bdad3be into develop Nov 2, 2017
@redshiftzero redshiftzero deleted the merge-0.4.4-changes-into-develop branch November 2, 2017 22:03
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.

4 participants