Ich suchte nach einer zuverlässigen und portablen Möglichkeit, die OpenSSL-Version unter GNU / Linux und anderen Systemen zu überprüfen, damit Benutzer aufgrund des Heartbleed-Fehlers leicht feststellen können, ob sie ihr SSL aktualisieren sollten.
Ich dachte, es wäre einfach, aber ich stieß auf Ubuntu 12.04 LTS mit der neuesten Version von OpenSSL 1.0.1g schnell auf ein Problem:
openssl version -a
Ich hatte erwartet, eine Vollversion zu sehen, aber stattdessen bekam ich Folgendes:
OpenSSL 1.0.1 14. März 2012 gebaut am: Di Jun 4 07:26:06 UTC 2013 Plattform: [...]
Zu meiner unangenehmen Überraschung wird der Versionsbrief nicht angezeigt. Kein f, kein g da, nur "1.0.1" und das wars. Die aufgeführten Daten helfen auch nicht dabei, eine (nicht) anfällige Version zu finden.
Der Unterschied zwischen 1.0.1 (af) und 1.0.1g ist entscheidend.
Fragen:
- Was ist ein zuverlässiger Weg, um die Version zu überprüfen, vorzugsweise Cross-Distribution?
- Warum wird der Versionsbrief nicht an erster Stelle angezeigt? Ich konnte dies nur mit Ubuntu 12.04 LTS testen.
Andere melden dieses Verhalten ebenfalls. Einige Beispiele:
- https://twitter.com/orblivion/status/453323034955223040
- https://twitter.com/axiomsofchoice/status/453309436816535554
Einige (distro-spezifische) Vorschläge für:
- Ubuntu und Debian:
apt-cache policy openssl
undapt-cache policy libssl1.0.0
. Vergleichen Sie die Versionsnummern mit den Paketen hier: http://www.ubuntu.com/usn/usn-2165-1/ - Fedora 20:
yum info openssl
(danke @znmeb auf Twitter) undyum info openssl-libs
Überprüfen, ob eine ältere Version von OpenSSL noch vorhanden ist:
- Es ist nicht ganz zuverlässig, aber Sie können es versuchen
lsof -n | grep ssl | grep DEL
. Siehe Heartbleed: Wie kann man die OpenSSL-Version zuverlässig und portabel überprüfen? Warum funktioniert das bei Ihnen nicht?
Es stellt sich heraus, dass die Aktualisierung des OpenSSL-Pakets unter Ubuntu und Debian nicht immer ausreicht. Sie sollten auch das Paket libssl1.0.0 aktualisieren und dann prüfen, ob dies openssl version -a
angezeigt wird 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
und es antwortete mit: Das Installed: 1.0.1-4ubuntu5.12
ist die 1.0.1g, die gerade von Ubuntu für 12.04 LTS veröffentlicht wurde. Ich habe mich abgemeldet und wieder angemeldet. Kann ich noch etwas tun, um mich zu verifizieren?