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 découvrir s'ils doivent mettre à jour leur SSL à cause du bogue Heartbleed.
Je pensais que ce serait facile, mais j'ai rapidement rencontré un problème sur Ubuntu 12.04 LTS avec la dernière version d'OpenSSL 1.0.1g :
openssl version -a
Je m'attendais à voir une version complète, mais à la place j'ai eu ça :
OpenSSL 1.0.1 14 Mar 2012
built on: Tue Jun 4 07:26:06 UTC 2013
platform: \[...\]
À ma désagréable surprise, la lettre de version n'apparaît pas. Pas de f, pas de g, juste "1.0.1" et c'est tout. Les dates indiquées n'aident pas non plus à découvrir une version (non) vulnérable.
La différence entre 1.0.1 (a-f) et 1.0.1g est cruciale.
Questions :
- Quel est le moyen le plus fiable de vérifier la version, de préférence à travers une distro ?
- Pourquoi la lettre de version n'est-elle pas affichée en premier lieu ? Je n'ai pas pu tester cela sur autre chose qu'Ubuntu 12.04 LTS.
D'autres personnes ont également signalé ce comportement. Quelques exemples :
- https://twitter.com/orblivion/status/453323034955223040
- https://twitter.com/axiomsofchoice/status/453309436816535554
Quelques suggestions (spécifiques à la distribution) nous parviennent :
- Ubuntu et Debian :
apt-cache policy openssl
yapt-cache policy libssl1.0.0
. Comparez les numéros de version aux paquets 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 présente :
- Ce n'est pas totalement fiable, mais vous pouvez essayer
lsof -n | grep ssl | grep DEL
. Voir Heartbleed : comment vérifier de manière fiable et portative la version d'OpenSSL ? sur les raisons pour lesquelles cela peut ne pas fonctionner pour vous.
Il s'avère que la mise à jour du paquet OpenSSL sur Ubuntu et Debian n'est pas toujours suffisante. Vous devez également mettre à jour le paquet libssl1.0.0, et -ensuite- vérifier si openssl version -a
indique built on: Mon Apr 7 20:33:29 UTC 2014
.