Perché gli aggiornamenti automatici non risolvono i bug heartbleed?


20

Ho seguito le istruzioni per installare aggiornamenti automatici per installare aggiornamenti di sicurezza automatici sul mio server (server Ubuntu 13.10).

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

Potete aiutarmi a capire perché stamattina ho ancora il bug senza cuore sul mio server?

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

altre informazioni:

$ 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

Grazie


2
Non rispondere alla tua domanda, ma dai un'occhiata alla risposta in questo per correggere il tuo sistema operativo askubuntu.com/questions/444817/am-i-affected-heartbleed-bug
Anello Ø

Sono d'accordo che dovresti avere una versione aggiornata. Il mio server 12.04 è su aggiornamenti automatici ed è stato aggiornato ieri. Hai controllato /var/log/apt/history.log?
Jos

@jos Ho avuto il contenuto del mio /var/log/apt/history.log, non ci sono ulteriori informazioni qui
Guillaume Vincent

Risposte:


28

Non hai la vulnerabilità Heartbleed sul tuo server, OpenSSL è stato corretto per risolvere questo problema (senza aggiornarlo).

Hai tralasciato diverse righe importanti nell'output della versione OpenSSL, ecco come sai che è stato corretto, non con il numero di versione:

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 linea "build on" è ciò che conta qui, 7 aprile o dopo: sei bravo. Altrimenti: sei nei guai.

Aggiornamento, poiché la data di costruzione non sembra essere buona:

Forse l'aggiornamento automatico non è ancora stato eseguito, sul mio server gli script in cron.daily sono configurati per essere eseguiti alle 6:25

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

Inoltre, controlla il contenuto di /etc/apt/apt.conf.d/10periodic e verifica che siano installati gli aggiornamenti di sicurezza:

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

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


1
Sono nei guai :(built on: Wed Jan 8 20:58:47 UTC 2014 platform: debian-amd64
Guillaume Vincent

corri sudo apt-get update && sudo apt-get dist-upgradee dovresti essere aggiornato.
Edd Turtle,

Grazie @EddTurtle, questa non è la mia domanda! La mia domanda è: perché l'aggiornamento automatico non funziona!
Guillaume Vincent,

il mio /etc/apt/apt.conf.d/10periodic non era buono o forse il cron non ha trovato alcun aggiornamento alle 5 del mattino. Grazie @ mathieu-comandon
Guillaume Vincent

@guillaumevincent Ho appena notato che gli aggiornamenti automatici erano l'ultimo pacchetto installato, quindi doveva essere un problema di configurazione.
Jos

12

Innanzitutto, è necessario eseguire l'aggiornamento. Gli aggiornamenti non presidiati vengono eseguiti solo una volta al giorno ed è passato meno di 1 giorno da quando è stata pubblicata la correzione (2014-04-07 intorno alle 20:00 GMT). Per ragioni impertinenti, assicurati di aver libssl1.0.0eseguito l' aggiornamento alla versione 1.0.1e-3ubuntu1.2 o successiva. (In particolare, la correzione è arrivata nella versione 1.0.1-4ubuntu5.12.)

Quindi, nota che questa è una vulnerabilità molto grave: potrebbe aver consentito agli aggressori di ottenere dati riservati connettendosi al tuo server vulnerabile. Se si esegue un server SSL, è possibile che trapelassero tutti i dati presenti nella memoria del server da poco prima dell'annuncio della vulnerabilità. Ciò include, in particolare, la chiave privata SSL del server, quindi è necessario generarne una nuova e revocare quella precedente.

Per ulteriori informazioni, vedere Come correggere il bug Heartbleed (CVE-2014-0160) in OpenSSL?


Qualcosa nella memoria del server per circa due anni potrebbe essere trapelato, non solo dal momento dell'annuncio.
pieroxy,

@pieroxy È molto probabile che tutto ciò che è rimasto nella memoria del server sia stato sovrascritto, al punto che dovresti anche preoccuparti di molti altri vettori di attacco. L'eccezione è se sei preoccupato per l'avversario che potrebbe aver saputo dell'errore in precedenza e averlo sfruttato in silenzio - gli avversari a livello governativo potrebbero averlo saputo, è improbabile che lo facciano i criminali ordinari.
Gilles 'SO- smetti di essere malvagio' il

7

Non puoi fidarti delle stringhe di versione interne. La versione dice 1.0.1ee il bug ha effetto dalla 1.0.0 alla 1.0.0f. È abbastanza per determinare se hai ancora una versione vulnerabile di openssl? No. La versione interna di OpenSSL non cambia, anche attraverso alcuni aggiornamenti vengono applicati. L'unico modo per identificare in modo affidabile la tua versione è guardare alla versione del gestore pacchetti usando apt-cache policyo altri strumenti:

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

Come puoi vedere, la mia versione di openssl è superiore, attraverso sembra essere influenzata, poiché è 1.0.1f, ora se controllo i log delle modifiche:

➜  ~ 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ì, sono ancora interessato. Non c'è alcun riferimento al CVE-2014-0160 nel registro delle modifiche di sorta. Ma non sto eseguendo alcun servizio SSL / TSL, quindi posso aspettare. Semplicemente non devo generare certificati SSL usando questa versione di OpenSSL. Se lo faccio, devo solo seguire i consigli di Gilles: eliminare i servizi, revocare il certificato, generarne di nuovi.


Nota: "apt-cache changelog" non è un comando valido per me, ma "aptitude changelog" lo è.
ColinM,

1
@ColinM scusa, è stato apt-get, non apt-cache, problema negli Appunti.
Braiam,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.