¿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"
Respuestas:
Primero necesita activar SSL / TLS en su
nginx.conf
:Las dos
listen
líneas habilitan SSL en su conexión IPv4 e IPv6. Si no tiene IPv6, puede omitir la segundalisten
línea.Supongo que su certificado de servidor está en
/etc/ssl
. Si usa otra ruta, cambiaría las dos últimas líneas.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 .
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 .
fuente
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
fuente
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? .
fuente