204 votos

Heartbleed: ¿Qué es y cuáles son las opciones para mitigar?

Este es un Canónica Pregunta acerca de la comprensión y la aplicación de medidas correctoras en el Heartbleed problema de seguridad.

¿Qué es exactamente CVE-2014-0160, conocido como "Heartbleed"? ¿Cuál es la causa, lo que Sos y versiones de OpenSSL son vulnerables, ¿cuáles son los síntomas, existen métodos para detectar una explotación exitosa?

¿Cómo puedo comprobar si mi sistema es afectado? Cómo puede esta vulnerabilidad ser mitigados? Debo estar preocupado de que mis llaves u otros datos privados han sido comprometido? ¿Qué otros efectos secundarios debo preocuparme?

116voto

EEAA Puntos 66011

Primero, antes de alucinar, asegúrese de que usted entiende si o no esta vulnerabilidad en realidad se aplica a usted. Si usted tiene un servidor, pero nunca realmente han tenido las aplicaciones utilizando TLS, entonces esto no es una alta prioridad a la cosa para usted para fijar. Si, por otro lado, usted ha tenido TLS-aplicaciones habilitadas, bueno, entonces usted está adentro para un convite. Leer en:

¿Qué es exactamente CVE-2014-0160, conocido como "Heartbleed"?

Es un gran fricking lío, que es lo que es. En definitiva, una forma remota-de explotar vulnerabilidad fue descubierta en versiones de OpenSSL 1.0.1 a través de la 1.0.1 f a través de la cual un atacante puede leer ciertas partes de la memoria del sistema. Aquellas partes que contienen datos confidenciales, tales como claves privadas, las claves previamente compartidas, las contraseñas y los altos valores de los datos corporativos, entre otras cosas.

El error se descubrió de forma independiente por Neel Mehta de Seguridad de Google (21 de Marzo de 2014) y el finlandés ES de pruebas de seguridad de la firma de Codenomicon (2 de abril de 2014).

¿Cuál es la causa?

Bueno, errante código de OpenSSL. Aquí está la confirmación de que introdujo la vulnerabilidad, y aquí está la confirmación de que fija la vulnerabilidad. El error se presentó en diciembre de 2011 y fue parcheado el día de hoy, 7 de abril de 2014.

El error también puede ser visto como un síntoma de un problema más grande. Los dos problemas relacionados con (1) ¿qué proceso están en su lugar para asegurar errante código no se presentó a una base de código, y (2) ¿por qué son los protocolos y las extensiones tan complejo y difícil de la prueba. El punto (1) es una de gobernanza y el proceso de edición con OpenSSL y muchos otros proyectos. Muchos de los desarrolladores simplemente resistir prácticas tales como las revisiones de código, análisis y escaneo. Elemento (2) está siendo discutido en la IETF TLS del grupo de trabajo. Ver Heartbleed / protocolo de complejidad.

Fue el errante código maliciosamente insertado?

No voy a especular sobre si este era realmente un error o, posiblemente, un poco de código insertada en nombre de un mal actor. Sin embargo, la persona que ha desarrollado el código de OpenSSL se afirma que fue accidental. Ver el Hombre que introdujo la grave 'Heartbleed' falla de seguridad niega que insertado deliberadamente.

Lo que Sos y versiones de OpenSSL son vulnerables?

Como se mencionó anteriormente, cualquier sistema operativo que está utilizando, o la aplicación que está enlazado con OpenSSL 1.0.1 a través de la 1.0.1 f.

¿Cuáles son los síntomas, son los métodos para detectar una explotación exitosa?

Esta es la parte que da miedo. Como ya sabemos, no hay manera conocida para detectar si hay o no esta vulnerabilidad ha sido explotada. Es teóricamente posible que los IDENTIFICADORES de las firmas será lanzado pronto que pueda detectar este explotar, pero a partir de este escrito, los que no son disponibles.

Hay evidencia de que Heartbleed estaba siendo activamente explotada en la naturaleza como en noviembre de 2013. Ver el FEP es Salvaje en el Corazón: Fueron las Agencias de Inteligencia el Uso de Heartbleed en noviembre de 2013? Y Bloomberg informa de que la NSA había incorporados en el exploit poco después de la vulnerabilidad de la que se introdujo. Ver la NSA Dijo a Explotar Heartbleed Bug para la Inteligencia de los Años. Sin embargo, la Comunidad de Inteligencia estadounidense niega Bloomberg reclamaciones. Ver IC EN EL REGISTRO.

¿Cómo puedo comprobar si mi sistema es afectado?

Si usted es el mantenimiento de OpenSSL en su sistema, entonces usted puede simplemente cuestión openssl version:

$ openssl version
OpenSSL 1.0.1g 7 Apr 2014

Si la distribución es el mantenimiento de OpenSSL, entonces probablemente usted no puede determinar la versión de OpenSSL, debido a el uso de parches openssl comando, o el paquete de información (por ejemplo, apt-get, dpkg, yum o rpm). La parte de atrás de parches proceso utilizado por la mayoría (todos?) distribuciones sólo utiliza la base del número de versión (por ejemplo, "1.0.1 e"); y que no incluyen un efectivo de seguridad de la versión (por ejemplo, "1.0.1 g").

Hay una pregunta abierta sobre el Super Usuario para determinar el efectivo de seguridad de la versión de OpenSSL y otros paquetes los paquetes son backpatched. Lamentablemente, no hay respuestas útiles (aparte de revisar la distribución del sitio web). Véase Determinar Efectivos de Seguridad de la Versión cuando se enfrentan con Backpatching?.

Como regla general: si usted ha instalado una de las versiones afectadas, y alguna vez se han ejecutado programas o servicios que se enlaza en contra de OpenSSL para el soporte de TLS, entonces son vulnerables.

Donde puedo encontrar un programa para la prueba de la vulnerabilidad?

En horas de la Heartbleed anuncio, varias personas en internet había publicitado de acceso público a las aplicaciones web que supuestamente podría ser utilizado para la comprobación de un servidor para la presencia de esta vulnerabilidad. A partir de este escrito, no he revisado, por lo que no voy a dar mayor publicidad a sus aplicaciones. Se pueden encontrar con relativa facilidad con la ayuda de su motor de búsqueda preferido.

Cómo es esta vulnerabilidad mitigado?

Actualizar a una versión no vulnerable y restablecer o volver a asegurar vulnerables de datos. Como se señaló en el Heartbleed sitio, la respuesta adecuada pasos son a grandes rasgos:

  1. Parche de los sistemas vulnerables.
  2. Regenerar nuevas claves privadas.
  3. Presentar nuevas RSE a la CA.
  4. Obtener e instalar el nuevo certificado firmado.
  5. Invalidar las claves de sesión y cookies
  6. Restablecer las contraseñas y los secretos compartidos
  7. Revocar los certificados antiguos.

Para un análisis más detallado y la respuesta, a ver ¿Qué debe hacer un operador de un sitio web sobre el Heartbleed de OpenSSL explotar? en la Pila de Seguridad de Exchange.

Debo estar preocupado de que mis llaves u otros datos privados han sido comprometida? ¿Qué otros efectos secundarios debo preocuparme?

Absolutamente. Los Administradores de sistemas necesitan asumir que sus servidores que utiliza vulnerables de OpenSSL versiones están realmente en peligro y responder en consecuencia.

Poco después de que la vulnerabilidad fue revelada, Cloudfare ofrece un reto para ver si la clave privada del servidor podría ser recuperado en la práctica. El reto era independiente ganó por Fedor Indutny y Ilkka Mattila. Ver El Heartbleed Reto.

¿Dónde puedo encontrar más información?

Enlace de volcado, para aquellos que buscan más detalles:


Una vez detallada la cronología de la revelación de los eventos se puede encontrar en la Heartbleed divulgación de la línea de tiempo: ¿quién sabía qué y cuándo.


Si usted es un programador y están interesados en diversos trucos de programación como de la detección de un Heartbleed ataque a través de OpenSSL msg_cb de devolución de llamada, a continuación, ver OpenSSL Asesor de Seguridad 2014047.

43voto

200_success Puntos 3240

Una simple explicación del error, por XKCD:

XKCD 1354

36voto

Nathan Osman Puntos 1673

Ubuntu 12.04, 12.10, y 13.10

Ubuntu ha emitido USN-2165-1, el cual indica que los paquetes de actualización están ahora disponibles en los archivos. Ejecute los siguientes comandos para agarrar la corrección.

sudo apt-get update
sudo apt-get upgrade

Ubuntu 14.04

He subido un paquete Debian que contiene la nueva versión (1.0.1 g) a un PPA que he creado para este propósito. Estos tres comandos que se va a agregar a mi PPA para su sistema, actualizar la lista de paquetes disponibles, y la actualización de todo:

sudo add-apt-repository ppa:george-edison55/openssl-heartbleed-fix
sudo apt-get update
sudo apt-get upgrade

Nota: el PPA también ofrece paquetes para Ubuntu 12.04 y 13.10, sólo en caso de que prefiera para ejecutar la nueva versión (1.0.1 g) en lugar de utilizar las versiones de parches en los archivos.

Ubuntu 10.04

Esta es una Versión LTS, la versión del servidor todavía se admite y recibe actualizaciones de seguridad. Pero la vulnerabilidad heartbleed no afectar el paquete openssl de una instalación estándar de ubuntu 10.04, porque la versión es inferior a la versión 1.0.1.

La versión de escritorio se ha llegado al final de la vida y necesita ser actualizado / a instalar.

Ubuntu 13.04 y otras versiones no actualizadas

Ubuntu 13.04 tenido un muy corto ciclo de soporte técnico que usted no puede esperar. Se ha llegado al final de la vida y que ya no recibirá actualizaciones de seguridad más. Debe de largo se han actualizado. Si alguien la está usando, por favor, actualice ahora, ya sea desde cero o se puede actualizar no destructivo para 13.10 siguiendo este sencillo procedimiento: http://www.tecmint.com/upgrade-ubuntu-13-04-raring-ringtail-to-ubuntu-13-10-saucy-salamander/ Después de la actualización, el sistema recibe el heartbleed parche de 13.10.

Para todos los otros obsoletos versiones de ubuntu que significa, básicamente, de una nueva instalación es necesario.

Compruebe que se aplica el parche

Esencialmente, ejecute openssl version -a y asegúrese de que la fecha de construcción es el 7 de abril de 2014 o más tarde, pero a ver más aquí.

Reinicio

La mejor manera de asegurarse de que todos los servicios en función de OpenSSL se reinicia es reiniciar.

14voto

MadHatter Puntos 44059

RedHat 6.5 y CentOS 6.5

Estos son vulnerables. RedHat la fe de erratas RHSA-2014-0376 dice que hay parcheado disponibles, de las bibliotecas y cualquier persona afectada debe actualizar en la primera oportunidad.

En el momento de la escritura, CentOS aún no tiene una versión fija, pero Karanbir Singh publicación para CentOS-anunciar dice que se ha producido una actualización de la versión de openssl (openssl-1.0.1e-16.el6_5.4.0.1, tenga en cuenta los cuatro últimos dígitos, los cuales son importantes) que tiene el explotable TLS comando de movilidad, y que puede ser aplicado con seguridad ya que será reemplazado por una versión fija cuando es finalmente liberado.

El temporal-fijo versión parece que no lo han hecho en todos los espejos, pero es en el repositorio principal en http://mirror.centos.org/centos/6/updates/x86_64/Packages/ (y lo mismo para i686).

Edit: como Iain dice, no parece que ahora sea un parche para la versión de C6.5, y parece haber sido empujado alrededor de los espejos en un apuro. Una recta yum update tengo para mis servidores; openssl-1.0.1e-16.el6_5.7.

Versiones de RH6 y C6 antes de 6.5

Estos no son vulnerables. De acuerdo a este documento informativo de Red Hat,

Este problema no afecta a las versiones de openssl como se entregan con Rojo Hat Enterprise Linux 5 y Red Hat Enterprise Linux 6.4 y anteriores.

Karanbir Singh publicación para CentOS-announce es igualmente claro sobre las versiones:

Anteriormente en el día de hoy, hemos sido conscientes de la grave problema en openssl como se entregan en CentOS 6.5

13voto

jacksoncage Puntos 140

Debian Wheezy

Debian ha issed DSA-2896-1 y parcheado bibliotecas están disponibles aquí. Un script de shell está disponible aquí.

1. Parche

Apt-get repositorio actualizado así que ahora parcheado bibliotecas están disponibles a través de apt-get update && apt-get upgrade

apt-get upgrade libssl1.0.0 openssl

Alternativamente, (no se recomienda) los paquetes se pueden actualizar de forma manual:

wget http://security.debian.org/pool/updates/main/o/openssl/libssl1.0.0-dbg_1.0.1e-2+deb7u5_amd64.deb
wget http://security.debian.org/pool/updates/main/o/openssl/openssl_1.0.1e-2+deb7u5_amd64.deb
wget http://security.debian.org/pool/updates/main/o/openssl/libssl1.0.0_1.0.1e-2+deb7u5_amd64.deb
wget http://security.debian.org/pool/updates/main/o/openssl/libssl-dev_1.0.1e-2+deb7u5_amd64.deb

dpkg -i openssl_1.0.1e-2+deb7u5_amd64.deb
dpkg -i libssl1.0.0_1.0.1e-2+deb7u5_amd64.deb
dpkg -i libssl1.0.0-dbg_1.0.1e-2+deb7u5_amd64.deb
dpkg -i libssl-dev_1.0.1e-2+deb7u5_amd64.deb

2. Reinicie el servidor/servicios

Para una mejor protección de reiniciar el servidor completo o si el servidor no puede estar fuera de línea, a continuación, reinicie los servicios necesarios.

3. Comprobar Versión De OpenSSL

love@server:~$ openssl version
OpenSSL 1.0.1e 11 Feb 2013
love@server:~$ dpkg -l libssl1.0.0
||/ Name                    Version          Architecture     Description
+++-=======================-================-================-====================================================
ii  libssl1.0.0                 1.0.1e-2+deb7u6  amd64            SSL shared libraries

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X