Por favor, vea las secciones EDITAR en mi propia respuesta; Contienen una explicación a este enigma .
Estoy tratando de deshabilitar RC4 para un servidor Apache 2.2.9 que se ejecuta en un CentOS 6.5 VPS y parece que no puedo tener éxito.
Se instaló un certificado validado por un negocio recientemente adquirido y las conexiones SSL funcionan bien, pero quería configurar las cosas lo mejor posible para "fortalecer la seguridad", como dicen algunos tutoriales.
Verificando la configuración con Qualys SSL Labs, la página de resultados muestra "Este servidor acepta el cifrado RC4, que es débil. Grado limitado a B".
Sin embargo, he puesto esto en ssl.conf:
SSLCipherSuite HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4:!SSLv2:!SSLv3
He guardado la secuencia de comandos dada en la respuesta a esta pregunta en un archivo llamado test-ssl-ciphers.sh y he cambiado la dirección IP a una dirección de bucle invertido. Este es el resultado de ./test-ssl-ciphers.sh | grep -i "RC4"
:
Testing ECDHE-RSA-RC4-SHA...NO (sslv3 alert handshake failure)
Testing ECDHE-ECDSA-RC4-SHA...NO (sslv3 alert handshake failure)
Testing AECDH-RC4-SHA...NO (sslv3 alert handshake failure)
Testing ADH-RC4-MD5...NO (sslv3 alert handshake failure)
Testing ECDH-RSA-RC4-SHA...NO (sslv3 alert handshake failure)
Testing ECDH-ECDSA-RC4-SHA...NO (sslv3 alert handshake failure)
Testing RC4-SHA...NO (sslv3 alert handshake failure)
Testing RC4-MD5...NO (sslv3 alert handshake failure)
Testing RC4-MD5...NO (sslv3 alert handshake failure)
Testing PSK-RC4-SHA...NO (no ciphers available)
Testing KRB5-RC4-SHA...NO (no ciphers available)
Testing KRB5-RC4-MD5...NO (no ciphers available)
Testing EXP-ADH-RC4-MD5...NO (sslv3 alert handshake failure)
Testing EXP-RC4-MD5...NO (sslv3 alert handshake failure)
Testing EXP-RC4-MD5...NO (sslv3 alert handshake failure)
Testing EXP-KRB5-RC4-SHA...NO (no ciphers available)
Testing EXP-KRB5-RC4-MD5...NO (no ciphers available)
Cada una de estas líneas contiene "NO", lo que, según el script, significa que el servidor no admite la combinación de cifrado especificada.
Además, el comando grep -i -r "RC4" /etc/httpd
solo me da el archivo ssl.conf mencionado anteriormente.
Además, ejecutar openssl ciphers -V
en mi suite de cifrado no muestra ningún cifrado RC4, lo que tiene sentido dada la cadena de configuración.
Por lo tanto, de alguna manera estoy perdido por qué los sitios web de verificación SSL me dicen que "el servidor acepta RC4". Incluso enumeran los siguientes cifrados como aceptados:
TLS_RSA_WITH_RC4_128_MD5
TLS_RSA_WITH_RC4_128_SHA
TLS_ECDHE_RSA_WITH_RC4_128_SHA
¿Alguien tiene una posible explicación? ¿Qué estoy haciendo algo mal? ¿Quizás haya otro lugar donde se configure ese soporte de RC4 o "aceptación"?
Gracias.
[ EDITAR ] Utilizando un CentOS 6.6 en una máquina virtual en casa, ejecuté el script nuevamente contra mi VPS usando su nombre de dominio en lugar de la dirección de bucle invertido. Esta configuración implica que la instancia de openssl proporciona la lista de cifrados en la máquina virtual: todavía no tengo RC4 entre los cifrados que producen SÍ.