TLS: Wie man sich selbst austrickst

Nicht das einer meiner geneigten Leser glaubt, ich hätte zuviel Phantasie oder mir wäre das selbst passiert und ich würde es jetzt in einer netten Story schön reden wollen, vergeßt es, es ist tatsächlich so passiert.

Was ist TLS ?

Um zu verstehen was genau passiert ist, muß ich etwas ausholen, da nicht jeder Leser wissen wird, was TLS genau macht.

Erstmal TLS ist die Transport Layer Verschlüsselung(Security) für Emailserver und Webseiten und hat SSL ( Secure Socket Layer ) abgelöst, weil es a) ein paar Vorteile gegenüber SSL hat und b) nicht komplett gebrochen ist wie SSL. (Ja, SSL ist tod, wer noch SSL 1-3 benutzt, kann es auch abschalten und die Rechenleistung anderweitig nutzen 😉 ).

Wenn ein Mailprogramm einen Mailserver mit TLS Unterstützung kontaktiert, tut er das auf den an sich unverschlüsselten Port 25. Der Mailserver meldet dem sich verbindenden Programm/Client/Server welche Möglichkeiten der Server anbietet, z.B. den Befehl STARTTLS . Finden ein sich verbindendes Programm diesen Befehl, wird es diesen Aufrufen und damit die Verbindung von unverschlüsselt auf verschlüsselt „upgraden“ .  Damit man das machen kann, sendet der Mailserver seinen öffentlichen Schlüssel in einem Zertifikat an das verbindende Programm und das baut daraus ein passendes Antwortpaket mit einem Sessionkey, der nur für diese eine Datenübertragung existiert. (Idealerweise)

Authentizität

Dabei wird geprüft, ob sich der Mailserver mit einem gültigen SSL-Zertifikat ausweist. An dieser Stelle wird es nun interessant. Unser Mailserver, kann wie die meisten Server, genau ein Zertifikat  benutzen, weil alle Domains auf seiner Hauptipadresse liegen. Für Emails ist das auch nicht tragisch, es geht ja nur um die Verschlüsselung des Transports. Also präsentiert der Mailserver sein gültiges Serverzertifikat, daß auf seinen Hostname ausgestellt ist, denn damit meldet sich der Server und damit weiß man, daß dies Zertifikat zum Host paßt. Soweit, so normal.

Die Experten

Jetzt gibt es Leute, die wollen wissen, ob sie abgehört werden, was ein naheliegendes Interesse ist. Deswegen prüfen sie, ob in dem Zertifikat das Ihnen angeboten wird, auch wirklich der Name des Mailserver drinsteht, mit dem sie sich verbinden wollen. Ist das nämlich nicht der Fall, könnte jemand an der Verbindung rumgespielt haben und sich als Man-in-the-Middle-Angreifer betätigt haben, um die Verbindung zu belauschen. Wenn ich jetzt auf Sicherheit und Authentizität wert lege, müßte ich aufhören und die EMail nicht zustellen, weil „irgendwas stimmt nicht“.

Damit Ihr mir folgen könnt, ein paar Beispiele :

$ dig mx bloggt-in-braunschweig.de
;; ANSWER SECTION:
bloggt-in-braunschweig.de. 21599 IN    MX    10 bloggt-in-braunschweig.de.

Das meint, daß die Emails für BIB.de  auf einem Mailserver mit dem Hostnamen „bloggt-in-braunschweig.de“ entgegengenommen werden. Verbindet man sich auf Port 25 dort hin, findet man das vor:

$ nc bloggt-in-braunschweig.de 25
220 s120.resellerdesktop.de ESMTP Exim 4.85_2 Sat, 27 Aug 2016 12:11:04 +0200

das meint, daß sich unser Mailserver mit „s120.resellerdesktop.de“ identifiziert, weil das sein Name ist. Entsprechend präsentiert er ein Zertifikat von s120.resellerdesktop.de . Das ist vollkommen ok so 🙂

Aber genau das ist, was einige Experten als den MITM-Angriff definiert haben, denn die haben erwartet, daß sich der Mailserver mit „bloggt-in-braunschweig.de“ meldet, was er nicht tut, weil er noch hunderte andere Domains beherbergt.

Jetzt der Catch 🙂

Statt jetzt aber die Verbindung zu trennen, wie man es bei einem MITM Angriff erwarten müßte, fällt der Expertenmailserver auf unverschlüsselte Kommunikation zurück und stellt die Email unverschlüsselt auf genau diesem Server zu!  Das ist FAIL² . Er hätte auch gleich das Zertifikat nehmen können, denn dann wäre die Email wenigstens verschlüsselt übers Netz gegangen, statt im Klartext.

Logik ist nicht jedermans Sache, wie es scheint 😀

Den Experten helfen…

Wenn man jetzt mit solchen Experten kommunizieren muß, ohne das man unverschlüsselte Emails haben will, kann man natürlich etwas tun, was allerdings mit Nachteilen daher kommt. Für den Augenblick sind diese aber vernachlässigbar.

Das Problem liegt ja in der Erwartungshaltung des sendenden Mailservers, der in unserem Beispiel bloggt-in-braunschweig.de haben wollte, aber s120.resellerdesktop.de bekommen hat. Der Name ist im DNS MX Eintrag hinterlegt, weil man so bei einem Domainumzug auf einen anderen Server lediglich einen Eintrag ändern muß. Der MX zieht quasi automatisch um.  Unsere Experten würden aber folgendes gerne sehen :

$ dig mx bloggt-in-braunschweig.de
;; ANSWER SECTION:
bloggt-in-braunschweig.de. 21599 IN    MX    10 s120.resellerdesktop.de

Wenn man also seinen MX auf den „echten“ Namen des Mailserver ändert, sind diese Expertenserver zufrieden und schicken einem ab sofort wieder reguläre TLS verschlüsselte EMails zu.

Man darf nur nicht vergessen, daß man bei einem Domainumzug auch den MX ändert, wenn der neue Mailserver anders heißt. Es ist also auch davon abhängig wie der Provider seine Umgebung betreibt.

 

Neue TLS Probleme beim BSI

Vor zwei Wochen habe ich auf Probleme beim EMailversand des BSI aufmerksam gemacht. Damals bekam ich nach 24h die Rückmeldung, daß die Probleme behoben seien.

Leider mußten wir heute feststellen, daß das BSI Mailserver benutzt, die nicht-deterministisch sind, sprich, mal gehts, mal nicht 😉  Einer unser Server, der die gleiche Konfig hat wie alle anderen mit StartTLS anbietet, bekam nun unverschlüsselt Post vom buerger-cert.de Mailserver, obwohl dieser keine Stunde vorher einem anderen Server eine TLS verschlüsselte Verbindung angeboten hat… HMMMM!

Da haben wir dann mal genauer hingesehen und fanden noch weitere Probleme beim TLS des bei der OpenIT GmbH gehosteten Servers:

A) Es fällt auf, daß buerger-cert.de als MX gar keinen eigenen Mailserver einsetzt, sondern den zentral Mailserver von Openit.de benutzt :

2016-08-23 13:18:08 1bc9iZ-0005l4-Nl => mailversand@buerger-cert.de R=dnslookup T=remote_smtp H=mx.openit.de [217.69.65.200] X=TLSv1:AES128-SHA:128 C=“250 Ok: queued as E9B4011A055″

Das wird den gleichen Sicherheitslevel haben wie mx.kundenserver.de aka 1und1 Mailserver, oder vielleicht doch nicht ? 🙂

B) Nein, haben sie nicht, denn der dort eingesetzte Postfix Mailserver (220 mx.openit.de ESMTP Postfix)  scheint „etwas“ veraltet zu sein, oder auf veralteter Software zu laufen, denn er bietet nur TLS 1.0 an. Experten kennen das auch als SSLv3 und das ist ja bekanntlich geknackt worden und sollte nicht mehr eingesetzt werden.

Jetzt muß man 1und1 bescheinigen, wenigstens konsequent zu sein und überall TLS 1.2 einzusetzen, aber dafür immer noch SSLv3 anzunehmen 😀 Was die Macher von ssl-tools.net dazu meinen, kann man hier sehen :

https://ssl-tools.net/mailservers/1und1.de    (Ja, den Gag versteht man nur, wenn man den Link aufruft 😉 )

Was ssl-tools.net vom bueger-cet.de Mailserver hält, sieht man hier :

BSI-Neue-Probleme-mit-TLS(Stand: 25.8.2016 )

C) Die Mailserver im Cluster sind unterschiedlich konfiguriert … hää ?????? Einer kann TLS 1.2 der nächste nicht ??  Da kann man nur den Kopf schütteln.

Fazit

Auch wenn das BSI ein Problem gelöst hat, es sind noch viel mehr vorhanden. Bin mal gespannt, wann das behoben wird, denn die Meldung an das BSI ging natürlich vor diesem Artikel raus 🙂

BSI versendet Emails ohne TLS Verschlüsselung

Mit Werbewirksamen Aktionen haben große Hoster wie 1und1, DTAG, GMX & Co. vor 2 Jahren damit geworben, daß sie auch endlich SSL/TLS zum Verschlüsseln von Emails auf dem Transportweg einsetzen. Die DTAG (Deutsche Telekom AG ) fiel dabei besonders negativ auf, weil sie der letzte Hoster in Deutschland war, der TLS aktiviert hat.

Heute nun mußten die Admins der Firma Evolution Hosting, die seit Anbeginn der TLS Era SSL und TLS Verbindungen zu Ihren Emailservern unterstützt hat, feststellen, daß ausgerechnet das Bundesamt für Sicherheit in der Informationstechnik (BSI) noch EMailserver aus der digitalen Steinzeit nutzt, die nicht per se TLS zum Senden von Emails benutzen.

Opensource Emailserver wie Exim oder PostFix senden grundsätzlich mit aktiviertem TLS, wenn der empfangene Server das zuläßt.

Damit ist das BSI aber nicht alleine, denn Massenemails werden auch von anderen prominenten TLS Verweigerern weiterhin ungeschützt verschickt, teilweise mit Kundenummer und Anschrift im Emailnachrichtenteil. Mit dabei sind u.a.:

otto.de
deichmann.com
weltbild.de
buerger-cert.de  (BSI)
braunschweiger-zeitungsverlag.de

Dabei schneiden sich diese Unternehmen selbst ins Fleisch, denn immer mehr Server nehmen nur noch TLS Verschlüsselte Verbindungen an, da Spambots i.d.R. unverschlüsselt senden wollen. Dementsprechend groß war der Spameinbruch, nachdem EvH diese Option für seine Kunden aktiviert hatte.

Ein Lichtblick

Das BSI hat innerhalb von 20h reagiert und Abhilfe versprochen:

Sehr geehrte/r Frau/Herr *******,

vielen Dank für den Hinweis. Wir werden dies abstellen.

Mit freundlichen Grüßen
das Team CERT-Bund