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

Update Intermediate security policy for AWS ALB #81

Merged
merged 1 commit into from
Feb 18, 2020
Merged

Update Intermediate security policy for AWS ALB #81

merged 1 commit into from
Feb 18, 2020

Conversation

sonicdoe
Copy link
Contributor

Updates the Intermediate configuration for Amazon Web Services’s Application Load Balancer to ELBSecurityPolicy-FS-1-2-Res-2019-08 which was added on October 8, 2019.

This policy is the same as the previous ELBSecurityPolicy-TLS-1-2-2017-01 but removes support for AES128-GCM-SHA256, AES128-SHA256, AES256-GCM-SHA384, and AES256-SHA256.

Here’s a table comparing the TLS 1.2 cipher suites of the Intermediate configuration, the previous ELBSecurityPolicy-TLS-1-2-2017-01 security policy, and the new ELBSecurityPolicy-FS-1-2-Res-2019-08 security policy:

Intermediate TLS 1.2 FS 1.2 Res
ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES128-SHA256 ECDHE-ECDSA-AES128-SHA256
ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA256
ECDHE-ECDSA-CHACHA20-POLY1305 ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-RSA-CHACHA20-POLY1305 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-GCM-SHA384
DHE-RSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES256-SHA384 ECDHE-ECDSA-AES256-SHA384
DHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-SHA384 ECDHE-RSA-AES256-SHA384
AES128-GCM-SHA256
AES128-SHA256
AES256-GCM-SHA384
AES256-SHA256

@april april requested a review from gene1wood February 14, 2020 17:25
@april
Copy link
Contributor

april commented Feb 14, 2020

@gene1wood, this looks fine to me, but I thought I'd run it by you to see if you had any caveats.

@jrchamp
Copy link
Contributor

jrchamp commented Feb 14, 2020

I have very little love for old versions of Windows or Internet Explorer, but I do want to note that's why the DHE-RSA suites are present in Intermediate. If you're okay dropping them, then at least you're doing it on purpose and not on accident. ❤️

@sonicdoe
Copy link
Contributor Author

I fully agree with keeping compatibility with Internet Explorer 11 on Windows 7 as specified for the Intermediate configuration. Looking at mozilla/server-side-tls#178 (comment), another requirement seems to be keeping compatibility even if the server uses a certificate with an RSA key.

For AWS ALB, I think this is taken care of by ECDHE-RSA-AES128-SHA256 which is not present in the Intermediate configuration but is present in both the old and new security policy. The corresponding IANA name, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, is listed on Qualys SSL Labs’s user agent capabilities page.

@april
Copy link
Contributor

april commented Feb 15, 2020

Yep, that was my thought as well. Basically they prefer ECDHE-RSA-AES128-SHA256 over DHE-RSA-AES128-GCM-SHA256, for IE11 support. I don't think either one of them is particularly wrong: they're both somewhat outdated cipher suites and you have to pick one to keep around.

@jrchamp
Copy link
Contributor

jrchamp commented Feb 17, 2020

Sorry! I missed the fact that the table is not aligned. I read the first column (which is 100% FS and AEAD) and didn't realize the second and third columns were completely different.

This change is a definite improvement because nothing at the Intermediate level is being lost by this change (comparing the before "middle" and the after "right" columns). Not that they're likely to make changes after the fact, but it would make me a bit happier if @awslabs dropped ECDHE-ECDSA-AES128-SHA256 and ECDHE-ECDSA-AES256-SHA384 from that preset.

@sonicdoe
Copy link
Contributor Author

Sorry, I definitely see how the table can be confusing. To be clear, the old and new security policies are the same except for the new one no longer including AES128-GCM-SHA256, AES128-SHA256, AES256-GCM-SHA384, and AES256-SHA256 (the last four in the middle column).

As to the Intermediate configuration, the security policy shares the first four cipher suites but does not include any ChaCha20-Poly1305 and DHE cipher suites (the last four in the first column). Instead, it includes ECDHE-ECDSA-AES128-SHA256, ECDHE-RSA-AES128-SHA256, ECDHE-ECDSA-AES256-SHA384, and ECDHE-RSA-AES256-SHA384.

Looking at the AWS documentation, there’s no security policy stricter than this.

Copy link
Contributor

@jrchamp jrchamp left a comment

Choose a reason for hiding this comment

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

Marking approved so that it is clear my prior concern has been fully resolved, even though I have no real power. Thank you @sonicdoe!

@april
Copy link
Contributor

april commented Feb 18, 2020

I haven't heard from @gene1wood, but I think my concerns have been allayed here. :)

@april april merged commit 519c1cb into mozilla:master Feb 18, 2020
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.

3 participants