Cifras SSL endurecidas para Nginx como AWS / Cloudfront Custom Origin

0

Sobre la base de recomendaciones , recientemente intentamos reforzar nuestra configuración de SSL de Nginx contra Ataques de BESTIA / CRIMEN / INCUMPLIMIENTO con la siguiente estrofa:

ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-RC4-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA:RC4-SHA;

Resulta que usamos AWS Cloudfront para distribuir activos estáticos, y usamos nuestro Nginx para servir los archivos como un origen personalizado. Sin embargo, desde la restricción de los cifrados permitidos, las ubicaciones de borde de Cloudfront de repente no pudieron negociar conexiones seguras con Nginx.

Si bien no puedo encontrar en ningún lugar que documentos de AWS sus cifrados preferidos, un discusión en los foros de AWS sugiere que habilitar el cifrado MD5 solucionará el problema.

Al no ser un experto en la materia, no estoy completamente seguro de cómo integrar lo que funciona para AWS con lo que funciona para una configuración segura. Tengo entendido que MD5 es una "salsa débil" como lo hacen los cifrados. ¿Sería aceptable habilitar el cifrado MD5 para las ubicaciones de recursos estáticos que necesita Cloudfront, y usar la stanza endurecida ssl_ciphers para todo lo demás, o eso abre un poco la brecha en la armadura?

Además, ¿cuál sería la formulación correcta de la stanza ssl_ciphers ?

    
pregunta David Eyk 14.08.2013 - 19:50
fuente

3 respuestas

4

A partir de hoy (agosto de 2013), las debilidades conocidas de MD5 no tienen ningún impacto en absoluto sobre la seguridad de SSL / TLS. Los problemas con MD5 pueden provocar problemas con X.509 certificados , pero esto es un negocio de CA y no está relacionado con su elección de conjuntos de cifrado.

En ese sentido, RC4 es en realidad más débil que MD5. RC4 induce sesgos medibles, que rara vez tienen alguna importancia, pero al menos son reales.

Si entiendo su problema correctamente, Cloudfront se conectará a su servidor como un cliente SSL; luego, basta con ejecutar en su servidor una herramienta de monitoreo de red (por ejemplo, Wireshark ) para capturar un intento de conexión desde la máquina de Cloudfront; El primer mensaje SSL de esa máquina, el ClientHello , enumerará las versiones de protocolo y las suites de cifrado que admite la máquina de Cloudfront. Si desea saber qué admite realmente su servidor (es decir, el efecto de su configuración), pruebe esta herramienta , o esa si se puede contactar con su servidor "desde Internet". Compara las listas, encuentra lo que falta.

    
respondido por el Tom Leek 14.08.2013 - 22:10
fuente
3

La documentación de Amazon Cloudfront dice que solo son compatibles con los cifrados AES128-SHA1 y RC4-MD5. Intente habilitar AES128-SHA1, aunque no es tan bueno como AES256, es mejor que RC4.

enlace

    
respondido por el John Hardin 29.01.2014 - 16:19
fuente
1

Para lo que vale, la respuesta de John Hardin fue correcta cuando se escribió, pero ha habido algunas buenas noticias. En agosto de 2014, AWS anunció soporte para nuevas suites de cifrado AES , Incluyendo los agradables ECDHE utilizados en la pregunta. Esa configuración ahora debería funcionar perfectamente con CloudFront.

La documentación del paquete de cifrado que se incluye anteriormente incluye la nueva lista.

    
respondido por el Matt Nordhoff 23.08.2014 - 08:42
fuente

Lea otras preguntas en las etiquetas