Full Report
Recommended profiles to securely configure TLS for the most common versions and scenarios, with additional guidance for managing older versions.
Analysis Summary
# Best Practices: Using TLS to Protect Data
## Overview
These practices provide guidance on configuring Transport Layer Security (TLS) to protect data in transit. They address the need to maintain confidentiality and integrity across web and email services, moving away from obsolete protocols (SSL, TLS 1.0/1.1) toward modern, cryptographically resilient standards, including preparations for Post-Quantum Cryptography (PQC).
## Key Recommendations
### Immediate Actions
1. **Disable Obsolete Protocols:** Immediately disable SSL v2, SSL v3, TLS 1.0, and TLS 1.1 across all internet-facing services.
2. **Audit Cipher Suites:** Remove support for weak ciphers, specifically those using RC4, 3DES, or export-grade encryption.
3. **Deploy TLS 1.3:** Ensure TLS 1.3 is enabled as the preferred protocol for all web servers and load balancers.
4. **Verify Certificates:** Ensure all certificates use at least a 2048-bit RSA key or a 256-bit ECDSA key and are signed by a trusted Certificate Authority (CA).
### Short-term Improvements (1-3 months)
1. **Implement HSTS:** Deploy HTTP Strict Transport Security (HSTS) headers to enforce secure connections and prevent SSL stripping attacks.
2. **Secure Email Transport:** Configure STARTTLS for SMTP and implement DMARC/SPF/DKIM to validate email integrity.
3. **Automate Certificate Management:** Transition to automated renewal tools (e.g., ACME protocol) to prevent outages caused by expired certificates.
4. **External Scanning:** Use third-party tools to verify the "outbound" security of email systems.
### Long-term Strategy (3+ months)
1. **PQC Readiness:** Begin inventorying systems for Post-Quantum Cryptography (PQC) migration. Follow NCSC updates for hybrid key exchange implementation.
2. **Decommission Legacy Internal TLS:** Phase out TLS 1.2 in internal environments where possible, moving toward a TLS 1.3-only architecture.
3. **Certificate Pinning/CAA:** Implement Certificate Authority Authorization (CAA) DNS records to restrict which CAs can issue certificates for your domains.
## Implementation Guidance
### For Small Organizations
- **Managed Services:** Use cloud providers (AWS, Azure, Google Cloud) or CDNs (Cloudflare, Akamai) that manage TLS configurations and certificate renewals automatically.
- **Simplicity:** Stick to the "Standard Profile" (TLS 1.2 and 1.3) to ensure maximum compatibility with customer devices while remaining secure.
### For Medium Organizations
- **Centralized Termination:** Terminate TLS at a load balancer or reverse proxy to ensure consistent security policies across multiple backend servers.
- **Regular Testing:** Perform monthly automated scans of internet-facing endpoints to detect configuration drift.
### For Large Enterprises
- **Inventory Management:** Maintain a comprehensive registry of all certificates and their expiration dates.
- **Cryptographic Agility:** Design systems to allow for rapid updates to cipher suites and protocols (essential for the upcoming PQC transition).
- **Internal PKI:** Ensure internal Certificate Authorities follow the same rigorous standards as public CAs.
## Configuration Examples
*Note: Recommendations based on NCSC "Standard" profile.*
**Recommended Protocols:**
- TLS 1.3 (Preferred)
- TLS 1.2 (Minimum with secure cipher suites)
**Recommended Cipher Suites (TLS 1.2):**
- `TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256`
- `TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256`
- `TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384`
## Compliance Alignment
- **NIST SP 800-52 Rev. 2:** Guidelines for the Selection, Configuration, and Use of TLS Implementations.
- **PCI DSS 4.0:** Requires the use of "strong cryptography" (disallowing TLS 1.0/1.1).
- **NCSC Guidance:** Specifically aligned with UK government security standards for data in transit.
## Common Pitfalls to Avoid
- **Incomplete Chains:** Failing to install intermediate certificates, causing "untrusted" warnings on certain mobile devices or browsers.
- **Ignoring Outbound Mail:** Focusing only on web traffic while leaving email transmission (SMTP) in cleartext or using weak TLS versions.
- **Self-Signed Certificates in Production:** Using self-signed certs for public-facing apps, which trains users to ignore browser security warnings.
- **Neglecting Internal Traffic:** Leaving internal data unencrypted under the false assumption that the internal network is "trusted."
## Resources
- **NCSC Guidance:** hxxps[://]www[.]ncsc[.]gov[.]uk/guidance/using-tls-to-protect-data
- **SSL Labs Server Test:** hxxps[://]www[.]ssllabs[.]com/ssltest/
- **Mozilla SSL Configuration Generator:** hxxps[://]ssl-config[.]mozilla[.]org/
- **Check TLS (Email Testing):** hxxps[://]www[.]checktls[.]com/