Ability to remove TLS 1.0 from httpd in CentOS 6

Thu 30 October 2014

Due to a bug in mod_ssl, the ability to remove TLS 1.0 (and only support TLS 1.1 and/or TLS 1.2) has not been available.  The fix has now made it to CentOS 6 and you can now fine-tune your cryptographic protocols with ease.

Before the fix my /etc/httpd/conf.d/ssl.conf file had this line:

SSLProtocol all -SSLv2 -SSLv3

This allows all SSL protocols except SSLv2 and SSLv3 to be used with httpd.  This isn't a bad solution but there are a couple of sites that I'd prefer to further lock down by removing TLS 1.0 and TLS [STRIKEOUT:1.2] 1.1.  With the fix now in mod_ssl my settings can now look like this:

SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

...and I'll only support TLS 1.2 and beyond.  Of course doing this will significantly reduce the number of clients that can connect to my server.  According to SSLLabs I'm blocking all IE users before IE 11, Android before 4.4.2, Java 7, and Firefox 24.2.0 ESR.  But luckily I really don't have a problem with any of these browsers for a couple of things I do so I'll likely tighten up security there and leave my more public sites alone.

Update (2014-12-12)

NSS and mod_nss for httpd wasn't discussed because it's not in use on my systems.  it should be noted that mod_nss can be similarly configured as mod_ssl however mod_nss does not support TLS 1.2 and you'll max out at TLS 1.1.

By Sparks, Category: Information Security

Tags: Apache HTTPD / mod_nss / mod_ssl / NSS / SSL / TLS / Cryptology /