2011-04-24 9 views
14

Estoy intentando que un servidor Fedora 14 ejecute Apache 2.2.17 para pasar un escaneo de conformidad PCI-DSS por McAfee ScanAlert. Mi primer intento de utilizar la SSLCipherSuite defecto y directivas SSLProtocol establecido en ssl.conf ...Proporcione un SSLCipherSuite de Apache que pase una Escaneo de Conformidad PCI

SSLProtocol ALL -SSLv2 
SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP 

falló citando que cifrados débiles fueron habilitados. Las exploraciones con ssllabs y herramientas serversniff revelaron que las claves de 40 y 56 bits estaban realmente disponibles.

luego cambié a ...

SSLProtocol -ALL +SSLv3 +TLSv1 

y probado todas las cadenas siguientes reportados en varios sitios para pasar análisis de PCI a los vendedores una variedad ...

SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH 
SSLCipherSuite ALL:!ADH:!NULL:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:-LOW:+SSLv3:+TLSv1:-SSLv2:+EXP:+eNULL 
SSLCipherSuite ALL:!ADH:!NULL:!EXP:!SSLv2:!LOW:RC4+RSA:+HIGH:+MEDIUM 
SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM 
SSLCipherSuite ALL:!ADH:!NULL:!EXP:!SSLv2:!LOW:!MEDIUM:RC4+RSA:+HIGH 

estoy de reiniciar Apache después de las actualizaciones y Apachectl configtest dice que mi sintaxis está bien. Los análisis ScanAlert posteriores han fallado y otras herramientas de exploración continúan mostrando cifras de 40 y 56 bits disponibles. He intentado agregar SSLProtocol y SSLCipherSuite directamente al VirtualHost en httpd.conf y eso no ha ayudado.

Realmente parece que algo en algún lugar está anulando estas configuraciones, pero no puedo encontrar nada en ningún lugar que establezca estos valores a no ser ssl.conf.

Si alguien pudiera proporcionar un SSLCipherSuite bueno conocido que ha superado un análisis PCI reciente, me ayudaría mucho a rastrear mi problema.

Gracias.

+0

Por favor, vea http://stackoverflow.com/questions/5769331/please-provide-an-apache-sslciphersuite-that-will-pass-a-pci-compliance-scan/28284345#comment45978046_28284345 – Gaia

Respuesta

8

Después de horas de buscar y tirar del pelo encontré mi problema.

Las directivas SSLProtocol y SSLCipherSuite predeterminadas en mi ssl.conf se almacenan en un contenedor predeterminado etiquetado como <VirtualHost _default_:443>.

Mi sitio real tiene su propio contenedor etiquetado con su dirección IP, por ejemplo: <VirtualHost 64.34.119.12:443>. Cambiar los valores en el contenedor _default_ no tuvo ningún efecto, pero agregar las directivas SSLProtocol y SSLCipherSuite más fuertes directamente al contenedor VirtualHost específico del sitio finalmente les permitió surtir efecto.

Todavía no estoy seguro de por qué no funcionaba ajustar el contenedor _default_ o tenerlos en el contenedor VirtualHost en httpd.conf.

Como una respuesta definitiva a la cuestión, he usado ...

SSLCipherSuite ALL:!ADH:!NULL:!EXP:!SSLv2:!LOW:!MEDIUM:RC4+RSA:+HIGH 

para pasar mi exploración ScanAlert. Apuesto a que la mayoría de las otras cadenas anteriores funcionarían también.

+0

Tuve un problema similar al deshabilitar sslv2. En nuestro caso, el servidor se está ejecutando con plesk. Tuve que poner el código anterior justo antes, no dentro, de los contenedores 'virtualhost', que funcionó para nosotros. Sin embargo, no desactivé las cifras débiles, no estoy seguro de la cantidad de cifrados disponibles en países no estadounidenses debido a las antiguas restricciones de exportación. – Haluk

+0

Este es un hilo terrible para usar y no se debe usar NUNCA (a partir de 2015). Permite varias suites completamente inseguras. Pruebe siempre con https://www.ssllabs.com/ssltest – ThomasH

2

¿Le ha dicho a Apache que aplique la orden de cifrado?

SSLHonorCipherOrder en

2

FYI - He encontrado que esta configuración:

SSLCipherSuite HIGH:!SSLv2:!ADH 

Editado exactamente la misma lista de protocolos que este ajuste:

SSLCipherSuite ALL:!ADH:!NULL:!EXP:!SSLv2:!LOW:!MEDIUM:RC4+RSA:+HIGH 

De acuerdo con:

openssl ciphers -v 'ALL:!ADH:!NULL:!EXP:!SSLv2:!LOW:!MEDIUM:RC4+RSA:+HIGH' 
openssl ciphers -v 'HIGH:!SSLv2:!ADH' 
2

La siguiente configuración es recomendada por Qualys, que nos dio una A en su scanner

SSLProtocol all -SSLv2 -SSLv3 
SSLHonorCipherOrder on 
SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS" 

Sí, también asegurarse de Apache es capaz de leer la nueva configuración. Coloco esto directamente dentro del contenedor de host virtual.

Desde su página web: https://community.qualys.com/blogs/securitylabs/2013/08/05/configuring-apache-nginx-and-openssl-for-forward-secrecy

+0

Esta configuración no es compatible con IE6 en Windows XP. Es posible que desee agregar "+ RC4 RC4" al final si eso todavía es importante para usted. –

0

mira aquí Mozilla Wiki.

El objetivo de este documento es ayudar a los equipos operativos con la configuración de TLS en los servidores.

11

A medida que se descubren nuevas vulnerabilidades y se actualizan los navegadores, las respuestas aquí pueden (quedarán) desactualizadas. Le sugiero que confíe en Mozilla SSL Configuration Generator para verificar qué configuración debe usar.

enter image description here

+3

Esto se debe mover a para ser la respuesta preferida. – depicus

Cuestiones relacionadas