2010-09-17 13 views
5

En los navegadores modernos, mi sitio se marquen como sorta insegura:https: renegociación de Apache TLS: Debian, Apache2, openssl. ¿Cómo?

Google Chrome, por ejemplo, dice "The server does not support the TLS renegotiation extension" en la "Página de información".

HTTPS funciona bien, la conexión está encriptada y el certificado es válido.

# openssl version 
OpenSSL 0.9.8g 19 Oct 2007 

# cat /etc/debian_version 
5.0.6 

# apache2ctl -V 
Server version: Apache/2.2.9 (Debian) 
Server built: Apr 20 2010 21:44:40 
Server's Module Magic Number: 20051115:15 
Server loaded: APR 1.2.12, APR-Util 1.2.12 
Compiled using: APR 1.2.12, APR-Util 1.2.12 
Architecture: 64-bit 
Server MPM:  ITK 
    threaded:  no 
    forked:  yes (variable process count) 
Server compiled with.... 
-D APACHE_MPM_DIR="server/mpm/experimental/itk" 
-D APR_HAS_SENDFILE 
-D APR_HAS_MMAP 
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) 
-D APR_USE_SYSVSEM_SERIALIZE 
-D APR_USE_PTHREAD_SERIALIZE 
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT 
-D APR_HAS_OTHER_CHILD 
-D AP_HAVE_RELIABLE_PIPED_LOGS 
-D DYNAMIC_MODULE_LIMIT=128 
-D HTTPD_ROOT="" 
-D SUEXEC_BIN="/usr/lib/apache2/suexec" 
-D DEFAULT_PIDLOG="/var/run/apache2.pid" 
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status" 
-D DEFAULT_LOCKFILE="/var/run/apache2/accept.lock" 
-D DEFAULT_ERRORLOG="logs/error_log" 
-D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types" 
-D SERVER_CONFIG_FILE="/etc/apache2/apache2.conf" 

Estoy usando el repositorio de dotdeb para la configuración de mi LAMP, de ahí Apache 2.2.9.

  • ¿Hay algo malo con mi configuración del servidor ?

  • ¿O hay algún problema con el certificado en uso?

  • ¿Dónde debo comenzar a rastrear el problema?

Respuesta

5

De acuerdo con la Debian changelog, que está utilizando la versión del paquete apache2 2.2.9-10 + lenny8 (la más reciente disponible para Lenny), construido Abr 20 2010. Versión 2.2.9-10 + lenny6 había presentado una solución rápida para el problema (CVE-2009-3555):

rechazar cualquier iniciada por el cliente SSL/TLS renegociaciones. Esta es una solución parcial para el ataque de inyección de prefijo de renegociación TLS (CVE-2009-3555). Cualquier configuración que requiera renegociación para por directorio/ubicación control de acceso o utiliza "SSLVerifyClient opcional" sigue siendo vulnerable.

Por lo tanto, debe deshabilitar SSLVerifyClient optional en Directory o Location directivas.

La extensión de renegociación de TLS (RFC 5746), que aborda el problema en SSLVerifyClient optional de manera más general, se implementó en las versiones de OpenSSL 0.9.8m y 1.0.0a, que necesitaría si quisiera usarla.

Si no usa SSLVerifyClient optional en directivas de ubicación/directorio, su configuración no parece insegura, simplemente no es compatible con esta extensión TLS que le habría permitido seguir utilizando la autenticación de certificado de cliente en una directorio/ubicación.

Apache Httpd 2.2.15 también introdujo la directiva SSLInsecureRenegotiation si desea forzar el comportamiento inseguro (y use OpenSSL 0.9.8m o superior).

0

No estoy seguro de por qué, pero tropecé con lo que parece ser una solución para este problema. Solo tenía 1 vhost para SSL y noté que una redirección desde http -> https no funcionaba. Probé varias variaciones de las reglas de reescritura en vano. Así que decidí crear un segundo vhost en el puerto 80. El redireccionamiento comenzó a funcionar y no solo eso, Chrome comenzó a mostrar el símbolo verde https en la esquina: D

Cuestiones relacionadas