Saltar al contenido

POODLE: Una nueva vulnerabilidad al protocolo SSL

Hace 3 días, Google lanzo un anuncio donde nos comunicó de una nueva vulnerabilidad en el protocolo SSL.

Esta vulnerabilidad que fue bautizada con el nombre de “POODLE” (por las siglas en ingles  de Padding Oracle On Downgraded Legacy Encryption), permite a un atacante poder leer datos privados y supuestamente seguros que se intercambian entre el navegador y el servidor, como por ejemplo las cookies o las claves de acceso.

Para ser más exactos, la versión del protocolo SSL que se ve afectada es la V3, que increíblemente fue liberada en 1996. A pesar de todos los años pasados y de ser obsoleta debido a la nueva actualización que salió en 1999 bajo el nombre de TLS (actualmente la versión de TLS es TLS 1.2), miles y miles de servidores en todo el mundo seguían usando el protocolo SSLV3, entre los cuales empresas como Yahoo o Hostingroup, debido a su compatibilidad con casi el 100% de navegadores, sobre todo los navegadores antiguos como Internet Explorer 6.

¿Cómo solucionar la vulnerabilidad POODLE?

A pesar de haber pasado solo unos días, se ha hablado mucho en todo el mundo sobre posibles soluciones a la vulnerabilidad, llegando a una conclusión general de que la mejor solución es decir adiós al protocolo SSL y usar exclusivamente el protocolo TLS.

Aunque TLS no es compatible con Internet Explorer 6, sí que lo es con el 98% de los navegadores.

¿Como Solucionar Vulnerabilidad POODLE en cPanel?

Ante todo, queremos comunicar que todos los servidores de Hostingroup ya tienen solucionado esta vulnerabilidad, por lo cual si eres cliente nuestro puedes quedarte tranquilo que ya todo está parchado.

Respecto a los servidores que usan cpanel, como empresas que ofrecen servicios de hosting web, también se ven afectados a esta vulnerabilidad. En general todo servidor que use el protocolo SSL para lo que fuese, es vulnerable a este ataque.

Hasta el momento cPanel Inc. no se ha pronunciado oficialmente para dar una solución al problema, por lo que muchas de las empresas de hosting web hemos tenido que darle una solución a esta vulnerabilidad a mano.

Guía para solucionar la vulnerabilidad POODLE en servidores cPanel

En esta pequeña guía vamos a explicarte a cómo solucionar el problema de POODLE en servidores cPanel/WHM. Para realizar estos pasos necesitamos tener acceso root.

En resumen los servicios donde vamos a corregir la vulnerabilidad son:

  1. Apache
  2. cpsrvd
  3. cpdavd
  4. dovecot
  5. Courier
  6. Exim

1º Solución Poodle para Apache

Ingresar en WHM e ir a:

WHM => Service Configuration => Apache Configuration => Include Editor => Pre Main Include.

Elegir “All Versión” y en el cuadro que aparece pegar lo siguiente:

// Si el servidor es Centos 6.x pegar:
SSLHonorCipherOrder On
SSLProtocol -All +TLSv1 +TLSv1.1 +TLSv1.2

// Si el servidor es Centos 5.x pegar:
SSLHonorCipherOrder On
SSLProtocol -All +TLSv1

NOTA: El cambio es porque CentOS 5 solo soporta la versión 1.0 de TLS.

Hacer clic en “update” y reiniciar apache.

2º Solución Poodle para cpsrvd y cpdavd (servicios de cpanel)

Ingresar al servidor por ssh y logueado como root ejecutar lo siguiente:

mkdir  /var/cpanel/conf/cpsrvd/ && vi /var/cpanel/conf/cpsrvd/ssl_socket_args

Les cargará el editor “VI”, presionan la letra “i” para habilitar la escritura y escriben:

SSL_version=TLSv1

Luego de escribir presionan “Esc” y luego “:WQ!” tal cual para salir guardando los cambios.

Hacer lo mismo para este archivo

mkdir /var/cpanel/conf/cpdavd/ && vi /var/cpanel/conf/cpdavd/ssl_socket_args

Y pegar

SSL_version:TLSv1

NOTA: Esto desabilita el soporte de TLS1.1 y TLS1.2 en los servidores Centos 6, pero lamentablemente es la única forma de poder desactivar a SSLv3 en estas aplicaciones.

3º Solucion Poodle para Dovecot

Crear una copia de seguridad antes y editar el archivo:

//Copia de Seguridad
cp /var/cpanel/templates/dovecot2.2/main.default /var/cpanel/templates/dovecot2.2/main.default.backup
//Editar
vi /var/cpanel/templates/dovecot2.2/main.default

Buscar la línea:

# SSL ciphers to use
[%- IF ssl_cipher_list.defined %]
ssl_cipher_list = [% ssl_cipher_list %]
[%- ELSE %]
#ssl_cipher_list = ALL:!LOW:!SSLv2
[%- END %]

Y abajo pegar:

# SSL/TLS protocols to use
[%- IF ssl_protocols.defined %]
ssl_protocols = [% ssl_protocols %]
[%- ELSE %]
ssl_protocols = !SSLv2 !SSLv3
[%- END %]

Luego compilar y reiniciar:

/usr/local/cpanel/scripts/builddovecotconf && /usr/local/cpanel/scripts/restartsrv_dovecot

4º Solucion Poodle para Courier

Si usan Courier, les recomiendo mejor pasarse a Dovecot que es muy sencillo y luego aplican la configuración para Dovecot, para pasarse solo deben de ir a WHM:

WHM -> Service Configuration »Mailserver Selection

Elegir Dovecot y guardar los cambios.

Si prefieren seguir con Courier, realizar lo siguiente:

WHM -> Exim Configuration Manager

Ir al editor Avanzado “Advanced Editor

En la primera sección llamada “Section: CONFIG” bajan hasta casi el final de la sección y verán un botón llamado  “add additional configuration setting” hacer clic y agregar en los dos campos lo siguiente:

//Primer Campo
openssl_options

//Segundo Campo
+no_sslv3

Ir al final de la página y guardar los cambios.

Por último hacer un test para comprobar que todo esté bien en:

https://www.tinfoilsecurity.com/poodle

Además de los pasos realizados también debemos de cambiar todo lo que tenga SSL con TLS, por ejemplo en la parte de correos si envían correos autenticados con SMTP, cambien a TLS y ya no usen SSL. Si cambian a TLS asegúrense de poner como puerto el 587

La vulnerabilidad Poodle en los Navegadores

Cuando se realiza un traslado de datos seguros entre el navegador y el servidor, el navegador pide el protocolo para transferir los datos al servidor. La mayoría de servidores tienen activado SSL y TLS, y usan el protocolo que el navegador solicite, es decir el navegador pide SSLv3 y si el servidor acepta SSLv3, entonces la conexión se realiza por allí.

Si el servidor ya tiene el SSLv3 desactivado entonces prueban con otro protocolo, que en este caso sería el TLS, y seguramente que ya miles de servidores tienen SSLv3 desactivado, así que no habrá problemas si enviamos nuestros datos a esos servidores.

Pero que pasa si estamos enviando datos seguros a servidores que aún no han desactivado SSLv3 y lo siguen usando, pues pasa que nuestros datos no están nada seguros.

Obviamente no podemos acceder a esos servidores para solucionar el problema, así que ¿cómo haríamos en este caso? Pues lo que haríamos y debemos hacer es configurar el navegador para que no pida el protocolo SSLv3, así de sencillo, así aunque el servidor acepte aún SSLv3, nuestro navegador no lo solicitará por lo tanto nuestros datos estarán seguros.

En esta guía publicada por Zmap.io se muestra cómo solucionar el problema en los navegadores:

https://zmap.io/sslv3/browsers.html#chrome-windows

Pueden encontrar más información sobre la vulnerabilidad POODLE en:

http://www.genbeta.com/seguridad/poodle-asi-es-el-ataque-que-deja-por-fin-obsoleto-a-sslv3
http://googleonlinesecurity.blogspot.com/2014/10/this-poodle-bites-exploiting-ssl-30.html

[cta id=»737″]