Actualización urgente de OpenSSL

El bug en OpenSSL es una implementación de la extensión heartbeat de TLS/DTLS. Al ser explotada permite la fuga de contenidos en la memoria del servidor al cliente y del cliente al servidor.

Puedes comprobar si tu servidor esta afectado desde aquí: http://filippo.io/Heartbleed/

¿Cómo solucionarlo?

En Debian ya han actualizado el binario a uno sin el bug.

Lo primero que debemos hacer es mirar si nuestra versión es vulnerable y si tenemos candidato. En principio debería saliros esto al usar estos comandos:

apt-get update
apt-cache policy openssl

Instalados: 1.0.1e-2+deb7u4
Candidato: 1.0.1e-2+deb7u5

Fijaros en que el paquete con el bug es 1.0.1e-2+deb7u4 por lo que debemos actualizar a 1.0.1e-2+deb7u5. Solo nos queda actualizar el paquete con:

apt-get upgrade

En otras distribuciones debemos compilar openssl con el parámetro:

 -DOPENSSL_NO_HEARTBEATS

Generación de claves

Las claves SSL han podido ser comprometidas, y por lo tanto hace falta cambiarlas en los servidores web (Apache, Nginx, etc.) , XMPP (prosody), etc. Las generamos con el siguiente comando y hará falta apuntar hacía esos certificados con la aplicación correspondiente. Buscad la documentación de vuestro server para más detalles.

Por eso es necesario generarlas:

  • SSH
  • SSL
  • Claves de usuario

SSH

ssh-keygen –t rsa

Y seguimos los pasos, generando las claves en /home/usuario/.ssh o dónde queramos.

SSL

openssl genrsa -out server.key 4096
openssl req -new -key server.key -out server.csr 
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Claves de usuario

Si habéis accedido por SSH a vuestro server, usando la clave de usuario de ese usuario en el servidor, esta va cifrada con la clave pública del servidor. Esta contraseña, cifrada con la pública, es descifrada con la privada del servidor. Esta última es la que se puede haber comprometido, por lo tanto, también se puede haber comprometido la clave de vuestra/s usuaria/s. Por eso es importante cambiar la clave de los usuarios ya que se podría seguir accediendo por SSH con la password antigua. Para cambiar esto, lo mejor que podemos hacer es, primero cambiar la clave SSH y seguidamente cambiar las claves de usuario con el comando:

passwd

Introducimos la actual y dos veces la nueva.

Los bugs en openssh

Para los que tenéis openssh menor que la 6.6 podéis instalar tanto cliente como server compilandolo, desinstalando las otras versiones previamente y comprobando las dependencias. Las versiones previas tanto de cliente como server tienen bugs importantes.

 

wget "http://mirror.codigo23.net/pub/OpenBSD/OpenSSH/portable/openssh-6.6p1.tar.gz"
tar xvf openssh-6.6p1.tar.gz 
cd openssh-6.6p1
./configure
make -j2
make install

make -j2 puede cambiarse simplemente por make si no sabéis el número de núcleos que dispone vuestra cpu.

Información de los Bugs en openssh:

Para el server sshd:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-2532

Para el cliente:

http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-2653

En resumen. Cualquier programa que use (y son muchos) openssl estará afectado. Importante por tanto este bug y solucionarlo cuanto antes.

Una de las cosas buenas, entre muchas, que tiene el Software Libre, es que nos permite revisar el código a cualquiera de nosotros. Esto es lo que ha pasado, por ejemplo, en este caso. Además, cómo no hay interés en esconder las vulnerabilidad por cuestiones económicas, se solucionan más rápido que las de código cerrado, en el que ni siquiera podemos saber qué hace el programa.

Leave a Reply

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax