TLS (del inglés Transport Layer Security) es un protocolo de cifrado usado encima de la capa HTTP para generar conexiones HTTPS. TLS proporciona conexiones seguras vía navegador web entre un cliente y un servidor. TLS es el sucesor del protocolo SSL, que ha ido evolucionando en diferentes versiones desde el año 1999 hasta la actualidad.
Entre todas las versiones que hay de TLS hay las dos primeras, TLS 1.0 y TLS 1.1, han quedado en desuso debido a que tienes problemas de seguridad. Algunas compañías de navegadores han decidido dejar de utilizar esos protocolos para mostrar las webs. En la actualidad las versiones disponibles de TLS son la 1.2 y 1.3.
En el siguiente tutorial veremos como configurar Nginx para desactivar las dos primeras versiones.
Copia de seguridad de los ficheros
Podemos hacer una copia de los ficheros afectados, pero si tu proveedor dispone de la opción de crear instantáneas puedes crear una para tener una copia por si algo no funciona bien.
cp /etc/nginx/conf.d/ssl.conf /etc/nginx/conf.d/ssl.conf.old
Configuración general
Para configurar el servidor de Nginx debemos de modificar el fichero /etc/nginx/conf.d/ssl.conf
:
nano /etc/nginx/conf.d/ssl.conf
Tenemos que cambiar esto:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
Por esto:
ssl_protocols TLSv1.2 TLSv1.3;
Y recargamos la configuración de Nginx:
systemctl reload nginx
Configuración independiente de un dominio
Si tenemos una configuración especifica para un dominio dentro de /etc/nginx/sites-enabled/
y tenemos la regla ssl_protocols
configurada, deberemos de revisar que este parámetro esté configurado de la siguiente manera:
ssl_protocols TLSv1.2 TLSv1.3;
Comprobación con nmap
Ahora podemos comprobar que protocolos TLS utiliza nuestro servidor con el comando nmap
y este comando:
nmap --script ssl-enum-ciphers -p [IP_Servidor]
Deberemos de observar que ya no negocia con las versiones antiguas de TLS.
Comentarios