Ajustando NGINX para TLS 1.2

Si llegaste aquí es por que estas buscando hacer mas seguro tu servidor NGINX.

Posiblemente llegaste aquí buscando soluciones contra ataques en encriptación tales como BEAST o POODLE.

Lo que tienes que hacer es editar tu archivo nginx.conf y revisar si existe alguna configuración relacionada a SSL y sustituirla directamente por:

    ssl_protocols TLSv1.2;
#  openssl dhparam -out /etc/nginx/dhparam.pem 4096
    ssl_dhparam /etc/nginx/dhparam.pem;

    ssl_prefer_server_ciphers on;
   ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
ssl_ecdh_curve secp384r1;

    ssl_session_cache shared:TLS:5m;
    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 8.8.4.4 8.8.8.8;

Finalmente tienes que ejecutar en la terminal

openssl dhparam -out /etc/nginx/dhparam.pem 4096

Este ultimo comando puede ser un proceso largo dependiendo del la capacidad de procesamiento de tu servidor.

Una vez terminado, reiniciar el nginx y probar los sitios web.

 

Tu servidor solo aceptara ahora conexiones usando TLS 1.2 con los tipos de encripción mas seguros y compatibles para navegadores modernos.