Portada del sitio > Sistemas > Administración > WWW > NGinx > OCSP stapling en Nginx con StartSSL
OCSP stapling en Nginx con StartSSL
Viernes 19 de febrero de 2016, por
En este pequeño howto veremos como mejorar el rendimiento de SSL y como mejorar la seguridad de los certificados y prevención de algunos ataques derivados de SSL.
- Configuraremos OCS Stapling
- Nos protegeremos del ataque Logjam
- Evitar Poodle Attack
- Configuraremos SSL Cyphers
- Acelerar el protocolo SSL con Spdy
- Comprobar resultado en SSLabs
Lo haremos de la forma más fácil para que tan solo tengáis de copiar pegar la configuración para conseguir A+ en SSLabs.
Configuración de OCSP Stapling
Stapling o grapado del inglés es una técnica utilizada en servidores web que utilizan el protocolo SSL el Stapling tiene como beneficios un aumento de la privacidad de los usuarios y una mejora en la latencia del protocolo SSL ya que no tiene de realizar cada vez que se conecta un usuario una consulta OCSP ( Online Certificate Status Protocol )
# mkdir /etc/nginx/certs |
Si sigues estos pasos al final del Articulo adjuntare el bloque que debéis pegar en nginx.conf
Protección contra Logjam
LogJam es un ataque que explota una vulnerabilidad en el intercambio de claves Diffie-Hellman, un algoritmo utilizado para establecer conexiones seguras entre dos partes. Dicho ataque permite a un tercero interceptar datos de la conexión.
Siguiendo estos pasos estaremos a salvo de este ataque.
# cd /etc/nginx/certs |
Evitar Poodle Attack
Poodle Attack (Padding Oracle On Downgraded Legacy Encryption)
Es un ataque que permite interceptar datos en una comunicación SSL como el ataque man in the midle.
Para solucionar el problema tan solo tendremos de borrar alguna entrada referente a la versión 3 de TLS en la directiva ssl_protocol de nginx.conf
Configuración en Nginx
Por ultimo para acabar con toda la configuración y que se apliquen todos los pasos realizados con anterioridad tan solo tenemos de borrar de /etc/nginx/nginx.conf
todo lo referente a ssl y dejarlo así.
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4"; |
Acelerar protocolo SSL con Spdy
Spdy es una reimplementación del protocolo SSL realizada por Google y que ya viene soportada en las ultimas versiones de Nginx. Spdy permite hacer varias peticiones de forma concurrente acelerando la velocidad de carga de SSL también envía menos paquetes pero estos son de mayor densidad ahorrando así el número de peticiones al servidor. Además comprime las cabeceras y elimina las innecesarias.
Para utilizar spdy puedes utilizar lo siguiente en el virtualhost de nginx
listen 198.50.238.53:443 ssl spdy; |
En este ejemplo aparece la ip del servidor tendrías de cambiar por la vuestra.
Por ultimo no debemos olvidarnos de realizar un restart de nginx para que los cambios surjan efecto
# service nginx restart |
Comprobar resultado en SSLabs
Una vez realizados todos los pasos, es el momento de probar que todo a funcionado y de sentirnos orgullosos de nuestro servidor. para ello iremos a https://www.ssllabs.com/ssltest/ introducimos la url de nuestro servidor y pasado un buen rato que dura el test nos encontraremos con una bonita pantalla así

Eso es todo!