Cómo deshabilitar SSLv2 para Apache httpd

8

Acabo de probar mi sitio en https://www.ssllabs.com/ y decía que SSLv2 es inseguro y que debería desactivarlo junto con Cipher Suites débiles.

¿Cómo puedo desactivar eso? Intenté lo siguiente pero no funciona.

  1. Fui a /etc/httpd/conf.d/ssl.confpor ftp. Adicional

    SSLProtocol -ALL +SSLv3 +TLSv1
    SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:!LOW:!SSLv2:!EXPORT
    
  2. Conectado al servidor por masilla y dio el service httpd restartcomando.

Pero todavía se muestra inseguro en el sitio. ¿Cómo puedo arreglarlo? Mi servidor es Plesk 10.3.1 CentOS. Hay 3-4 sitios en el mismo servidor.

Yahoo
fuente
Hace unos años tuve un problema al renovar un certificado SSL. La nueva configuración se ignoró, incluso después de reiniciar Apache. Detener apache y luego iniciar apache resolvió el problema.
@EricDANNIELOU: reinicié todo el servidor, aún no tuve suerte
Yahoo

Respuestas:

10

Cambie las líneas SSLProtocol y SSLCipherSuite a,

SSLProtocol -ALL +SSLv3 +TLSv1 -SSLv2
SSLHonorCipherOrder On
SSLCipherSuite ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH

Vuelva a cargar su apache para que la configuración surta efecto.

El SSLHonorCipherOrder En tratará los sistemas de cifrado en el orden que se especifica.

La configuración anterior pasa la comprobación en ssllabs.com, excepto para la versión TLS. Mi CentOS 6 solo es compatible con TLS 1.0 debido a OpenSSL 1.0.0. OpenSSL 1.0.1 es compatible con TLS 1.1 y 1.2.

¿Tiene algún equilibrador de carga o proxy frente a su apache?

Chida
fuente
Agregué las líneas que mencionaste anteriormente, pero aún así no funciona. Cuando verifico www.ssllabs.com , todavía muestra que está habilitado. No estoy al tanto de `equilibrador de carga o proxy delante de apache`, ¿cómo puedo verificar esto? Te dejaré saber los detalles que necesites saber.
Yahoo
Sin embargo, cuando ejecuto esto, aparece un error. Parece que está deshabilitado, pero el sitio no lo muestra. openssl s_client -ssl2 -connect localhost:443 CONNECTED(00000003) 21731:error:1407F0E5:SSL routines:SSL2_WRITE:ssl handshake failure:s2_pkt.c:428: ]0;root@u15341216:~[root@u15341216 ~]#
Yahoo
Podría provenir de su equilibrador de carga o proxy de alguna otra aplicación de fondo. Sin muchos detalles sobre su configuración / arquitectura, es difícil de depurar. La configuración que mencioné funciona para mi apache que sirve SSL directamente y ssllabs.com me da una calificación de 88.
Chida
Entonces, ¿debería deshabilitar el equilibrador de carga, si está allí en el sistema? ¿Cómo puedo saber si no está instalado?
Yahoo
Si apache escucha en el puerto *: 80 y su servidor tiene la IP pública correspondiente a su sitio web, no hay equilibrador de carga. También verifique los registros dns para round robin.
3

Es posible que desee asegurarse de que no haya otro SSLProtocolo SSLCiperSuitedirectivo en ninguna parte de su configuración de Apache que anule el que acaba de agregar.

Si no puede encontrarlo, intente agregar esos dos a su vhost SSL en lugar de hacerlo ssl.conf. Esto ayudará a garantizar que los correctos sean los últimos aplicados.

Ladadadada
fuente
No hay ninguna entrada duplicada en el archivo. ¿Cómo puedo registrar el SSL Vhost? ¿Dónde se coloca este archivo? (Soy nuevo aquí)
Yahoo
1
Usando PuTTY, grep -r SSLProtocol /etc/httpddebería encontrar cualquier duplicado. En cuanto al SSL vhost, no sé dónde los pone Plesk, pero probablemente será con todos los otros vhosts. Un grep recursivo para VirtualHost, SSLCertificateFileo el documentroot probablemente hará el truco.
Ladadadada
/var/www/vhosts/mydomain/conf/vhost_ssl.conf & /var/www/vhosts/mydomain/conf/vhost.conf En ambos archivos que he agregado SSLProtocol -ALL +SSLv3 +TLSv1 SSLHonorCipherOrder On SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUMtodavía no funciona: /
Yahoo
0

El que me funcionó

SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !EDH"

Prueba este.

Hamzah AbuAloush
fuente
¿Estás usando Plesk? Explique cómo su situación coincide con la descrita en la pregunta original.
Deer Hunter
-2

Para deshabilitar SSL en Centos6.x Simplemente ejecute el siguiente comando:

ñam eliminar mod_ssl

Entonces

servicio httpd reload

Para habilitar SSL nuevamente, instale el paquete "mod_ssl" como:

yum install mod_ssl

Entonces

servicio httpd reload

usuario3060223
fuente
Creo que el usuario solo quería eliminar SSL v2.
Paul