
Cuando ingreso la versión de mi servidor (NGINX 1.16.0) y la versión OpenSSL (1.0.2k) en elGenerador de configuración SSL de MozillaRecibo una larga lista de cifrados SSL.
Por ejemplo,
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
Sin embargo cuando visitoCipherli.stsólo proporciona dos cifrados SSL para Nginx.
ssl_ciphers EECDH+AESGCM:EDH+AESGCM;
¿Tener menos cifrados disponibles reduce o compromete la seguridad? Si ofrezco menos opciones de cifrado a los clientes, ¿mejora el rendimiento o ajusta alguna otra característica importante?
Respuesta1
Una de las ventajas de TLS (y SSL antes de eso) es que el servidor y el cliente pueden (y normalmente deben) negociar y acordar un cifrado que se soporten mutuamente cuando se inicia una conexión segura.
La razón de esto es principalmente por compatibilidad: permite una introducción gradual de nuevos cifrados en lugar de romper la conectividad entre clientes y servidores que aún no admiten ese nuevo cifrado.
Eso es lo que sucedería cuando se utilizara un único cifrado, sin negociación. Luego, cuando una de las partes decide eliminar un cifrado antiguo y lo actualiza a uno nuevo y lo hace sin coordinarse con las otras partes, se interrumpe la conectividad. En una sola organización, coordinar una actualización simultánea de servidores y clientes ya es una tarea ardua, aunque es posible; en Internet en general, una actualización tan grande es, por supuesto, casi imposible.
Por lo tanto: la negociación de cifrado es buena. (Al menos por compatibilidad).
¿Tener menos cifrados disponibles reduce o compromete la seguridad?
No. Elnúmero de cifradosno determina la seguridad.
Son los propios cifrados los que proporcionan la seguridad.
Aunque algunos cifrados son relativamente más seguros que otros (algoritmos diferentes o el mismo algoritmo con longitudes de clave más largas y la capacidad de proporcionarseguridad delanterapueden hacer que algunos sean más seguros que otros) y otros son débiles o incluso rotos,No existe ningún beneficio de seguridad adicional al admitir sólo unos pocos y no todos los cifrados que cumplen con sus requisitos de seguridad.
(Con la ligera advertencia de que cada cifrado que admita también debe venir con una implementación en el software. Por lo tanto, más cifrados == más código == mayor probabilidad de errores de implementación...)
Si ofrezco menos opciones de cifrado a los clientes, ¿mejora el rendimiento o ajusta alguna otra característica importante?
No, aunque diferentes cifrados tendrán estadísticas de rendimiento significativamente diferentes y diferentes casos de uso, con la excepción de la advertencia anterior sobre cómo menos cifrados significan menos código y un menor riesgo en exploits de día cero.elnúmero de cifradosel soporte del lado del servidor no afecta el rendimientode cualquier manera relevante. No existe ningún beneficio de rendimiento adicional al admitir solo algunos y no todos los cifrados que cumplen con sus requisitos de seguridad.
Menos cifrados admitidos significan menos compatibilidad.(Porque normalmente restringe los servidores a los cifrados más recientes y potentes que los clientes más antiguos pueden no admitir y/o que podrían ser demasiado costosos desde el punto de vista computacional para ellos).
Registre las cadenas de User-Agent y haga un inventario de cuál será el impacto cuando actualice su configuración de seguridad de los servidores web haciendo referencia a una tabla comoCapacidades del agente de usuario de SSL Lab antemano.