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

Switch Ubuntu APT sources to use HTTPS #7438

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from
Open

Conversation

legoktm
Copy link
Member

@legoktm legoktm commented Feb 3, 2025

Status

Ready for review

Description of Changes

Ubuntu now supports HTTPS on their primary mirrors, including archive.ubuntu.com and security.ubuntu.com.

While APT verifies integrity using PGP signatures, there have been a few vulnerabilities in APT that would've been prevented by also layering TLS on top.

No attempt is made to update the configuration on existing instances; instead this change will be made during the noble migration.

Fixes #3286.

Testing

How should the reviewer test this PR?

  • staging CI passes

Deployment

Any special considerations for deployment? Consider both:

  1. Upgrading existing production instances. -> taken care of during noble migration
  2. New installs. -> handled in this PR via ansible

Checklist

Ubuntu now supports HTTPS on their primary mirrors, including
archive.ubuntu.com and security.ubuntu.com.

While APT verifies integrity using PGP signatures, there have been a few
vulnerabilities in APT that would've been prevented by also layering TLS
on top.

No attempt is made to update the configuration on existing instances;
instead this change will be made during the noble migration.

Fixes #3286.
@legoktm legoktm marked this pull request as ready for review February 4, 2025 00:12
@legoktm legoktm requested a review from a team as a code owner February 4, 2025 00:12
Copy link
Member

Choose a reason for hiding this comment

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

No attempt is made to update the configuration on existing instances; instead this change will be made during the noble migration.

In that case, @legoktm, shouldn't these tests be parameterized on securedrop_target_platform? Otherwise, won't an Admin Workstation updated to v2.12 expect to see https:// URLs on a Focal-based Server running v2.12 still with http:// URLs?

Copy link
Member Author

Choose a reason for hiding this comment

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

Hmm, yes but also if someone does a focal fresh install on 2.12, then they'll also get HTTPS URLs.

But also with 2.12 we will enable noble fresh installs so maybe no one should be doing focal fresh installs at that point and we don't need to worry about it?

Or is tying this with the noble migration a bad idea and we should just have a mechanism to update the sources.list file outside of ansible installs regardless?

Copy link
Member

Choose a reason for hiding this comment

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

The case I'm concerned about is "upgrade to v2.12, but not yet Noble, and run testinfra", e.g.:

Time Admin Workstation tag Testinfra checks for Server OS version Server SecureDrop version URLs ?
0 2.11.1 http:// Focal 2.11.1 http://
1 2.12.0 https:// Focal 2.12.0 http://

Put another way, I read the current diff as saying: "If you've upgraded to v2.12, but haven't yet upgraded to Noble, then test_automatic_updates.py will fail." Am I contriving an edge case without consequence?

Or is tying this with the noble migration a bad idea and we should just have a mechanism to update the sources.list file outside of ansible installs regardless?

I think having largely separate installation and upgrade configuration paths is a bad idea, but I know we can't fix that here! :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Under Review
Development

Successfully merging this pull request may close these issues.

Use APT over HTTPS whenever possible
2 participants