X

Cómo proteger tu servidor ante la vulnerabilidad POODLE en SSLv3

El pasado 14 de octubre, se dio a conocer una vulnerabilidad en la versión 3 del protocolo de codificación SSL. Esta vulnerabilidad recibió el nombre de POODLE (Padding Oracle On Downgraded Legacy Encryption) y puede ser explotada por un atacante para leer información codificada con la mencionada versión del protocolo SSL.
SSLv3 es un versión que en realidad está prácticamente obsoleta, ya todos los navegadores y herramientas la están comenzando a descontinuar, pero mientras tanto, lo que más se recomienda es desactivarla por cuenta propia. Dado que esto es un problema del protocolo en sí, cualquier software que lo utilice puede ser vulnerado, principalmente los navegadores web. En el siguiente enlace de la NVD se puede obtener más información al respecto: CVE-2014-3566

A continuación les indicaremos cómo desactivar SSLv3 a nivel de los servidores web Apache y Nginx. También es posible desactivarlo desde el lado del usuario, pero eso ya depende del software que se esté usando por supuesto.

Nginx

En el caso de Nginx, debemos usar la directiva ssl_protocols. Es posible ubicarla en los bloques server o http de la configuración del servicio. En caso de no estar presente, simplemente la añadimos nosotros. Tanto en Ubuntu como en CentOS, debemos proceder de la siguiente forma:

nano -w /etc/nginx/nginx.conf

En este archivo vamos a buscar el bloque http y añadir en él la siguiente línea:

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

Ahora bastaría con reiniciar Nginx para tomar los cambios, pero si lo deseas también puedes añadirla en cada vhost, según la ruta en la cual los tengas configurados. En este ejemplo usaremos la ruta por defecto (/etc/nginx/conf.d/) y un nombre genérico para el vhost (midominio.conf):

nano -w /etc/nginx/conf.d/midominio.conf

Buscamos el bloque server donde esté configurado el SSL y añadimos la misma directiva de antes:

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

Cuando terminamos con las modificaciones solo hace falta reiniciar el servicio para tomar los cambios:

/etc/init.d/nginx restart

Apache

Si tu navegador web es Apache y el servidor Ubuntu, comienza editando la configuración del módulo de SSL:

nano /etc/apache2/mods-available/ssl.conf

Dentro encontrarás la directiva SSLProtocol, o bien puedes crearla si no está presente. Debe quedar configurada así:

SSLProtocol all -SSLv3 -SSLv2

Reiniciar Apache para tomar los cambios:

service apache2 restart

En el caso de usar Apache en CentOS, también vamos a editar el módulo de SSL:

nano -w /etc/httpd/conf.d/ssl.conf

Buscamos la directiva SSLProtocol, o la añadimos si no está configurada:

SSLProtocol all -SSLv3 -SSLv2

Guardamos el cambio y reiniciamos el servicio:

service httpd restart

Si utilizas los vhost de Apache por fuera del archivo de configuración, también será necesario añadir la directiva SSLProtocol en cada vhost configurado con SSL.

Todos los servidores CentOS y cPanel de nuestros clientes ya han sido verificados. En el caso de que haya alguna duda, por favor contactarnos por los medios de soporte habituales: ticket, email, chat, Skype o teléfono.

Artículos relacionados