Ab heute wurde ein Fehler in OpenSSL festgestellt, der Versionen 1.0.1
durch 1.0.1f
(einschließlich) und betrifft 1.0.2-beta
.
Seit Ubuntu 12.04 sind wir alle anfällig für diesen Fehler. Um diese Sicherheitsanfälligkeit zu beheben, sollten betroffene Benutzer auf OpenSSL aktualisieren 1.0.1g
.
Wie kann jeder betroffene Benutzer dieses Update jetzt anwenden ?
Antworten:
Sicherheitsupdates sind für 12.04, 12.10, 13.10 und 14.04 verfügbar ( siehe Ubuntu-Sicherheitshinweis USN-2165-1) .
Daher müssen Sie zuerst die verfügbaren Sicherheitsupdates installieren, indem Sie beispielsweise ausführen
von der Kommandozeile.
Vergessen Sie nicht, die Dienste (HTTP, SMTP usw.), die die betroffene OpenSSL-Version verwenden, neu zu starten , da Sie sonst immer noch anfällig sind. Siehe auch Heartbleed: Was ist das und welche Möglichkeiten gibt es, es zu mildern? auf Serverfault.com.
Der folgende Befehl zeigt (nach einem Upgrade) alle Dienste an, die neu gestartet werden müssen:
Danach müssen Sie alle Server-SSL-Schlüssel neu generieren und dann bewerten, ob Ihre Schlüssel möglicherweise durchgesickert sind. In diesem Fall haben Angreifer möglicherweise vertrauliche Informationen von Ihren Servern abgerufen.
quelle
openssl version
gibtOpenSSL 1.0.1 14 Mar 2012
. Das ist nicht die gepatchte Version, oder? Oder verstehe ich es falsch?1.0.1 14 Mar 2012
. Lesen Sie die Antwort von crimi, um herauszufinden, ob Ihre Installation das Update enthält.dpkg -l | grep ' openssl '
und bekommst,1.0.1-4ubuntu5.12
kannst du loslegen .Der Fehler ist als Heartbleed bekannt .
Bin ich verletzlich?
Im Allgemeinen sind Sie betroffen, wenn Sie einen Server ausführen, für den Sie irgendwann einen SSL-Schlüssel generiert haben. Die meisten Endbenutzer sind nicht (direkt) betroffen. Zumindest Firefox und Chrome verwenden kein OpenSSL. SSH ist nicht betroffen. Die Verteilung von Ubuntu-Paketen ist nicht betroffen (sie basiert auf GPG-Signaturen).
Sie sind anfällig, wenn Sie einen Server mit den OpenSSL-Versionen 1.0–1.0.1f ausführen (außer natürlich Versionen, die seit dem Erkennen des Fehlers gepatcht wurden). Die betroffenen Ubuntu-Versionen sind vertrauenswürdige Vorabversionen von 11.10 Oneiric bis 14.04. Es ist ein Implementierungsfehler, kein Fehler im Protokoll, daher sind nur Programme betroffen, die die OpenSSL-Bibliothek verwenden. Wenn Sie ein Programm haben, das mit der alten Version 0.9.x von OpenSSL verknüpft ist, ist dies nicht betroffen. Es sind nur Programme betroffen, die die OpenSSL-Bibliothek zum Implementieren des SSL-Protokolls verwenden. Programme, die OpenSSL für andere Zwecke verwenden, sind nicht betroffen.
Wenn Sie einen anfälligen Server ausgeführt haben, der dem Internet ausgesetzt ist, sollten Sie ihn als gefährdet betrachten, es sei denn, in Ihren Protokollen wird seit der Ankündigung am 07.04.2014 keine Verbindung angezeigt. (Dies setzt voraus, dass die Sicherheitsanfälligkeit vor ihrer Bekanntgabe nicht ausgenutzt wurde.) Wenn Ihr Server nur intern verfügbar gemacht wurde, hängt es von den anderen Sicherheitsmaßnahmen ab, ob Sie die Schlüssel ändern müssen.
Was ist die Auswirkung?
Der Fehler ermöglicht es jedem Client, der eine Verbindung zu Ihrem SSL-Server herstellen kann, ungefähr 64 KB Speicher vom Server abzurufen. Der Client muss in keiner Weise authentifiziert werden. Durch Wiederholen des Angriffs kann der Client in aufeinanderfolgenden Versuchen verschiedene Teile des Speichers sichern.
Einer der kritischen Datenbestandteile, die der Angreifer möglicherweise abrufen kann, ist der private SSL-Schlüssel des Servers. Mit diesen Daten kann sich der Angreifer als Ihr Server ausgeben.
Wie kann ich auf einem Server wiederherstellen?
Schalten Sie alle betroffenen Server offline. Solange sie ausgeführt werden, können wichtige Daten verloren gehen.
Aktualisieren Sie das
libssl1.0.0
Paket , und stellen Sie sicher, dass alle betroffenen Server neu gestartet werden.Sie können mit grep libssl überprüfen, ob die betroffenen Prozesse noch ausgeführt werden. (gestrichen) "/ proc / / maps"
Generieren Sie neue Schlüssel . Dies ist erforderlich, da der Fehler möglicherweise einem Angreifer ermöglicht hat, den alten privaten Schlüssel abzurufen. Gehen Sie genauso vor, wie Sie es ursprünglich getan haben.
Jetzt, da Sie neue, kompromisslose Schlüssel haben, können Sie Ihren Server wieder online schalten .
Sperren Sie die alten Zertifikate.
Schadensbewertung : Alle Daten, die sich im Speicher eines Prozesses befanden, der SSL-Verbindungen bedient, sind möglicherweise durchgesickert. Dies kann Benutzerkennwörter und andere vertrauliche Daten umfassen. Sie müssen auswerten, wie diese Daten gewesen sein könnten.
Wie kann ich auf einem Client wiederherstellen?
Es gibt nur wenige Situationen, in denen Clientanwendungen betroffen sind. Das Problem auf der Serverseite ist, dass jeder eine Verbindung zu einem Server herstellen und den Fehler ausnutzen kann. Um einen Client auszunutzen, müssen drei Bedingungen erfüllt sein:
wget
eine Datei heruntergeladen haben, gab es keine Daten zu verlieren.)Wenn Sie dies zwischen dem 07.04.2014 (UTC) und dem Upgrade Ihrer OpenSSL-Bibliothek getan haben, sollten Sie alle Daten, die sich im Speicher des Client-Prozesses befanden, als gefährdet betrachten.
Verweise
quelle
openssl
enthält Befehlszeilentools. Es wird nicht von Anwendungen verwendet, die die OpenSSL-Bibliothek zum Implementieren des SSL-Protokolls verwenden (z. B. Apache). Sie sollten jedoch nur die Sicherheitsupdates der Distribution anwenden.So können Sie feststellen, welche OpenSSL-Version unter Ubuntu installiert ist:
Wenn die folgende Versionsausgabe angezeigt wird, sollte ein Patch für CVE-2014-0160 enthalten sein.
Unter https://launchpad.net/ubuntu/+source/openssl/1.0.1-4ubuntu5.12 wird angezeigt , welche Art von Fehlern behoben wurden:
quelle
sudo service apache2 restart
openssl
repariert keine Anwendungen wie Apache, Nginx oder Postfix. Sie müssen sie aktualisierenlibssl1.0.0
und neu starten, wie in anderen Beiträgen erläutert.Wenn Ihr apt-get-Repository keine vorkompilierte OpenSSL- Version 1.0.1g enthält, laden Sie einfach die Quellen von der offiziellen Website herunter und kompilieren Sie sie.
Unterhalb der einzelnen Befehlszeile zum Kompilieren und Installieren der letzten openssl-Version.
curl https://www.openssl.org/source/openssl-1.0.1g.tar.gz | tar xz && cd openssl-1.0.1g && sudo ./config && sudo make && sudo make install
Ersetzen Sie alte openssl-Binärdatei durch die neue über einen Symlink.
Ihr seid alle gut!
Vgl. Diesen Blogbeitrag .
NB: Wie im Blog-Beitrag angegeben, wird durch diese Problemumgehung "Nginx- und Apache-Server, die mit 1.0.1g openSSL-Quellen neu kompiliert werden müssen" nicht behoben.
quelle
Für diejenigen, die kein serverweites Paket-Upgrade durchführen möchten. Ich habe heute ein paar dieser Anleitungen gelesen und
apt-get upgrade openssl
=== hiermitapt-get upgrade
werden alle für Ihren Computer erforderlichen Sicherheitskorrekturen angewendet . Wunderbar, es sei denn, Sie stützen sich explizit irgendwo auf eine alte Paketversion.Dies ist die minimale Aktion, die unter Ubuntu 12.04 LTS mit Apache 2 erforderlich ist:
Gehen Sie zu dieser Adresse und beweisen Sie, dass Sie die Sicherheitsanfälligkeit haben. Sie sollten die DIREKTE EXTERNE ADRESSE IHRES WEBSERVERS verwenden. Wenn Sie einen Loadbalancer (z. B. ELB) verwenden, wenden Sie sich möglicherweise nicht direkt an Ihren Webserver.
Führen Sie den folgenden 1 Liner aus, um Pakete zu aktualisieren und neu zu starten. Ja, ich habe in allen Reiseführern gesehen, dass Sie einen Zeitstempel nach dem 4. April 2014 haben sollten. Dies scheint für mich nicht der Fall zu sein.
apt-get update && apt-get installiere openssl libssl1.0.0 && /etc/init.d/apache2 restart
Stellen Sie sicher, dass Sie die entsprechenden Paketversionen installiert haben, und überprüfen Sie Ihren Webserver erneut auf die Sicherheitsanfälligkeit.
Die Schlüsselpakete lauten wie folgt: Ich habe diese Informationen mit dem folgenden Befehl ermittelt und dann die Cruft entfernt (Sie müssen nicht so viel über den Zustand meiner Maschinen wissen).
1.0.1-4ubuntu5.12
sollte NICHT die Sicherheitsanfälligkeit enthalten. Stellen Sie sicher, dass dies der Fall ist, indem Sie erneut die unten stehende Website aufrufen und Ihren Webserver testen.http://filippo.io/Heartbleed/
quelle
apt-get install openssl libssl1.0.0
tat es für mich. Laufenopenssl version -a
zeigt jetzt:built on: Mon Apr 7 20:33:29 UTC 2014
Mir sind hier viele Kommentatoren aufgefallen, die dringend Hilfe brauchen. Sie befolgen die Anweisungen und führen ein Upgrade und einen Neustart durch. Bei Verwendung einiger Testwebsites besteht weiterhin die Gefahr, dass sie nicht ordnungsgemäß ausgeführt werden.
Sie müssen sicherstellen, dass keine Pakete wie libssl zurückgehalten werden.
Um diese zu aktualisieren
apt-mark unhold libssl1.0.0
(zum Beispiel). Dann aktualisieren:apt-get upgrade -V
. Starten Sie dann die betroffenen Dienste neu.quelle