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

19

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

enlace

¿Pueden ayudarme a comprender por qué esta mañana todavía tengo el error de corazón 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

    
pregunta Guillaume Vincent 08.04.2014 - 07:50

3 respuestas

28

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

Ha omitido varias líneas importantes en el resultado de la versión de OpenSSL, así es como usted sabe que ha sido parcheado, 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í, 7 de abril o después: estás bien. De lo contrario: estás en problemas.

Actualizar, 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 los contenidos de /etc/apt/apt.conf.d/10periodic y compruebe 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: enlace

    
respondido por el Mathieu Comandon 08.04.2014 - 08:25
12

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

A continuación, tenga en cuenta que se trata de una vulnerabilidad muy mala: puede haber permitido que los atacantes obtengan datos confidenciales conectándose a su servidor vulnerable. Si está ejecutando un servidor SSL, es posible que se haya filtrado cualquier dato que estaba 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 aplicar un parche al Error Heartbleed (CVE-2014-0160) en OpenSSL?

    
respondido por el Gilles 08.04.2014 - 11:43
7

No puedes confiar en las cadenas de versión internas. La versión dice 1.0.1e y 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, incluso si se aplican algunas actualizaciones. La única forma de identificar confiablemente su versión es buscar la versión del administrador de paquetes usando apt-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, parece ser afectada, ya que es 1.0.1f, ahora si verifico 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 <kurt@roeckx.be>  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 en absoluto. Pero no estoy ejecutando ningún servicio SSL / TSL, así que puedo esperar. Simplemente no tengo que generar certificados SSL usando esta versión de OpenSSL. Si lo hago, solo tengo que seguir los consejos de Gilles: retirar los servicios, revocar el certificado, generar nuevos.

    
respondido por el Braiam 08.04.2014 - 12:46

Lea otras preguntas en las etiquetas