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

apache: disable TLS 1.0 and 1.1 and strengthen ciphers #941

Merged
merged 1 commit into from Mar 23, 2019

Conversation

@kyrofa
Copy link
Member

commented Mar 16, 2019

Security is always a balancing act. The current cipher list in the snap prioritizes older clients while maintaining reasonable security for all. These settings are routinely verified using both SSL Labs and testssl.sh, and the snap continues to get an A+ rating on SSL Labs. However, one of the ways we support older clients is by still using TLS 1.0 and 1.1, and also using CBC ciphers.

It's been a few years, and as several folks have pointed out, it's time to re-evaluate this balancing act for the cipher list in particular. To go through this exercise, I started with the modern config from Mozilla's config generator, locked it down enough that nothing could possibly complain, and then loosened it until I was reasonably happy with the clients still supported while still ensuring that neither analysis tool took issue with it. Our support client list has gone from this:

Screenshot from 2019-03-16 12-29-40

To this:

Screenshot from 2019-03-16 18-45-55

You'll notice that this greatly reduces the number of clients supported, but in my opinion they are old enough it shouldn't be an issue. I did massage the cipher suite to make sure we continued to support Internet Explorer on Windows 7 (such users are still fairly well-represented in today's statistics), and I'm more or less happy with this. Please speak up if you're not. I will halt this if anyone takes issue with it, and it will be easy to roll back in the future as well if it ends up being a scream test.

Anyway, both SSL Labs and testssl.sh are happy, and we've managed to get rid of TLS 1.0 and 1.1, limit ciphers to those that support forward secrecy, well as get rid of CBC ciphers. As a result, this PR resolves #616 and also resolves #737.

@kyrofa kyrofa force-pushed the kyrofa:feature/616/ssl_revamp branch from 1611336 to 8c6d788 Mar 16, 2019

apache: disable TLS 1.0 and 1.1 and strengthen ciphers
Balancing client support and security, now seems a good time to disable
TLS 1.0 and 1.1 and update the cipher list in such a way that both
SSL Labs and testssl.sh are happy:

- Limit ciphers to those that support forward secrecy
- Get rid of CBC ciphers

Resolve #616
Resolve #737

Signed-off-by: Kyle Fazzari <kyrofa@ubuntu.com>

@kyrofa kyrofa force-pushed the kyrofa:feature/616/ssl_revamp branch from 8c6d788 to e880e72 Mar 17, 2019

@kyrofa kyrofa merged commit f192143 into nextcloud:develop Mar 23, 2019

4 checks passed

Snap Builder Snap built and released to 'beta/pr-941'
Details
ci/circleci: build Your tests passed on CircleCI!
Details
ci/circleci: static-tests Your tests passed on CircleCI!
Details
fixupbot No fixup commits found. The commit history is clean
Details

@kyrofa kyrofa deleted the kyrofa:feature/616/ssl_revamp branch Mar 23, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant
You can’t perform that action at this time.