← Back to Table of Contents

Choosing Cipher Suites: Avoid and Prefer

Configuring cipher suites is one of the most impactful security decisions you make when setting up a TLS server. The wrong choices can leave you vulnerable to known attacks. The right choices give you strong encryption with forward secrecy.

Avoid (Disable These)

These should be disabled on every server:

Prefer (Use These)

Every cipher suite in this list uses ECDHE (forward secrecy) and AEAD encryption (GCM or ChaCha20-Poly1305). If you only enable these, you’re covered.

Server Preference vs Client Preference

When the client sends its list of supported cipher suites, the server can either:

Server preference is recommended. It gives you control over which cipher suite is selected.

Tools for Testing

testssl.sh: A comprehensive command-line tool that tests a server’s TLS configuration, including cipher suites, protocols, vulnerabilities, and certificate details.

nmap: nmap --script ssl-enum-ciphers -p 443 example.com lists all cipher suites a server supports.

SSL Labs (ssllabs.com): A web-based tool by Qualys that grades your TLS configuration from A+ to F. Aim for A or A+.

Mozilla SSL Configuration Generator: Generates recommended cipher suite configurations for Apache, Nginx, HAProxy, and other servers. Offers three profiles: Modern (TLS 1.3 only), Intermediate (TLS 1.2+), and Old (maximum compatibility).


Next: TLS Records: How Data Is Framed

← Previous ChapterNext Chapter →