El grave fallo de OpenSSL (Heartbleed)

Hace dos días, saltaba una de las noticias sobre vulnerabilidades mas importantes de la era de internet. Después del fallo de Apple con el goto fail, y la vulnerabilidad de GnuTLS, llegaba el turno de OpenSSL.

OpenSSL es, probablemente, la librería mas usada para implementar SSL/TLS. La grandisima mayoría de servidores, utilizan esta librería para las conexiones HTTPS. Y este fallo en concreto, esta cifrado que ha afectado aproximadamente al 70% de los servidores a nivel mundial.

PERO… ¿CUAL ES EL FALLO?

El fallo esta en una función encargada de gestionar mensajes Heartbeat. Una función que fue introducida a partir de la versión 1.0.1. Esos mensajes son una forma de decirle al servidor que sigues conectado, y que no debe cerrar la conexión.

Estos mensajes, se envían con una carga o contenido, y el servidor, una vez recibe ese mensaje, responde con la misma carga.

El cliente debe decir también la longitud que tiene esa carga, para que el servidor la pueda leer sin adivinar donde acaba. Y el fallo esta precisamente aquí. En que el mensaje transmitido puede no ser correcto, podemos decirle al servidor que le enviamos 100 bytes, y en realidad, solo mandarle uno.

Entonces, cunado se ejecuta el ataque, OpenSSL recibe el mensaje de longitud 10, que le dice que tiene 100 bytes, almacenados en la posición 1080. Cuando el servidor tenga que responder, copiara los bytes desde el 1080, hasta el 1090. Pero OpenSSL continua, ya que para el, hay 100 bytes, y por lo tanto, va a llegar hasta la posición 1180.

Y si, en esas posiciones, nos podemos encontrar con sorpresas. Desde simplemente restos de otro paquete, hasta claves privadas.

Si repetimos el ataque de forma continua, podremos encontrar cosas realmente preocupantes.

ENTONCES, ¿QUE PODEMOS HACER?

Si tienes un servidor en MundiServer, o usas nuestro servicio sysadmin, ya hemos actualizado las librerías OpenSSL, minutos después de salir los respectivos parches. Por lo que no debes preocuparte.

Si no es así, debes actualizar cuanto antes OpenSSL mediante los repositorios pertinentes, o bien, compilarlo a mano. Posteriormente, deberás reiniciar los servicios afectados por OpenSSL (Correo, Apache, FTP si lo usas en modo seguro, Nginx, paneles de control….).

En caso de que no sepas como realizarlo, puedes optar por adquirir un plan sysadmin urgente para que te actualicemos la librería: (http://mundiserver.com/sysadmin.php)

[Total:0    Promedio:0/5]