¿Cómo habilitar TLS 1.2 en Nginx?


17

¿Cómo habilito TLS 1.1 y 1.2 para conexiones SSL en mi servidor Ubuntu 12.04? Estoy usando la siguiente versión de nginx y la biblioteca openssl.

$ ./nginx -v
nginx version: nginx/1.2.3

$ openssl version -a
OpenSSL 1.0.1 14 Mar 2012
built on: Tue Jun  4 07:26:06 UTC 2013
platform: debian-amd64
options:  bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx) 
compiler: cc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DOPENSSL_NO_TLS1_2_CLIENT -DOPENSSL_MAX_TLS1_2_CIPHER_LENGTH=50 -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
OPENSSLDIR: "/usr/lib/ssl"

¿Ya encontraste algo?
BigSack

¿Resolviste esto? La versión nginx que está utilizando es muy antigua. Puede encontrar útil la configuración SSL en este artículo de Ars Technica .
Paul

Respuestas:


14

Primero necesita activar SSL / TLS en su nginx.conf:

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name example.org;

    ssl_certificate /etc/ssl/example.org.crt;
    ssl_certificate_key /etc/ssl/private/example.org.key;

Las dos listenlíneas habilitan SSL en su conexión IPv4 e IPv6. Si no tiene IPv6, puede omitir la segunda listenlínea.

Supongo que su certificado de servidor está en /etc/ssl. Si usa otra ruta, cambiaría las dos últimas líneas.

ssl_protocols TLSv1.2 TLSv1.1 TLSv1;

Esto permite diferentes versiones de TLS. Todos los navegadores actuales pueden usar TLS1.2. Para navegadores más antiguos, escribí un pequeño tutorial sobre cómo habilitar configuraciones seguras .

ssl_ciphers 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-AES256-SHA:DHE-RSA-AES256-SHA;
ssl_prefer_server_ciphers on;

La primera línea establece los cifrados que debe usar su nignx. La segunda línea prefiere los conjuntos de cifrado en el lado del servidor (y no del cliente). Por lo tanto, puede utilizar cifrados fuertes (er).

Si ha terminado, su nginx debería usar TLS1.2. Si lo desea, puede agregar su sitio a un salón de la fama TLS1.2 y sentirse orgulloso. ;)

Sin embargo, hay varios métodos para mejorar la configuración. Sigo esta guía alemana para la configuración segura de nginx .


Ubuntu 12 deshabilita TLS 1.1 y TLS 1.2 por razones de interoperabilidad. Creo que recientemente habilitaron TLS 1.1, pero creo que todavía falta TLS 1.2. Consulte la versión de nivel inferior de OpenSSL es 1.0.0 y no es compatible con TLS 1.2 .

1

Existen numerosos avisos de seguridad que se han abordado en versiones posteriores de nginx. Si todavía está (6 meses después de la publicación?) En esta situación, considere seriamente la actualización; La configuración de TLS no importará si el servidor web en sí no es seguro. Consulte http://nginx.org/en/security_advisories.html para más detalles.

Si, por alguna razón, DEBE ejecutar esta versión de nginx, la información disponible sobre cómo habilitar conjuntos de cifrado fuertes con nginx (o Apache) aquí probablemente le sea útil: https://community.qualys.com/blogs/securitylabs/2013/08/ 05 / configuring-apache-nginx-and-openssl-for-forward-secret


0

¿Cómo habilito TLS 1.1 y 1.2 para conexiones SSL en mi servidor Ubuntu 12.04?

Creo que hay tres opciones.

Primero, no haga nada y use la versión de OpenSSL de Ubuntu 12. Creo que TLS 1.1 ahora es compatible, pero aún no tendrá TLS 1.2.

En segundo lugar, cree y mantenga su propio PPA . ¿Hay algunas instrucciones para hacerlo en Override Distro Package with Custom Package? Para completar, no hay archivos de paquetes personales existentes para Ubuntu y OpenSSL que ofrezcan los protocolos completos.

El tercero es actualizar a una versión posterior de Ubuntu, como Ubuntu 14. Estoy tratando de determinar si Ubuntu 14 los habilita a todos en este momento. ¿Ver Ubuntu 14, OpenSSL y los protocolos TLS? .

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.