-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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 default SSL ciphers #4813
Conversation
Update default SSL ciphers
Codecov Report
@@ Coverage Diff @@
## master #4813 +/- ##
=========================================
Coverage ? 58.48%
=========================================
Files ? 88
Lines ? 6714
Branches ? 0
=========================================
Hits ? 3927
Misses ? 2360
Partials ? 427 Continue to review full report at Codecov.
|
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: aledbf, ElvinEfendi The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
After upgrading to ingress-nginx Looking at the SSL configuration generator you shared it says it should work for "Safari 9" but appearantly it doesn't even for Safari 10.1.2. |
I suspect that besides desired removal of weak SSL ciphers, problem arose because order of ones which remained has changed unwantedly. Will test and report back. |
@sslavic I got my hands on that Safari and opened up howsmyssl.com. This is the result:
None of these is listed in the |
@rihardssceredins please use https://www.ssllabs.com/ssltest/analyze.html to check your site. In particular, for Safari (iOS) you can check this https://www.ssllabs.com/ssltest/viewClient.html?name=Safari&version=9&platform=iOS%209&key=114 |
@rihardssceredins you can change the default ciphers using https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#ssl-ciphers |
@aledbf thank you, will do. P.S. Adding these 4 ciphers made SSLLabs pass all handshake simulations.
|
Those 4 are exactly ones which were dropped from default ssl ciphers list in nginx config. Found an article explaining why AES-CBC based ciphers like ECDHE-ECDSA-AES256-SHA384 (i.e. TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384) are considered weak compared to AES-GCM equivalents like ECDHE-ECDSA-AES256-GCM-SHA384 (TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384). So all is good, for wider (older and less secure) client support one can configure nginx with weaker ciphers, and the more secure list is valid default. |
Faced the same issue. When I upgrade nginx-ingress controller from 0.26.2 to 0.27.1, we were suddenly flagged by weak TLS cipher suites by ssl scanners. |
We are still being flagged for missing following two Cipher Suites in 0.30.0: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 This is preventing us from upgrading nginx ingress controller. Created an issue here: #5490 |
Would it be possible to flag something like this as a breaking change in the future? |
What this PR does / why we need it:
Some of the current default ciphers are weak (now)
Follow https://ssl-config.mozilla.org/#server=nginx&server-version=1.17.4&config=intermediate
Which issue this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)
format, will close that issue when PR gets merged): fixes #Special notes for your reviewer: