miércoles, 12 de febrero de 2014

No mas soporte para SSLv2 en openssl? La solución.

Hoy nos encontramos con problemas al usar sslscan para comprobar unos servidores que tenían habilitado SSLv2. En la Macbook sslscan detectaba la presencia de varios ciphers de SSLv2 mientras que en dos máquinas con Debian y Ubuntu no los detectaba.


Finalmente, luego de investigar un poco, descubrimos que a la gente de openssl se le ocurrió deshabilitar por default el protocolo SSLv2, lo cual está bueno si pensas en la seguridad de los clientes, pero no si lo que estas intentando hacer es detectar su presencia en un server.

En fin, para solucionar esto, deberemos descargar el código fuente y remover el parche que deshabilita SSLv2, con los siguientes comandos:

Instalamos los binarios necesarios:
$ sudo apt-get install build-essential devscripts
$ sudo apt-get build-dep openssl


Bajamos el código fuente de openssl
$ apt-get source openssl
$ cd openssl-*

Le sacamos los parches
$ quilt pop -a

Abrimos el siguiente archivo y borramos la linea "no-ssl2.patch"
$ nano debian/patches/series

Abrimos el siguiente archivo y borramos el argumento "no-ssl2"
$ nano debian/rules

Volvemos a aplicar los parches
$ quilt push -a

Volvemos a compilar el código fuente
$ dpkg-source –commit
$ sudo debuild -uc -us

Instalamos los nuevos binarios de libssl y openssl
$ cd ..
$ sudo dpkg -i *ssl*.deb

Ahora tenemos que recompilar sslscan para que pueda usar SSLv2:

Bajamos el codigo fuente de sslscan
$ apt-get source sslscan

Compilamos el código fuente
$ cd sslscan*
$ debuild -uc -us

Volvemos a instalar sslscan
$ cd ../
$ sudo dpkg -i *sslscan*.deb

Probamos y, como podemos ver, ya estan siendo detectados nuevamente.


Espero que los muchachos de openssl se den cuenta de que esta funcionalidad es necesaria para tareas de testing y la vuelvan a habilitar por default.

Saludos!!

martes, 11 de febrero de 2014