Vulnerabilidad DROWN, una nueva amenaza SSL

Esta nueva vulnerabilidad no es tan crítica como el conocido Heartbleed pero es necesario la actualización de los sistemas SSL para mantener seguras las conexiones


Fernando Ortega @Fernando,

DROWN, la nueva vulnerabilidad para conexiones SSL

DROWN (Decrypting RSA with Obsolete and Weakened eNcryption) es una nueva amenaza para las conexiones SSL que afecta a millones de sites con HTTPS y frente a la cual la mejor prevención es la actualización de sistemas y la aplicación de parches de seguridad para impedir brechas de seguridad.

Un atacante puede explotar esta vulnerabilidad para utilizar el protocolo SSLv2 para desencriptar conexiones bajo TLS. En la actualidad el protocolo SSLv2 está desactivado en prácticamente todos los servidores SSL ya que se considera totalmente inseguro y obsoleto. Este ataque permite utilizar ese protocolo contra servidores que sólo aceptan TLS

En la práctica, no es tan fácil que un atacante consiga tener éxito en un ataque como lo sería en otras vulnerabilidades anteriores como HeartBleed, pero sí que en cualquier caso supone un riesgo, por lo que la recomendación es que todos los administradores de sistemas actualicen sus servidores con los parches de seguridad y actualizaciones lanzadas recientemente para los sitemas operativos más populares, o bien realizando actualizaciones manuales para OpenSSL.

La vulnerabilidad no compromete la clave privada de servidor. Sólo afecta a sesiones individuales y podría comprometer sólo a esas sesiones. Así pues, no hay necesidad de regenerar las claves SSL del servidor

¿Es mi servidor vulnerable a DROWN?

Respuesta corta: Depende de la configuración del servidor.

Respuesta larga: Sólo puedes estar seguro de que no es vulnerable o bien porque hayas actualizado y aplicado parches de seguridad, o bien porque ninguno de los servicios del servidor que comparten una clave privada tiene habilitado el protocolo SSLv2. Por ejemplo, un servidor Apache es vulnerable si comparte la clave privada con un servidor de email que sí tenga activado SSLv2

Configuraciones recomendadas

Como primera acción, se recomienda actualizar tanto OpenSSL como los servicios de servidor a la última versión disponible. Además, se recomienda tener en cuenta las siguientes directivas:

Apache

SSLProtocol All -SSLv2 -SSLv3

nginx

ssl_protocols TLSv1 TLSv1.1 TLSv1.2

Postfix

# Minimal recommended settings. Whenever the built-in defaults are
# sufficient, let the built-in defaults stand by deleting any explicit
# overrides. The default mandatory TLS protocols have never included
# SSLv2, check to make sure you have not inadvertently enabled it.
#
smtpd_tls_protocols = !SSLv2, !SSLv3
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
tlsproxy_tls_protocols = $smtpd_tls_protocols
tlsproxy_tls_mandatory_protocols = $smtpd_tls_mandatory_protocols

smtp_tls_protocols = !SSLv2, !SSLv3
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3
lmtp_tls_protocols = !SSLv2, !SSLv3
lmtp_tls_mandatory_protocols = !SSLv2, !SSLv3

smtpd_tls_ciphers = medium
smtp_tls_ciphers = medium

# Other best practices

# Strongly recommended:
# http://www.postfix.org/FORWARD_SECRECY_README.html#server_fs
#
smtpd_tls_dh1024_param_file=${config_directory}/dh2048.pem
smtpd_tls_eecdh_grade = strong

# Suggested, not strictly needed:
#
smtpd_tls_exclude_ciphers =
EXPORT, LOW, MD5, SEED, IDEA, RC2
smtp_tls_exclude_ciphers =
EXPORT, LOW, MD5, aDSS, kECDHe, kECDHr, kDHd, kDHr, SEED, IDEA, RC2

Enlaces relacionados:

Más información sobre esta vulnerabilidad

Aviso de seguridad lanzado por OpenSSL