Je cherchais un moyen fiable et portable de vérifier la version d'OpenSSL sur GNU / Linux et d'autres systèmes, afin que les utilisateurs puissent facilement savoir s'ils devaient mettre à niveau leur SSL à cause du bogue Heartbleed.
Je pensais que ce serait facile, mais j'ai rapidement rencontré un problème sous Ubuntu 12.04 LTS avec le dernier OpenSSL 1.0.1g:
version openssl -a
Je m'attendais à voir une version complète, mais à la place, j'ai eu ceci:
OpenSSL 1.0.1 14 mars 2012 construit le: mar. juin 4 07:26:06 UTC 2013 Plate-forme: [...]
A ma désagréable surprise, la lettre de version ne s'affiche pas. Non f, non g, juste "1.0.1" et c'est tout. Les dates indiquées ne permettent pas non plus de découvrir une version (non) vulnérable.
La différence entre 1.0.1 (af) et 1.0.1g est cruciale.
Des questions:
- Quel est un moyen fiable de vérifier la version, de préférence une distribution croisée?
- Pourquoi la lettre de version n'apparaît-elle pas en premier lieu? Je n'ai pas pu tester cela sur autre chose que Ubuntu 12.04 LTS.
D'autres signalent également ce comportement. Quelques exemples:
- https://twitter.com/orblivion/status/453323034955223040
- https://twitter.com/axiomsofchoice/status/453309436816535554
Quelques suggestions (spécifiques à la distribution):
- Ubuntu et Debian:
apt-cache policy openssl
etapt-cache policy libssl1.0.0
. Comparez les numéros de version aux packages ici: http://www.ubuntu.com/usn/usn-2165-1/ - Fedora 20:
yum info openssl
(merci @znmeb sur twitter) etyum info openssl-libs
Vérifier si une ancienne version d'OpenSSL est toujours résidente:
- Ce n'est pas complètement fiable, mais vous pouvez essayer
lsof -n | grep ssl | grep DEL
. Voir Heartbleed: comment vérifier de manière fiable et portable la version OpenSSL? pourquoi cela peut ne pas fonctionner pour vous.
Il s'avère que la mise à jour du paquet OpenSSL sur Ubuntu et Debian ne suffit pas toujours. Vous devez également mettre à jour le paquet libssl1.0.0, et -then- vérifier si openssl version -a
indique built on: Mon Apr 7 20:33:29 UTC 2014
.
[root@null~]# openssl version -a OpenSSL 1.0.1e-fips 11 Feb 2013
apt-cache policy openssl
et il a répondu avec: Installed: 1.0.1-4ubuntu5.12
qui est la 1.0.1g récemment publiée par Ubuntu pour 12.04 LTS. Je me suis déconnecté puis je suis rentré. Y a-t-il autre chose que je puisse faire pour vérifier?