Por que atualizações automáticas não corrigem um bug heartbleed?

19

Eu segui as instruções para instalar upgrades autônomos para instalar atualizações de segurança automáticas no meu servidor (servidor Ubuntu 13.10).

link

Você pode me ajudar a entender por que hoje de manhã ainda tenho o bug heartbleed no meu servidor?

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

outras informações:

$ 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

Obrigado

    
por Guillaume Vincent 08.04.2014 / 09:50

3 respostas

28

Você não tem a vulnerabilidade Heartbleed em seu servidor, o OpenSSL foi corrigido para corrigir esse problema (sem atualizá-lo).

Você deixou de fora várias linhas importantes na saída da versão do OpenSSL, que é como você sabe que foi corrigido, não com o número da versão:

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"

A linha 'build on' é o que importa aqui, 7 de abril ou depois: você é bom. Caso contrário: você está com problemas.

Atualize, pois a data de criação não parece ser boa:

Talvez a atualização autônoma ainda não tenha sido executada. No meu servidor, os scripts no cron.daily estão configurados para serem executados às 6:25

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

Além disso, verifique o conteúdo do /etc/apt/apt.conf.d/10periodic e verifique se as atualizações de segurança estão instaladas:

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

Fonte: link

    
por Mathieu Comandon 08.04.2014 / 10:25
12

Primeiro, você precisa realizar a atualização. Os upgrades autônomos são executados apenas uma vez por dia e faz menos de um dia desde que a correção foi lançada (2014-04-07 por volta das 20:00 GMT). Para atrevimento, certifique-se de que você atualizou para libssl1.0.0 versão 1.0.1e-3ubuntu1.2 ou superior. (Na verdade, a correção veio na versão 1.0.1-4ubuntu5.12.)

Em seguida, observe que essa é uma vulnerabilidade muito ruim: ela pode ter permitido que invasores obtenham dados confidenciais conectando-se ao seu servidor vulnerável. Se você estiver executando um servidor SSL, todos os dados que estavam na memória do servidor desde um pouco antes de a vulnerabilidade ser anunciada podem ter vazado. Isso inclui, em particular, a chave privada SSL do servidor, portanto você deve gerar um novo e revogar o antigo.

Para mais informações, consulte Como corrigir o problema Bug heartbleed (CVE-2014-0160) no OpenSSL?

    
por Gilles 08.04.2014 / 13:43
7

Você não pode confiar em seqüências de caracteres da versão interna. A versão diz 1.0.1e e o bug afeta de 1.0.0 a 1.0.0f. Isso é suficiente para determinar se você ainda tem uma versão vulnerável do openssl? Não. A versão interna do OpenSSL não muda, mesmo com algumas atualizações sendo aplicadas. A única maneira de identificar sua versão com segurança é procurar a versão do gerenciador de pacotes usando apt-cache policy ou outra ferramenta:

➜  ~  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 você pode ver, minha versão do openssl é superior, parece ser afetada, já que é 1.0.1f, agora se eu verificar os changelogs:

➜  ~ 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

Sim, ainda sou afetado. Não há referência ao CVE-2014-0160 no changelog. Mas eu não estou executando nenhum serviço SSL / TSL, então posso esperar. Eu simplesmente não tenho que gerar certificados SSL usando esta versão do OpenSSL. Se eu fizer isso, eu só tenho que seguir o conselho de Gilles: derrubar os serviços, revogar o certificado, gerar novos.

    
por Braiam 08.04.2014 / 14:46