Compartir a través de


Cómo solucionar la vulnerabilidad de SSL 3.0 (es-ES)

Como sabréis Google ayer anunció que había un problema de seguridad que afecta al protocolo SSL 3.0, como bien describe en el siguiente artículo:

http://blog.asirsl.com//SiteAssets/Lists/EntradasDeBlog/NewPost/Vulnerabilidad%20en%20el%20Protocolo%20SSL%203.0.JPG 

Dicha vulnerabilidad se llama POODLE y aquí tenéis un PDF en donde biene correctamente descrita la vulnerabilidad: https://www.openssl.org/~bodo/ssl-poodle.pdf . Esto afecta a todas las implementaciones en donde utilicemos SSL 3.0, algo que como bien indica ya no se debería utilizar puesto que ya un protocolo muy antiguo con más de 15 años. Si trabajais con IIS, TMG u otro serivicio que utilice SSL deberíais deshabilitar el uso de SSL 3.0, para ello debemos crear las siguientes claves de registro en los servidores afectados y reiniciarlos para que se hagan efectivos los cambios. Antes de ponernos manos a la obra podéis verificar si vuestro servicio está afectado o no por este problema, para ello podéis acceder a la siguiente web y especificar vuestras URLs: http://www.poodlescan.com/. Si vuestra web tiene habilitado SSL 3.0 o 2.0 os lo indicará, mirar este ejemplo en donde lo he habilitado a propósito para poder ver la advertencia que nos muestra:

 http://blog.asirsl.com//SiteAssets/Lists/EntradasDeBlog/NewPost/Vulnerabilidad%20en%20el%20Protocolo%20SSL%203.0%20-1.JPG

En el caso de que el servicio no estuviese afectado, nos mostraría la siguiente pantalla:

http://blog.asirsl.com//SiteAssets/Lists/EntradasDeBlog/NewPost/Vulnerabilidad%20en%20el%20Protocolo%20SSL%203.0%20-2.JPG 

Si resulta que en nuestro servidor utilizamos SSL 3.0 debemos crear las siguientes claves de registro para deshabilitarlo:

 

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client]
"DisabledByDefault"=dword:00000001

http://blog.asirsl.com//SiteAssets/Lists/EntradasDeBlog/NewPost/Vulnerabilidad%20en%20el%20Protocolo%20SSL%203.0%20-3.jpg 

 

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server]
"Enabled"=dword:00000000

http://blog.asirsl.com//SiteAssets/Lists/EntradasDeBlog/NewPost/Vulnerabilidad%20en%20el%20Protocolo%20SSL%203.0%20-4.jpg

Es posible que también tengáis habilitado el SSL 2.0, pues lo deshabilitaremos de la misma forma, creando una clave en el registro:

 

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client]
"DisabledByDefault"=dword:00000001

http://blog.asirsl.com//SiteAssets/Lists/EntradasDeBlog/NewPost/Vulnerabilidad%20en%20el%20Protocolo%20SSL%203.0%20-5.jpg 

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client]
"Enabled"=dword:00000000

http://blog.asirsl.com//SiteAssets/Lists/EntradasDeBlog/NewPost/Vulnerabilidad%20en%20el%20Protocolo%20SSL%203.0%20-6.jpg

Por último debemos reniciar el servidor para completar el proceso, de tal forma que nuestro servidor no sea vulnerable por POODLE. Comentaros que si tenemos un Proxy Inverso (TMG, IIS ARR, etc..) podemos realizar este cambio únicamente en servidor y ya quedaríais igualmente protegidos, aunque lo suyo sería también configurar de forma manual los servidores que publicamos a través del proxy inverso. Las claves de registro para el TMG serían las mismas que las anteriores, pero a mayores debemos configurar las siguientes claves (más información: http://www.isaserver.org/articles-tutorials/configuration-security/improving-ssl-security-forefront-threat-management-gateway-tmg-2010-published-web-sites.html):

 

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\SecurityProviders\SCHANNEL\AllowInsecureRenegoClients]
"Enabled"=dword:00000000

 

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\SecurityProviders\SCHANNEL\DisableRenegoOnServer]
"Enabled"=dword:00000001

http://blog.asirsl.com//SiteAssets/Lists/EntradasDeBlog/EditPost/Vulnerabilidad%20en%20el%20Protocolo%20SSL%203.0%20-7.jpg
Una vez establecidos estos valores (y los de deshabilitar SSL 3.0) reiniciamos el servicio de Firewall del TMG y ya quedaría correctamente protegido. Mirad el antes y después de una análisis desde la utilidad de DigiCert Certificate Agent (utilidad que nos permte analizar de forma remota los certificados instalados en nuestros servidores):

 

TMG con SSL 3.0 HABIILTADO

http://blog.asirsl.com//SiteAssets/Lists/EntradasDeBlog/EditPost/Vulnerabilidad%20en%20el%20Protocolo%20SSL%203.0%20-8.jpg 

TMG CON SSL 3.0 DESHABILITADO Y CON TLS 1.0 (SI ES POSIBLE DESHABILITARLO TAMBIÉN), 1.1 y 1.2 HABILITADO

http://blog.asirsl.com//SiteAssets/Lists/EntradasDeBlog/EditPost/Vulnerabilidad%20en%20el%20Protocolo%20SSL%203.0%20-9.jpg 

Si queremos habilitar o deshabilitar TLS en los servidores, podemos hacerlo de la misma forma que hemos hecho con el SSL 3.0 pero con las claves adecuadas para TLS:

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client]
"DisabledByDefault"=dword:00000000

 http://blog.asirsl.com//SiteAssets/Lists/EntradasDeBlog/EditPost/Vulnerabilidad%20en%20el%20Protocolo%20SSL%203.0%20-11.jpg

 

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server]
"Enabled"=dword:00000000

http://blog.asirsl.com//SiteAssets/Lists/EntradasDeBlog/EditPost/Vulnerabilidad%20en%20el%20Protocolo%20SSL%203.0%20-11.jpg

Y así todo igual con las versiones TLS 1.1 y TLS 1.2 :

 

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client]
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server]
"Enabled"=dword:00000000

 

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
"Enabled"=dword:00000000

 

Aquí os dejo los ficheros .reg en función de lo que queráis deshabilitar:

SSL 2.0 para IIS: Deshabilitar SSL 2.0.zip

SSL 3.0 para IIS: Deshabilitar SSL 3.0.zip

SSL 3.0 en TMG (opciones de seguridad a mayores): Deshabilitar SSL 3.0 en TMG.zip

En la web de DigiCert tenéis información suficiente también sobre este tema, por lo que no dejéis de visitarla: https://blog.digicert.com/sslv3-vulnerability-poodle/?mkt_tok=3RkMMJWWfF9wsRokuq7JZKXonjHpfsX56ekqW6S0lMI%2F0ER3fOvrPUfGjI4DScdgI%2BSLDwEYGJlv6SgFQrLAMbdw0bgKXRA%3D Aquí encontraréis información de como deshabilitar SSL 3.0 para IIS, Apache y Nginx:

IIS: https://www.digicert.com/ssl-support/iis-disabling-ssl-v3.htm

Apache: https://www.digicert.com/ssl-support/apache-disabling-ssl-v3.htm

Nginx: https://www.digicert.com/ssl-support/nginx-disabling-ssl-v3.htm

DigiCert ha puesto a disposición de lo miembros registrados una utilidad para verificar nuestros servidores con SSL: Certificate Inspector, desde la cual escribimos el FQDN de nuestro servidor y lo chequerá en línea mostrando más información que si únicamente tenéis SSL 3.0 habilitado en vuestro servidor.