I was doing a little cleanup on my webserver and started looking in to the state of TLS and forward security on my site. Between the Calomel Fx plugin and SSL Test at SSL Labs, I found quite a few shortcomings in today’s standards.
The first hurdle was getting good TLS1.2 support. This meant upgrading to Apache httpd 2.4. Annoying, but not painful. After some research, I came across this article by SSL Labs for a starting point for configuring the TLS cipher list. Written in August of 2013, I felt it was a bit dated with regards to the RC4 weakness and modified their cipher list to block RC4 as well.
Here is my current mod_ssl configuration. I sacrifice access for some clients, namely XP and Java 6, by disabling RC4. Given that XP is dead and there aren’t too many instances where Java would need to be browsing my simple blog, I am not concerned with locking them out.
SSLProtocol all -SSLv2 -SSLv3<br />
SSLHonorCipherOrder On<br />
SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH EDH+aRSA !RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS"
Update: Recently I discovered this post from the Qualy’s Security Lab discussing this very topic.