Recientemente, se ha publicado una nueva vulnerabilidad en Diffie-Hellman, conocida informalmente como 'logjam', para la cual se ha reunido esta página que sugiere cómo contrarrestar la vulnerabilidad:
Tenemos tres recomendaciones para implementar correctamente Diffie-Hellman para TLS:
- Deshabilite Exportar conjuntos de cifrado. A pesar de que los navegadores modernos ya no admiten suites de exportación, los ataques FREAK y Logjam permiten que un atacante hombre en el medio engañe a los navegadores para que usen criptografía de grado de exportación, después de lo cual se puede descifrar la conexión TLS. Las cifras de exportación son un remanente de la política de la era de la década de 1990 que impidió que se exportaran protocolos criptográficos fuertes desde Estados Unidos. Ningún cliente moderno confía en las suites de exportación y hay pocas desventajas en deshabilitarlas.
- Implementar (efímero) Curva elíptica Diffie-Hellman (ECDHE). El intercambio de claves Diffie-Hellman de curva elíptica (ECDH) evita todos los ataques criptoanalíticos factibles conocidos, y los navegadores web modernos ahora prefieren ECDHE sobre el campo finito original, Diffie-Hellman. Los algoritmos de registro discreto que utilizamos para atacar a los grupos Diffie-Hellman estándar no obtienen una ventaja tan fuerte de la precomputación, y los servidores individuales no necesitan generar curvas elípticas únicas.
- Genera un grupo fuerte y único de Diffie Hellman . Millones de servidores utilizan unos pocos grupos fijos, lo que los convierte en un objetivo óptimo para la precomputación y el posible espionaje. Los administradores deben generar grupos únicos de Diffie-Hellman de 2048 bits o más fuertes utilizando primos "seguros" para cada sitio web o servidor.
¿Cuáles son los pasos de mejores prácticas que debo seguir para asegurar mi servidor según las recomendaciones anteriores?
apache-2.2
ssl
apache-2.4
httpd
vulnerability
Christophe De Troyer
fuente
fuente
Respuestas:
Del artículo que vinculó , hay tres pasos recomendados para protegerse contra esta vulnerabilidad. En principio, estos pasos se aplican a cualquier software que pueda usar con SSL / TLS, pero aquí trataremos los pasos específicos para aplicarlos a Apache (httpd) ya que ese es el software en cuestión.
Tratemos los cambios de configuración que haremos en 2. a continuación (
!EXPORT
cerca del final de laSSLCipherSuite
línea es cómo deshabilitaremos los conjuntos de cifrado de exportación)Para ello, es necesario editar algunos ajustes en los archivos de configuración de Apache - a saber
SSLProtocol
,SSLCipherSuite
,SSLHonorCipherOrder
para tener una configuración de "mejores prácticas". Algo como lo siguiente será suficiente:Nota: en cuanto a qué
SSLCipherSuite
configuración usar, esto siempre está cambiando, y es una buena idea consultar recursos como este para verificar la última configuración recomendada.Para hacerlo, puedes correr
openssl dhparam -out dhparams.pem 2048
.Tenga en cuenta que esto generará una carga significativa en el servidor mientras se generan los parámetros: siempre puede solucionar este problema potencial generando los parámetros en otra máquina y utilizando
scp
o similares para transferirlos al servidor en cuestión para su uso.Para usar estos recientemente generados
dhparams
en Apache, desde la Documentación de Apache :(énfasis mío)
que luego es seguido por un parámetro DH estándar de 1024 bits. A partir de esto, podemos inferir que los parámetros DH generados a medida pueden simplemente agregarse a los relevantes
SSLCertificateFile
en cuestión.Para hacerlo, ejecute algo similar a lo siguiente:
cat /path/to/custom/dhparam >> /path/to/sslcertfile
Alternativamente, según la subsección de Apache del artículo que vinculó originalmente, también puede especificar el archivo dhparams personalizado que ha creado si prefiere no alterar el archivo de certificado en sí mismo, por lo tanto:
SSLOpenSSLConfCmd DHParameters "/path/to/dhparams.pem"
en cualquier configuración de Apache que sea relevante para su implementación particular de SSL / TLS, generalmente en
conf.d/ssl.conf
oconf.d/vhosts.conf
pero esto diferirá dependiendo de cómo haya configurado Apache.Vale la pena señalar que, según este enlace ,
En Debian Wheezy, actualice apache2 a 2.2.22-13 + deb7u4 o posterior y openssl a 1.0.1e-2 + deb7u17. El SSLCipherSuite anterior no funciona perfectamente, en su lugar use lo siguiente según este blog :
Debe verificar si su versión de Apache es posterior a estos números de versión dependiendo de su distribución, y si no, actualícela si es posible.
Una vez que haya realizado los pasos anteriores para actualizar su configuración y reiniciado el servicio Apache para aplicar los cambios, debe verificar que la configuración sea la deseada al ejecutar las pruebas en SSLLabs y en el artículo relacionado con esta vulnerabilidad en particular.
fuente
Basado en un parche de Winni Neessen, publiqué una solución para Apache / 2.2.22 (Debian Wheezy, quizás también utilizable en Ubuntu): https://flo.sh/debian-wheezy-apache2-logjam-fix/ - thx . para tu retroalimentación.
fuente
En lugar de seguir la ruta compleja de los 'hacks' anteriores, considere cambiar a nginx como su principal software de servidor web (no solo el almacenamiento en caché o el proxy). Obviamente, parece más a la altura de los estándares actuales, en cuanto a seguridad, que los viejos motores apache. Al usar el repositorio nginx, le brinda un motor web estable más actualizado que apache.
Me cambié por completo. Me ahorró una gran cantidad de tiempo de resolución de problemas con respecto a TLS y, para nuestras configuraciones, también liberó una gran cantidad de RAM al mismo tiempo. De hecho, encontré el empleo de nginx refrescantemente simple y directo, en comparación con la gran cantidad de complicaciones de configuración de httpd / apache a las que me había acostumbrado. Podría ser una cuestión de gustos, me había vuelto bastante fluido en httpd / apache rewrite / config / maintenance antes de convertirme, y fue más fácil de lo que temía. Hay información reciente apropiada sobre la configuración de nginx disponible en línea, y su base de usuarios es enorme, muy activa y amigable con el soporte. https://news.netcraft.com/wp-content/uploads/2018/11/wpid-wss-top-1m-share.png
fuente