Fossil SCM

Swapped Let's Encrypt's advice for ssl_ciphers in the nginx TLS config for Qualys SSL Labs' advice.

wyoung 2019-01-21 10:51 trunk
Commit 8f2ec29248de7a7c90abd2a36100ae07453375a6ea857aae44ebd9cc02a18249
1 file changed +9 -2
--- www/tls-nginx.md
+++ www/tls-nginx.md
@@ -280,11 +280,11 @@
280280
281281
ssl_stapling on;
282282
ssl_stapling_verify on;
283283
284284
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”;
286286
ssl_session_cache shared:le_nginx_SSL:1m;
287287
ssl_prefer_server_ciphers on;
288288
ssl_session_timeout 1440m;
289289
290290
These are the common TLS configuration parameters used by all domains
@@ -326,11 +326,17 @@
326326
around it.
327327
328328
Running a TLS certificate checker against your site occasionally is a
329329
good idea. The most thorough service I’m aware of is the [Qualys SSL
330330
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.
332338
333339
<a id=”hsts”></a>There are a few things you can do to get an even better
334340
grade, such as to enable [HSTS][hsts], which prevents a particular
335341
variety of [man in the middle attack][mitm] where our HTTP-to-HTTPS
336342
permanent redirect is intercepted, allowing the attacker to prevent the
@@ -585,8 +591,9 @@
585591
[hsts]: https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security
586592
[lja]: https://en.wikipedia.org/wiki/Logjam_(computer_security)
587593
[mitm]: https://en.wikipedia.org/wiki/Man-in-the-middle_attack
588594
[nest]: https://www.nginx.com/blog/http-strict-transport-security-hsts-and-nginx/
589595
[ocsp]: https://en.wikipedia.org/wiki/OCSP_stapling
596
+[qslc]: https://github.com/ssllabs/research/wiki/SSL-and-TLS-Deployment-Best-Practices
590597
[qslt]: https://www.ssllabs.com/ssltest/
591598
[scgi]: https://en.wikipedia.org/wiki/Simple_Common_Gateway_Interface
592599
[vps]: https://en.wikipedia.org/wiki/Virtual_private_server
593600
--- 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

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button