¿Por qué las actualizaciones desatendidas no solucionan el error de heartbleed?

20

He seguido las instrucciones para instalar actualizaciones desatendidas para instalar actualizaciones de seguridad automáticas en mi servidor (ubuntu server 13.10).

https://help.ubuntu.com/community/AutomaticSecurityUpdates

¿Me pueden ayudar a entender por qué esta mañana todavía tengo el error de heartbleed en mi servidor?

$ openssl version -a
OpenSSL 1.0.1e 11 Feb 2013
built on: Wed Jan  8 20:58:47 UTC 2014
platform: debian-amd64

otra información:

$ cat /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

$ cat /var/log/apt/history.log
....
Start-Date: 2014-04-03  15:33:59
Commandline: apt-get install nginx
Install: libxau6:amd64 (1.0.8-1, automatic), libx11-data:amd64 (1.6.1-1ubuntu1, automatic), libxcb1:amd64 (1.9.1-3ubuntu1, automatic), libvpx1:amd64 (1.2.0-2, automatic), libgd3:amd64 (2.1.0-2, automatic), libxdmcp6:amd64 (1.1.1-1, automatic), libxslt1.1:amd64 (1.1.28-2, automatic), nginx-common:amd64 (1.4.1-3ubuntu1.3, automatic), nginx:amd64 (1.4.1-3ubuntu1.3), nginx-full:amd64 (1.4.1-3ubuntu1.3, automatic), libx11-6:amd64 (1.6.1-1ubuntu1, automatic), libxpm4:amd64 (3.5.10-1, automatic)
End-Date: 2014-04-03  15:34:02

Start-Date: 2014-04-04  10:26:38
Commandline: apt-get install unattended-upgrades
Install: unattended-upgrades:amd64 (0.79.3ubuntu8)
End-Date: 2014-04-04  10:26:40

Gracias

Guillaume Vincent
fuente
2
No responde a su pregunta, pero eche un vistazo a la respuesta para solucionar su sistema operativo askubuntu.com/questions/444817/am-i-affected-heartbleed-bug
Anillo Ø
Estoy de acuerdo en que debe tener una versión actualizada. Mi servidor 12.04 está en actualizaciones automáticas y fue actualizado ayer. ¿Lo comprobaste /var/log/apt/history.log?
Jos
@jos Tenía el contenido de mi /var/log/apt/history.log, no hay más información aquí
Guillaume Vincent

Respuestas:

28

No tiene la vulnerabilidad Heartbleed en su servidor, OpenSSL ha sido parcheado para solucionar este problema (sin actualizarlo).

Ha dejado de lado varias líneas importantes en la salida de la versión de OpenSSL, así es como sabe que ha sido parcheada, no con el número de versión:

openssl version -a                                                                ✭
OpenSSL 1.0.1e 11 Feb 2013
built on: Mon Apr  7 20:33:19 UTC 2014
platform: debian-amd64
options:  bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx) 
compiler: cc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DOPENSSL_NO_TLS1_2_CLIENT -DOPENSSL_MAX_TLS1_2_CIPHER_LENGTH=50 -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
OPENSSLDIR: "/usr/lib/ssl"

La línea 'construir en' es lo que importa aquí, el 7 de abril o después: estás bien. De lo contrario: estás en problemas.

Actualización, ya que la fecha de compilación no parece ser buena:

Tal vez la actualización desatendida aún no se haya ejecutado, en mi servidor los scripts en cron.daily están configurados para ejecutarse a las 6:25

25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

Además, verifique el contenido de /etc/apt/apt.conf.d/10periodic y verifique que las actualizaciones de seguridad estén instaladas:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";

Fuente: https://help.ubuntu.com/lts/serverguide/automatic-updates.html

Mathieu Comandon
fuente
1
Estoy en problemas :(built on: Wed Jan 8 20:58:47 UTC 2014 platform: debian-amd64
Guillaume Vincent
solo corre sudo apt-get update && sudo apt-get dist-upgradey deberías estar al día.
Edd Turtle
Gracias @EddTurtle, ¡esta no es mi pregunta! Mi pregunta es por qué la actualización automática no funciona.
Guillaume Vincent
mi /etc/apt/apt.conf.d/10periodic no era bueno o tal vez el cron no encontró ninguna actualización a las 5 am. Gracias @ mathieu-comandon
Guillaume Vincent
@guillaumevincent Acabo de notar que las actualizaciones desatendidas fueron el último paquete que instaló, por lo que tenía que ser un problema de configuración.
Jos
12

Primero, debe realizar la actualización. Las actualizaciones desatendidas solo se ejecutan una vez al día, y ha pasado menos de 1 día desde que salió la solución (2014-04-07 alrededor de las 20:00 GMT). Por descarado, asegúrese de haber actualizado a la libssl1.0.0versión 1.0.1e-3ubuntu1.2 o superior. (En concreto, la solución vino en la versión 1.0.1-4ubuntu5.12.)

A continuación, tenga en cuenta que esta es una vulnerabilidad muy grave: puede haber permitido a los atacantes obtener datos confidenciales conectándose a su servidor vulnerable. Si está ejecutando un servidor SSL, es posible que se hayan filtrado los datos que estaban en la memoria del servidor desde un poco antes de que se anunciara la vulnerabilidad. Esto incluye, en particular, la clave privada SSL del servidor, por lo que debe generar una nueva y revocar la anterior.

Para obtener más información, consulte Cómo parchear el error Heartbleed (CVE-2014-0160) en OpenSSL?

Gilles 'SO- deja de ser malvado'
fuente
Es posible que se haya filtrado cualquier cosa en la memoria del servidor durante aproximadamente dos años, no solo desde el momento del anuncio.
pieroxy
@pieroxy Es muy probable que se haya sobrescrito cualquier cosa que haya estado en la memoria del servidor durante mucho tiempo, hasta el punto de que también debería preocuparse por muchos otros vectores de ataque. La excepción es que si le preocupa el adversario que podría haber sabido del error antes y lo explotó en silencio, los adversarios a nivel gubernamental podrían haberlo sabido, es poco probable que los delincuentes comunes lo hayan hecho.
Gilles 'SO- deja de ser malvado'
7

No puede confiar en las cadenas de versión interna. La versión dice 1.0.1ey el error afecta de 1.0.0 a 1.0.0f. ¿Es esto suficiente para determinar si todavía tienes una versión vulnerable de openssl? No. La versión interna de OpenSSL no cambia, aunque se aplican algunas actualizaciones. La única forma de identificar de manera confiable su versión es buscar la versión del administrador de paquetes usandoapt-cache policy u otra herramienta:

➜  ~  apt-cache policy openssl
openssl:
  Installed: 1.0.1f-1
  Candidate: 1.0.1f-1
  Version table:
 *** 1.0.1f-1 0
        500 http://http.debian.net/debian/ testing/main i386 Packages
        100 /var/lib/dpkg/status
➜  ~  dpkg -l openssl
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=================================
ii  openssl        1.0.1f-1     i386         Secure Sockets Layer toolkit - cr
➜  ~  

Como puede ver, mi versión de openssl es superior, ya que parece estar afectada, ya que es 1.0.1f, ahora si reviso los registros de cambios:

➜  ~ apt-get changelog openssl
openssl (1.0.1f-1) unstable; urgency=high

  * New upstream version
    - Fix for TLS record tampering bug CVE-2013-4353
    - Drop the snapshot patch
  * update watch file to check for upstream signature and add upstream pgp key.
  * Drop conflicts against openssh since we now on a released version again.

 -- Kurt Roeckx <[email protected]>  Mon, 06 Jan 2014 18:50:54 +0100

Sí, todavía estoy afectado. No hay ninguna referencia al CVE-2014-0160 en el registro de cambios. Pero no estoy ejecutando ningún servicio SSL / TSL, así que puedo esperar. Simplemente no tengo que generar certificados SSL con esta versión de OpenSSL. Si lo hago, solo tengo que seguir los consejos de Gilles: eliminar los servicios, revocar el certificado, generar nuevos.

Braiam
fuente
Nota: "apt-cache changelog" no es un comando válido para mí, pero "aptitude changelog" sí lo es.
ColinM
1
@ColinM lo siento, era apt-get, no apt-cache, problema del portapapeles.
Braiam