J'ai suivi les instructions pour installer des mises à niveau sans assistance afin d'installer des mises à jour de sécurité automatiques sur mon serveur (serveur Ubuntu 13.10).
https://help.ubuntu.com/community/AutomaticSecurityUpdates
Pouvez-vous m'aider à comprendre pourquoi ce matin j'ai toujours le bogue Heartbleed sur mon serveur?
$ openssl version -a
OpenSSL 1.0.1e 11 Feb 2013
built on: Wed Jan 8 20:58:47 UTC 2014
platform: debian-AMD64
les autres informations:
$ 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
Je vous remercie
Vous ne disposez pas de la vulnérabilité Heartbleed sur votre serveur, OpenSSL a été corrigé pour résoudre ce problème (sans le mettre à niveau).
Vous avez omis plusieurs lignes importantes dans la sortie de la version d'OpenSSL. C'est ainsi que vous savez qu'il a été corrigé, pas avec le numéro de version:
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 ligne "construire sur" est ce qui compte ici, à compter du 7 avril ou après: vous êtes bon. Sinon: vous avez des problèmes.
Mise à jour, car la date de construction ne semble pas être bonne:
Peut-être que la mise à niveau automatique n’a pas encore été exécutée, sur mon serveur, les scripts de cron.daily sont configurés pour être exécutés à 6:25.
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
Vérifiez également le contenu de /etc/apt/apt.conf.d/10periodic et vérifiez que les mises à jour de sécurité sont installées:
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";
Source: https://help.ubuntu.com/lts/serverguide/automatic-updates.html
Tout d'abord, vous devez effectuer la mise à niveau. Les mises à niveau sans surveillance ne sont exécutées qu'une fois par jour, et moins d'un jour s'est écoulé depuis la publication du correctif (2014-04-07 vers 20h00 GMT). Pour Saucy, assurez-vous que vous avez mis à niveau à libssl1.0.0
version 1.0.1e-3ubuntu1.2 ou supérieure. (Plus précisément, le correctif est entré dans la version 1.0.1-4ubuntu5.12.)
Notez ensuite qu’il s’agit d’une vulnérabilité très grave: elle a peut-être permis aux attaquants d’obtenir des données confidentielles en se connectant à votre serveur vulnérable. Si vous utilisez un serveur SSL, il est possible que des données présentes dans la mémoire du serveur peu avant l'annonce de la vulnérabilité aient été divulguées. Cela inclut en particulier la clé privée SSL du serveur. Vous devez donc en générer une nouvelle et révoquer l'ancienne.
Pour plus d'informations, voir Comment patcher le bogue Heartbleed (CVE-2014-0160) dans OpenSSL?
Vous ne pouvez pas faire confiance aux chaînes de version internes. La version indique 1.0.1e
et le bogue affecte les versions 1.0.0 à 1.0.0f. Est-ce suffisant pour déterminer si vous avez toujours une version vulnérable d'OpenSSL? Non. La version interne d'OpenSSL ne change pas, même si certaines mises à jour sont appliquées. Le seul moyen d'identifier de manière fiable votre version consiste à rechercher la version du gestionnaire de packages à l'aide de apt-cache policy
ou d'un autre outil:
➜ ~ 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
➜ ~
Comme vous pouvez le constater, ma version d’openssl est supérieure, elle semble être affectée depuis la version 1.0.1f. Maintenant, si j’ai consulté les journaux des modifications:
➜ ~ 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
Oui, je suis toujours affecté. Il n'y a aucune référence à la CVE-2014-0160 dans le changelog. Mais, je n’utilise aucun service SSL/TSL, je peux donc attendre. Je n'ai simplement pas à générer de certificat SSL avec cette version d'OpenSSL. Si je le fais, je dois simplement suivre les conseils de Gilles: supprimer les services, révoquer le certificat, en générer de nouveaux.