Not every TLS configuration is secure. TLS 1.0 and 1.1 are deprecated, some cipher suites are weak.
Recommended Configuration — Nginx¶
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256';
ssl_prefer_server_ciphers off;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m;
ssl_stapling on;
ssl_stapling_verify on;
Testing¶
# SSL Labs: ssllabs.com/ssltest/
openssl s_client -connect example.com:443 -tls1_3
testssl.sh https://example.com
What to NEVER Use¶
- SSL 2.0, 3.0, TLS 1.0, 1.1
- RC4, 3DES, NULL ciphers
- Self-signed in production
Key Takeaway¶
TLS 1.2 minimum, TLS 1.3 ideal. AEAD cipher suites, OCSP stapling, test on SSL Labs.
securityssltlshttps