Heartbleed – kein Ende und dann auch noch Opensuse 12.2

Das ganze Thema “Heartbleed” hält einen aus verschiedenen Gründen in Atem:

Einerseits, weil man nicht weiß, welche Systeme von Online-Diensten, die aktuell in einem Heartbleed-Test als OK gekennzeichnet werden, eigentlich wann genau vom Provider auf den momentan sichereren Stand gebracht wurden. Vielleicht geschah das erst gestern – und vorher war der Serverdienst über Monate hackbar? Auf Webservern mit CM-Systemen, Shops etc. treten die Folgen vielleicht erst künftig zu Tage ….

Es ist deshalb aus meiner Sicht schon aus Vorsichtsgründen erforderlich, alle Passwörter von solchen Diensten, bei denen SSL eine Rolle spielte, schleunigst zu ändern. Die Provider werden kaum in Gänze zugebe, dass sie auch betroffen waren. Bei gehosteten Blogs, CM-Diensten, Shops, … sind zudem umfangreichere Prüfungen auf potentielle ingeschleuste Schadcodes erforderlich. Die Heartbleed-Lücke zu stopfen ist aus meiner Sicht wirklich nur ein erster Schritt zur Schadensbegrenzung.

Der andere Grund sind die im Kundenauftrag verwalteten Server. Was Opensuse anbelangt:

Die betroffenen OpenSSL-Bibliotheken sind auf Opensuse 12.2, 12.3, 13.1 upzudaten, SSL-Zertifikate (Server- wie ggf. Client-Zertifikate) und Passwörter müssen geändert werden. Und der Kunde ist davon in Kenntnis zusetzen. Im Falle von Opensuse 12.3 und 13.1 ist wenigstens das Installieren oder Überinstallieren der aktuellen SSL-RPMs noch auf einfache Weise möglich.

Achtung: Bei den aktualisierten Opensuee-Paket-Versionen für SSL handelt es sich um gepatchte “e”-Versionen und keine “g”-Versionen der Openssl-Bibliotheken/Pakete. Also nicht dadurch verwirren lassen, dass man überall – zuletzt in Mails diverser Provider – liest, dass man unbedingt auf die g-Version upgraden müsse ! Stimmt nicht ! Eine gepatchte frühere Version tut es auch. Nicht nicht vergessen, Apache neu zu starten und danach erneut auf die Heartbleed-Schwäche zu testen!

z.B. über folgende Seite: http://filippo.io/Heartbleed/

Sonderfall Opensuse 12.2:
Leider kann man sich nicht immer aussuchen, wann die eigenen Kunden Geld in die Hand nehmen, um ihre (V-) Server upgraden zu lassen. Das Problem sind auch ein wenig die Provider, wie z.B. Strato. Die hinken mit ihren Angeboten zu virtuellen Servern bei den OS-Paketen dem Entwicklungsstand (vielleicht aus guten Gründen) immer ein ganzes Stück hinterher. V-Server bei Strato wurden z.B. noch vor einem Jahr mit Opensuse 12.2 angeboten. Nach 2 neuen Releases fällt die alte OS-Version aber aus der Update-Wartung durch Suse raus. So kann man mit einem gehosteten V-Server halt schon nach deutlich weniger als 18 Monaten aus dem Wartungsintervall herausfallen. Opensuse 12.2 wird z.B. seit Januar nicht mehr mit neuen Update-Paketen versorgt.

Was kann man nun tun, wenn man noch einen solchen “veralteten” Server verwalten muss?

Zunächst mal versuchen, dem Kunden anhand von “Heartbleed” klarmachen, wie wichtig eine relativ zeitnahe Upgrade- und Maintenance-Politik ist. Es gibt ja auf einem systematisch veraltenden System vermutlich noch viel mehr Schwachstellen als so ein Paradebeispiel wie SSL-Heartbleed. Darunter natürlich auch solche, die erst dann aufgedeckt werden, wenn es keine Updates mehr gibt.

Bekommt man vom Kunden nach einem Überzeugungsgespräch die Zeit und das Geld, so ist zunächst ein Upgrade von 12.2 auf 12.3 am sinnvollsten. Dieser Upgrade funktioniert nach meinen eigenen Erfahrungen relativ schmerzfrei. Ein Upgrade 12.2/12.3 auf 13.1 ist dagegen deutlich schwieriger, da man sich dabei mit einer Rekonfiguration des Apache-Servers herumschlagen muss, die wegen des Umstiegs der aktuellen Apache2 2.4-Version leider unumgänglich wird. Mich hat das damals (Nov. 2013) zumindest einiges an Zeit und Recherchen gekostet, bis die Webserver auf den upgegradeten 13.1-Systemen wieder anstandslos liefen.

Was aber, wenn man
aber kein Geld bekommt, um ein Upgrade durchzuführen?
Nun, dann führt wohl kein Weg an einer eigenen Kompilation des neuen SSL-Paketes aus den Sources inkl. Patch vorbei. Hierfür bietet sich ein Download der gepatchten aktuellen Source-Versionen für Opensuse 12.3 an, die dann gegen Opensuse 12.2 kompiliert werden müssen. Das ist der sicherste und korrekteste Weg. Er funktioniert und er bewahrt einen auch vor evtl. Pfad-Problemen. Die offiziellen Sources von OpenSSL und die zugehörigen Config/Make-Dateien gehen von einem anderen Verzeichnislayout als Opensuse aus.

Ein aus Sicherheitsaspekten deutlich problematischerer Weg besteht darin, Pakete zu nutzen, die von Dritten erstellt wurden. Das ist nicht nur eine Frage des Vertrauens. Programmware aus “privaten” Quell-Repositories zu installieren, ist immer ein potentielles Sicherheitsproblem und erfordert mindestens einen vorherigen Vergleich des (angeblich) verwendeten Sourcecodes gegenüber offiziellen Quellen und weitere nachfolgende Tests. Bei dem Zeitaufwand kann man dann auch schon gleich selbst kompilieren. Na ja, ….

Jedenfalls soll nicht unerwähnt bleiben, dass es unter
http://download.opensuse.org/repositories/home:/
Repositories gibt, die eine gepatchte 12.3 OpenSSL-Paketversion anbieten, die für Opensuse 12.2 kompiliert wurde.

Konkrete Hinweise findet man in
http://forums.opensuse.org/showthread.php/496947-opensuse-12-2-and-ssh-heartbleed/page3

Aber hier muss jeder selber wissen, wie er vorgeht. Bei allem Fluchen über die aktuellen Probleme:

  • Gut finde ich, dass die Sicherheitslücke gefunden wurde.
  • Gut finde ich auch, dass es Leute in der Opensource Community gibt, die sich regelmäßig um Sicherheit kümmern. Denn Lücken durch systematische Tests zu finden, erfordert Zeit und Aufwand. Und für den entsprechenden Einsatz sollte man den Leuten danken.
  • Noch besser finde ich, dass man kurzfristig mit Tipps versorgt wird, was man tun sollte und kann, um die Lücke zu schließen.

Schlecht finde ich nach der aktuellen Erfahrung die kurzen Wartungszyklen der Opensuse-Versionen. Das zeigt, dass die Community zwischenzeitlich immer mal wieder Long Term-Versionen (z.B. mit 3 Jahren Update-Versorgung) bereitstellen sollte.

Ansonsten bleibt mir nur, viel Erfolg beim Prüfen von Logs, Datenbankeinträgen etc. auf den Servern zu wünschen, die der OpenSSL-Verwundbarkeit ausgesetzt waren. Denn SSL setzt man ja z.B. ein, wenn Zugänge und Datentransfers für CM-Systeme etc. abgesichert werden sollten. Wurden die gehackt, so ….

Nachtrag 29.04.2012 :
Die in den vergangenen zwei Wochen in der dt. Presse erschienen Artikel zu Thema Heartbleed finde ich zum Teil unerträglich. Klar, es war ja zu erwarten, dass die Vertreter kommerzieller Closed Source Firmen das zum Anlass nehmen, Open Source zu kritisieren. Aber muss die Presse so unkritisch auf dieser Welle mitschwimmen? Welche Scheinheiligkeit! Als ob kommerzielle Interessen Sicherheit verbessern würden und als ob Entwickler bei kommerziellen Firmen besser und systematischer arbeiten würden als im Opensource Bereich. Nach meinen eigenen Erfahrungen kann man das keineswegs als grundsätzliche Feststellung treffen.
Tja, und man muss eigentlich lange nach Beispielen für Sicherheitsprobleme im kommerziellen Umfeld suchen? Spontan fallen mir ein: Die vielen, fast kontinuierlichen Probleme mit Java in den letzten Jahren, deren sich der kommerzielle Gigant Oracle nur schleppend annahm. Die laufenden Probleme mit dem MS IE und speziell die aktuellen Probleme mit dem MS IE 10. Oder auch: Die gezielte Entkernung von Linux in Bezug auf alle Sicherheitsaspekte bei der frühen Entwicklung von Android durch Google. Oder das Hacking von Linux Servern Anfang 2013, das seinen Ausgangspunkt allerdings in
massiven Fehlern von MS Windows Frontend-Systemen hatte …
Nein, es gibt nun wirklich keinen kausalen Zusammenhang der Art : kommerzielle Firma, Closed Source = Sicherheit. Allen Kritikern sei gesagt: Kehrt vor euren eigenen Haustür.