# TLS Hardening Reference

## Recommended Configuration (2026)
- **Minimum**: TLS 1.2 (TLS 1.3 preferred)
- **Cipher suites**: AEAD only (AES-256-GCM, ChaCha20-Poly1305)
- **Key exchange**: ECDHE with P-256 or X25519
- **Certificate**: RSA-2048 minimum, ECDSA P-256 preferred
- **HSTS**: `max-age=63072000; includeSubDomains; preload`
- **OCSP Stapling**: Enable

## Nginx Example
```nginx
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305;
ssl_prefer_server_ciphers off;
ssl_session_timeout 1d;
ssl_session_cache shared:MozTLS:10m;
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security "max-age=63072000" always;
```

## Post-Quantum Readiness
- Hybrid key exchange: X25519+ML-KEM-768 (Chrome/Firefox already support)
- Monitor NIST PQC standards: ML-KEM, ML-DSA, SLH-DSA
- Inventory all crypto: certificates, key sizes, algorithms
