Menú de navegaciónMenú
Categorías

La mejor forma de Aprender Programación online y en español www.campusmvp.es

?id=24c6f3f2-c19d-4875-b322-04204a1a12e2

Cómo solucionar la vulnerabilidad de SSL 3.0 "POODLE" en Internet Information Server (IIS)

Poodle-Vulnerabilidad

poodle_dogHace unas pocas horas Google ha revelado un problema de seguridad que afecta al protocolo SSL 3.0, independientemente de su implementación. Es decir, al contrario que el bug Heartbleed de hace unos meses, en este caso se trata de una vulnerabilidad del protocolo y por lo tanto cualquier implementación del mismo la presenta.

Esta vulnerabilidad, denominada POODLE (no por el perro de aguas de la imagen, que es su significado en inglés, sino que viene de las siglas: Padding Oracle On Downgraded Legacy Encryption) permite a un atacante provocar fallos en las comunicaciones SSL con protocolos modernos (TSL) para forzar que el servidor utilice SSL 3.0. Una vez que lo está usando aprovecha la vulnerabilidad de este protocolo (descrita con detalle en este artículo académico en PDF que liberó Google) para poder leer información que supuestamente estaba encriptada, echando por tierra todo el propósito del protocolo.

La buena noticia es que SSL 3.0 es un protocolo muy antiguo, de más de 15 años de edad, y ya apenas se utiliza por defecto.

la palabra clave aquí es "por defecto". Y es que aunque tanto el servidor como el cliente intentarán usar inicialmente un protocolo moderno como TSL 1.0 o TSL 1.2, es fácil provocar que se utilice SSL 3.0. Los servidores, por defecto, tienen habilitado el protocolo SSL 3.0 para dar soporte a los navegadores más viejos, y ahí es donde comienza el problema. Un atacante malintencionado podría provocar el uso de este protocolo y luego obtener información del servidor.

Lo mejor que podemos hacer es deshabilitarlo de inmediato. Y de paso deshabilitar también la versión 2.0 que es más antigua todavía y no es necesario utilizarla.

Podemos comprobar si nuestro servidor está afectado (es decir, tiene habilitado SSL 3.0) usando esta página creada a tal efecto: www.poodlescan.com.

Si está afectado se mostrará un mensaje como este:

Poodle-Test-KO

Y si está correcto,  veremos lo siguiente:

Poodle-Test-OK

Deshabilitar SSL 3.0 en Internet Information Server

Para deshabilitar este protocolo (y de paso el SSL 2.0) en IIS, tenemos que recurrir a tocar el registro de configuración del sistema (regedit.exe), y en concreto navegar hasta esta clave:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Protocols\]

Una vez ahí, dependiendo de la versión de IIS que estemos utilizando, veremos unas claves u otras.

Por ejemplo, en IIS 7.x o  posterior (es decir, desde Windows Server 2008 en adelante), veremos únicamente una clave para el protocolo SSL 2.0, que además sólo tiene una sub-clave para gestionar el soporte de este protocolo por parte de los navegadores (Client) indicando que por defecto esté deshabilitado:

Poodle_1

Lo que tenemos que hacer es crear una clave específica para "SSL 3.0" con ese mismo nombre, y añadir las sub-claves "Client" y "Server". En la sub-clave "Client" crearemos una entrada de tipo DWORD con el nombre de la figura anterior DisabledByDefault, y valor 1. En la sub-clave "Server" crearemos una entrada de tipo DWORD llamada Enabled, con el valor por defecto, o sea, un 0:

Poodle_2

De esta forma deshabilitaremos el protocolo SSL 3.0 en el servidor.

Ya que estamos conviene deshabilitar también SSL 2.0 para lo cual crearemos la sub-clave "Server" de la cual carece inicialmente, y le pondremos también el valor DWORD Enabled con valor 0.

Ahora hay que reiniciar el servidor. Al hacerlo ya estarán deshabilitados los protocolos y estaremos protegidos de la vulnerabilidad Poodle ya que SSL 3.0 no funcionará nunca más.

Nota: Los protocolos y  por tanto las ramas del registro soportadas por IIS 7.x o posterior son, aparte de estos dos, TSL 1.0, TSL 1.1 y TSL 1.2, Para habilitarlos y deshabilitarlos se puede hacer exactamente lo mismo.

En IIS 6.0 las claves son las mismas, pero por defecto tiene todas las ramas ya creadas por lo que deshabilitarlo es más rápido, pues solo hay que crear los valores de tipo DWORD:

Poodle_3

Así es como queda para SSL 3.0 deshabilitado:

Poodle_4

Con esto tendrás un servidor más seguro y evitarás por completo el problema causado por POODLE.

Puedes descargar un archivo .reg con las claves necesarias en el registro pulsando aquí (es un ZIP con un .reg dentro). Descomprímelo en tu servidor y haz doble-clic sobre el archivo para meter las claves necesarias en el registro.

Deshabilitar SSL 3.0 en otros servidores web

Aquí os dejo unos enlaces para realizar este proceso en otros servidores web comunes:

Fecha de publicación:
José Manuel Alarcón Fundador de campusMVP, es ingeniero industrial y especialista en consultoría de empresa. Ha escrito diversos libros, habiendo publicado hasta la fecha cientos de artículos sobre informática e ingeniería en publicaciones especializadas. Microsoft lo ha reconocido como MVP (Most Valuable Professional) en desarrollo web desde el año 2004 hasta la actualidad. Puedes seguirlo en Twitter en @jm_alarcon o leer sus blog técnico o personal. Ver todos los posts de José Manuel Alarcón
Archivado en: General | Trucos

¿TRUCOS de programación?

Suscríbete a la newsletter

La mejor formación online para desarrolladores como tú

Agregar comentario

Los datos anteriores se utilizarán exclusivamente para permitirte hacer el comentario y, si lo seleccionas, notificarte de nuevos comentarios en este artículo, pero no se procesarán ni se utilizarán para ningún otro propósito. Lee nuestra política de privacidad.