How to disable TLS 1.0, TLS 1.1 on Apache
Look in the /etc/letsencrypt/ folder for a configuration file. Let's Encrypt adds an entry in the sites-enabled/-le-ssl.conf file:
Include /etc/letsencrypt/options-ssl-apache.conf
You will need to update the SSLProtocol & SSLCipherSuite directives in that file too.
Letsencrypt by default will write this in /etc/letsencrypt/options-ssl-apache.conf
.
Check to make sure is included in your server configuration.
SSLEngine on
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
</VirtualHost>
Open this file and edit as below.
SSLEngine on
#we comment out whatever Letsencrypt give here
#SSLProtocol all -SSLv2 -SSLv3
#We disabled TLS 1.0/1.1 and SSL 2.0/3.0 here
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
#Comment out whatever Letsencrypt give by default for SSLCipherSuite
#SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305 .....
#Add this line instead of what Letsencrypt added as SSLCipherSuite
#This is to ensure the use of SSL encryption with a high degree of protection.
SSLCipherSuite HIGH:!aNULL:!MD5:!3DES
SSLHonorCipherOrder on
SSLCompression off
Go back to the SSL Server Test and Clear Cache. Then re-run the Test
With a current Ubuntu 18.04 LTS, we have Apache 2.4.29 and the problem is not reproducible.
The following configuration in /etc/apache2/sites-enables/default-ssl.conf
switches off the unwanted protocol versions:
# Suppress TLSv1.0 and TLS v1.1
SSLProtocol +TLSV1.2 +TLSv1.3
I put it close to the end of the file before </VirtualHost>
.