Seit dem Bekanntwerden von diversen Sicherheitslücken in OpenSSL wie die POODLE Attacke haben Admins weltweit SSLv3 deaktiviert. Das bedeutet, TLS ist der neue Standard. Aber auch TLS 1.0 hat erneut (dieselben) Sicherheitslücken, so dass auf TLS 1.2 aufgestiegen und TLS 1.1 gleich ganz übersprungen werden sollte.

Nebst TLS 1.0 ist auch TLS 1.1 unter Umständen angreifbar für die POODLE Downgrade Attacke.

So weit, so verständlich. Privat ist so ein Umstieg auch leicht gemacht, weil alle üblich benutzten Linux-Distributionen – sei es Debian, Ubuntu-Server oder CentOS – das OpenSSL 1.0.1 mitliefern, welches benötigt wird für TLS 1.2. Man glaubt es kaum, aber eine der grössten Business-Distributionen pfeift auf ein aktuelles OpenSSL und liefert selbst im Patch von Sommer 2015 nicht nach!

SLES 11 SP4: Pfui!

 OpenSSL VersionTomcat APR-SSL Connector maximales TLSTomcat BIO-SSL (JSSE): Connector maximales TLS
Suse Linux Enterprise Server 11 SP30.9.8j-0.74.1TLS 1.0TLS 1.2
Suse Linux Enterprise Server 11 SP40.9.8j-0.74.1TLS 1.0TLS 1.2
Debian 7.81.0.1e-2+deb7u17TLS 1.2TLS 1.2
Debian 8.11.0.1k-3+deb8u1TLS 1.2TLS 1.2
RedHat 6.61.0.1eTLS 1.2TLS 1.2
RedHat 7.11.0.1eTLS 1.2TLS 1.2

SLES 11 SP4 erschien erst kürzlich am 16. Juli 2015. Zum Vergleich: OpenSSL 1.0.1 gibt es schon seit 2012, die von RedHat 6.6 genutzte Version «1.0.1e» beispielsweise gibt es seit Januar 2014 und wurde von RedHat zügig ins Repository aufgenommen.

Tomcat mit BIO-SSL (JSSE) oder APR-SSL?

In Zusammenhang mit einem Tomcat gibt es zwei Varianten, SSL einzubauen: Über APR-SSL oder BIO-SSL (JSSE) Implementation. APR-SSL rennt mit der lokalen OpenSSL Version, also libopenssl des Linux Servers. BIO-SSL hingegen ist eine Programmierung in Java von Oracle und bringt eigene SSL Libraries mit.

Bloss, ist dieses BIO-SSL JSSE wirklich sicher? Ich möchte das hinterfragen, Oracle ist nicht gerade bekannt dafür, dass dort alles auf Sicherheit getrimmt wird. Ich traue Oracle sogar zu, es bewusst unsicher zu programmieren. Aus diesem Grund behaupte ich einfach frech – nein, BIO-SSL ist nicht sicher genug weil das Gegenteil nicht genügend geprüft wurde. Es kann also sein, dass selbst beim Aufbau von TLS 1.2 mit BIO-SSL JSSE (am Besten gleich noch auf einem SLES 11 SP4 mit ur-ur-alt OpenSSL 0.9.8) noch ganz andere Sicherheitslücken mit eingebaut werden. Deshalb sollte man auf APR-SSL umstellen, welches – oh wunder – in jedem Fall abhängig ist vom lokal installierten libopenssl.

./testssl.sh – ein geniales Testscript

Wer seinen eigenen Tomcat, oder Apache, oder Nginx einmal teste möchte, dem empfehle ich das Testscript von https://testssl.sh. Ich habe es gestern erst entdeckt und finde es genial.

Mit einem simplen Befehl analysiert das Script die SSL Verbindung und gibt sehr informative Rückmeldung. Nachfolgend ein Beispiel mit Zielserver Tomcat, BIO-SSL auf SLES 11 SP4, getestet ausgehend von einem ReadHat 7.1 mit OpenSSL 1.0.1 (lokal von SLES 11 SP4 kann ja schlecht getestet werden, hat ja kein neustes OpenSSL…).

./testssl.sh Resultat Beispiel

./testssl.sh IP-oder-Domain.com:port

Ist doch genial, nicht :-)?


Schroeffu

Der Autor ist Schweizer, verheiratet, Vater von bisher einem Kind und seit November 2015 zu seiner liebevollen Frau nach Braunschweig, Deutschland, ausgewandert. Mit im Gepäck: Die Familienplanung, jede Menge Plüsch-Pinguine und die Tastatur zum bloggen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.