Intro
Heartbleed, Beast attack, Drown attack. Hace unos años pensábamos que el protocolo SSL era sólido como una roca, una especie de Superman, cuya kriptonita era el ataque del ‘man in the middle’. Sin embargo resulta que el protocolo SSLv3 ha demostrado ser más flojo que un muelle de guita y los ciberatacantes se ponen las pilas cada vez con más ahinco para tratar de romper la seguridad de nuestros servidores (léase datos, archivos, cuentas bancarias, fotos sexis, etc.).
Por ese motivo es imprescindible hacer una auditoría de seguridad SSL de nuestros servidores. La mejor herramienta que conozco, al menos hasta el momento, es la que proporciona on-line Qualys SSL Labs
Poniendo la URL del servidor a auditar (solamente escanea servidores en el puerto habitual: 443) realiza una serie de tests cuyos resultados determinan la calificación final del servidor. Obtener una buena nota en este examen no es difícil si tenemos en cuenta una serie de cuestiones, como trabajar con un sistema operativo relativamente reciente (a fecha de hoy a partir de Debian 7 el sistema es relativamente reciente), ser cuidadosos con los certificados intermedios y realizar unas mínimas modificaciones en el archivo de configuración de apache.
Modificaciones en el archivo de configuración de apache
Si trabajamos con un sistema operativo relativamente moderno (a partir de Debian 7 como he dicho antes, o centos 7: no he probado el centos 6), lo único que tenemos que hacer es añadir las siguientes líneas dentro del apartado VirtualDomain del archivo de configuración de apache:
Header always add Strict-Transport-Security "max-age=15768000" SSLHonorCipherOrder on SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS SSLProtocol all -SSLv2 -SSLv3
Hemos de tener en cuenta que para conseguir el ‘+’ de la calificación A+, es necesaria la línea:
Header always add Strict-Transport-Security "max-age=15768000"
En algunos casos, al reiniciar el servidor, se queja de que no tiene el módulo ‘headers’ activado. Para ello hemos de activarlo. En debian:
# a2enmod headers
Una vez reiniciado el servidor, obtendremos la deseada calificación A+ en Qualys SSL Labs.