Fossil SCM
Swapped Let's Encrypt's advice for ssl_ciphers in the nginx TLS config for Qualys SSL Labs' advice.
Commit
8f2ec29248de7a7c90abd2a36100ae07453375a6ea857aae44ebd9cc02a18249
Parent
83c902be72fa460…
1 file changed
+9
-2
+9
-2
| --- www/tls-nginx.md | ||
| +++ www/tls-nginx.md | ||
| @@ -280,11 +280,11 @@ | ||
| 280 | 280 | |
| 281 | 281 | ssl_stapling on; |
| 282 | 282 | ssl_stapling_verify on; |
| 283 | 283 | |
| 284 | 284 | ssl_protocols TLSv1 TLSv1.1 TLSv1.2; |
| 285 | - ssl_ciphers "ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SH | |
| 285 | + ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256”; | |
| 286 | 286 | ssl_session_cache shared:le_nginx_SSL:1m; |
| 287 | 287 | ssl_prefer_server_ciphers on; |
| 288 | 288 | ssl_session_timeout 1440m; |
| 289 | 289 | |
| 290 | 290 | These are the common TLS configuration parameters used by all domains |
| @@ -326,11 +326,17 @@ | ||
| 326 | 326 | around it. |
| 327 | 327 | |
| 328 | 328 | Running a TLS certificate checker against your site occasionally is a |
| 329 | 329 | good idea. The most thorough service I’m aware of is the [Qualys SSL |
| 330 | 330 | Labs Test][qslt], which gives the site I’m basing this guide on an “A” |
| 331 | -rating at the time of this writing. | |
| 331 | +rating at the time of this writing. The long `ssl_ciphers` line above is | |
| 332 | +based on [their advice][qslc]: the default nginx configuration tells | |
| 333 | +OpenSSL to use whatever ciphersuites it considers “high security,” but | |
| 334 | +some of those have come to be considered “weak” in the time between that | |
| 335 | +judgement and the time of this writing. By explicitly giving the list of | |
| 336 | +ciphersuites we want OpenSSL to use within nginx, we can remove those | |
| 337 | +that become considered weak in the future. | |
| 332 | 338 | |
| 333 | 339 | <a id=”hsts”></a>There are a few things you can do to get an even better |
| 334 | 340 | grade, such as to enable [HSTS][hsts], which prevents a particular |
| 335 | 341 | variety of [man in the middle attack][mitm] where our HTTP-to-HTTPS |
| 336 | 342 | permanent redirect is intercepted, allowing the attacker to prevent the |
| @@ -585,8 +591,9 @@ | ||
| 585 | 591 | [hsts]: https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security |
| 586 | 592 | [lja]: https://en.wikipedia.org/wiki/Logjam_(computer_security) |
| 587 | 593 | [mitm]: https://en.wikipedia.org/wiki/Man-in-the-middle_attack |
| 588 | 594 | [nest]: https://www.nginx.com/blog/http-strict-transport-security-hsts-and-nginx/ |
| 589 | 595 | [ocsp]: https://en.wikipedia.org/wiki/OCSP_stapling |
| 596 | +[qslc]: https://github.com/ssllabs/research/wiki/SSL-and-TLS-Deployment-Best-Practices | |
| 590 | 597 | [qslt]: https://www.ssllabs.com/ssltest/ |
| 591 | 598 | [scgi]: https://en.wikipedia.org/wiki/Simple_Common_Gateway_Interface |
| 592 | 599 | [vps]: https://en.wikipedia.org/wiki/Virtual_private_server |
| 593 | 600 |
| --- www/tls-nginx.md | |
| +++ www/tls-nginx.md | |
| @@ -280,11 +280,11 @@ | |
| 280 | |
| 281 | ssl_stapling on; |
| 282 | ssl_stapling_verify on; |
| 283 | |
| 284 | ssl_protocols TLSv1 TLSv1.1 TLSv1.2; |
| 285 | ssl_ciphers "ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SH |
| 286 | ssl_session_cache shared:le_nginx_SSL:1m; |
| 287 | ssl_prefer_server_ciphers on; |
| 288 | ssl_session_timeout 1440m; |
| 289 | |
| 290 | These are the common TLS configuration parameters used by all domains |
| @@ -326,11 +326,17 @@ | |
| 326 | around it. |
| 327 | |
| 328 | Running a TLS certificate checker against your site occasionally is a |
| 329 | good idea. The most thorough service I’m aware of is the [Qualys SSL |
| 330 | Labs Test][qslt], which gives the site I’m basing this guide on an “A” |
| 331 | rating at the time of this writing. |
| 332 | |
| 333 | <a id=”hsts”></a>There are a few things you can do to get an even better |
| 334 | grade, such as to enable [HSTS][hsts], which prevents a particular |
| 335 | variety of [man in the middle attack][mitm] where our HTTP-to-HTTPS |
| 336 | permanent redirect is intercepted, allowing the attacker to prevent the |
| @@ -585,8 +591,9 @@ | |
| 585 | [hsts]: https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security |
| 586 | [lja]: https://en.wikipedia.org/wiki/Logjam_(computer_security) |
| 587 | [mitm]: https://en.wikipedia.org/wiki/Man-in-the-middle_attack |
| 588 | [nest]: https://www.nginx.com/blog/http-strict-transport-security-hsts-and-nginx/ |
| 589 | [ocsp]: https://en.wikipedia.org/wiki/OCSP_stapling |
| 590 | [qslt]: https://www.ssllabs.com/ssltest/ |
| 591 | [scgi]: https://en.wikipedia.org/wiki/Simple_Common_Gateway_Interface |
| 592 | [vps]: https://en.wikipedia.org/wiki/Virtual_private_server |
| 593 |
| --- www/tls-nginx.md | |
| +++ www/tls-nginx.md | |
| @@ -280,11 +280,11 @@ | |
| 280 | |
| 281 | ssl_stapling on; |
| 282 | ssl_stapling_verify on; |
| 283 | |
| 284 | ssl_protocols TLSv1 TLSv1.1 TLSv1.2; |
| 285 | ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256”; |
| 286 | ssl_session_cache shared:le_nginx_SSL:1m; |
| 287 | ssl_prefer_server_ciphers on; |
| 288 | ssl_session_timeout 1440m; |
| 289 | |
| 290 | These are the common TLS configuration parameters used by all domains |
| @@ -326,11 +326,17 @@ | |
| 326 | around it. |
| 327 | |
| 328 | Running a TLS certificate checker against your site occasionally is a |
| 329 | good idea. The most thorough service I’m aware of is the [Qualys SSL |
| 330 | Labs Test][qslt], which gives the site I’m basing this guide on an “A” |
| 331 | rating at the time of this writing. The long `ssl_ciphers` line above is |
| 332 | based on [their advice][qslc]: the default nginx configuration tells |
| 333 | OpenSSL to use whatever ciphersuites it considers “high security,” but |
| 334 | some of those have come to be considered “weak” in the time between that |
| 335 | judgement and the time of this writing. By explicitly giving the list of |
| 336 | ciphersuites we want OpenSSL to use within nginx, we can remove those |
| 337 | that become considered weak in the future. |
| 338 | |
| 339 | <a id=”hsts”></a>There are a few things you can do to get an even better |
| 340 | grade, such as to enable [HSTS][hsts], which prevents a particular |
| 341 | variety of [man in the middle attack][mitm] where our HTTP-to-HTTPS |
| 342 | permanent redirect is intercepted, allowing the attacker to prevent the |
| @@ -585,8 +591,9 @@ | |
| 591 | [hsts]: https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security |
| 592 | [lja]: https://en.wikipedia.org/wiki/Logjam_(computer_security) |
| 593 | [mitm]: https://en.wikipedia.org/wiki/Man-in-the-middle_attack |
| 594 | [nest]: https://www.nginx.com/blog/http-strict-transport-security-hsts-and-nginx/ |
| 595 | [ocsp]: https://en.wikipedia.org/wiki/OCSP_stapling |
| 596 | [qslc]: https://github.com/ssllabs/research/wiki/SSL-and-TLS-Deployment-Best-Practices |
| 597 | [qslt]: https://www.ssllabs.com/ssltest/ |
| 598 | [scgi]: https://en.wikipedia.org/wiki/Simple_Common_Gateway_Interface |
| 599 | [vps]: https://en.wikipedia.org/wiki/Virtual_private_server |
| 600 |