Require forward-secret ciphers on Apache
Why it matters
The server accepts ciphers where one stolen private key can decrypt all recorded past traffic. Forward-secret ciphers (ECDHE) are supported by every current client.
Staged change. Do this in stages and check each one before the next, so a mistake does not break your site or your mail.
The fix
- Find every existing setting with grep -Rn -E 'SSLProtocol|SSLCipherSuite' /etc/apache2 /etc/httpd /etc/letsencrypt. A VirtualHost or included line overrides the global one, so replace each SSLCipherSuite value (on RHEL-family systems the global line is in /etc/httpd/conf.d/ssl.conf), run apachectl configtest and reload.
- Keep the previous lines commented out beside the new ones, so you can roll back by restoring them and reloading if a client you need breaks.
/ etc/ apache2/ mods-available/ ssl.conf
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305 SSLHonorCipherOrder off
Related
Scan your domain to see whether this applies to you.