Jul 29

Als E-Mail-Anbieter liegt es nahe auch einen Chatserver zu betreiben, und das größte öffentliche Chat-Netzwerk ist das Jabber-Netzwerk (auch XMPP-Netzwerk genannt, da das Protokoll XMPP heißt). Viele Anbieter bieten ihren Kunden auch einen Jabber-Server-Zugang, der automatisch die selben Zugangsdaten hat wie das E-Mail-Postfach, man kann ihn also sofort nutzen. Doch schaut man sich im Detail an was das für Jabber-Server sind und wie sie konfiguriert sind, dann stellen sich einem die Haare zu Berge. Einige kümmern sich anscheinend darum, auf dem neuesten Stand zu sein, Verschlüsselung richtig anzubeiten usw, und andere scheint das mal wieder nicht zu interessieren. Völlig veraltete Protokolle und Verschlüsselungsalgorithmen werden angeboten, man kann also gut sehen wer sich für die Sicherheit seiner Kunden interessiert und wer nicht.

Im Mai diesen Jahres wurden alle Jabber-Server-Anbieter dazu aufgerufen STARTTLS zur Pflicht zu machen, sodass man nicht ausversehen mit seinem Jabber-Programm eine unverschlüsselte Verbindung öffnen kann, und auch die Jabber Server untereinander nur noch verschlüsselt kommunizieren. Doch leider zieht ein großer Anbieter nicht mit: Google. Googles Jabber-Server (bzw. XMPP-kompatibler Server für Hangouts) bietet gar keine Verschlüsselung bei der Server-to-Server Kommunikation. Jeder Anbieter, der bei der S2S-Verbindung also STARTTLS zur Pflicht macht, schneidet seine Nutzer von anderen Jabber-Nutzern ab die bei Google online sind. Das hält (zurecht) viele davon ab dort das Häkchen zu setzen, sodass es vorerst bei der optionalen Verschlüsselung bleibt (wenn beide Server es unterstützen, wird verschlüsselt, was außer bei Google eigentlich bei allen Jabber-Servern der Fall ist).

In der folgenden Tabelle steht C2S für die Client-to-Server Verbindung, also vom Jabber-Programm beim Kunden zum Jabber-Server beim Anbieter. S2S steht hingegen für die Server-to-Server Verbindung zwischen zwei Jabber-Servern.

C2S und S2S erklärt

Hier nun die Ergebnisse:

ZertifikateProtokolleCiphersSTARTTLSTLSA(DANE)Tests
mail.deC2S: gültig
S2S: gültig
C2S: TLSv1, TLSv1.1, TLSv1.2
S2S: TLSv1, TLSv1.1, TLSv1.2
C2S: modern,
incl. PFS

S2S: modern,
incl. PFS
C2S: Pflicht
S2S: optional
ja
ja
C2S: A
S2S: A
FreenetC2S: gültig
S2S: gültig
C2S: SSLv3, TLSv1, TLSv1.1, TLSv1.2
S2S: SSLv3, TLSv1, TLSv1.1, TLSv1.2
C2S: schwach,
kein PFS

S2S: schwach,
kein PFS
C2S: optional
S2S: optional
nein
nein
C2S: A-
S2S: A-
GMXC2S: ungültig
S2S: ungültig
C2S: SSLv2, SSLv3, TLSv1
S2S: SSLv2, SSLv3, TLSv1
C2S: schwach,
kein PFS

S2S: schwach,
kein PFS
C2S: optional
S2S: optional
nein
nein
C2S: F
S2S: F
web.deC2S: ungültig
S2S: ungültig
C2S: SSLv2, SSLv3, TLSv1
S2S: SSLv2, SSLv3, TLSv1
C2S: schwach,
kein PFS

S2S: schwach,
kein PFS
C2S: optional
S2S: optional
nein
nein
C2S: F
S2S: F
1und1C2S: ungültig
S2S: ungültig
C2S: SSLv2, SSLv3, TLSv1
S2S: SSLv2, SSLv3, TLSv1
C2S: schwach,
kein PFS

S2S: schwach,
kein PFS
C2S: optional
S2S: optional
nein
nein
C2S: F
S2S: F
GMailC2S: gültig
S2S: -
C2S: SSLv3, TLSv1, TLSv1.1, TLSv1.2
S2S: -
C2S: schwach,
kein PFS

S2S: -
C2S: Pflicht
S2S: -
nein
nein
C2S: A-
S2S: -

GMail habe ich an das Ende gestellt weil sie bei der Server-to-Server Verbindung gar keine Verschlüsselung unterstützen, was meines Erachtens noch schlechter ist als eine schlecht konfigurierte Verschlüsselung.

DANE/TLSA habe ich bereits im vorletzten Artikel beschrieben, Anbieter die es nutzen sind sicherer durch den Einsatz von DNSSEC.

Mir sind keine anderen großen E-Mail-Anbieter bekannt die einen Jabber-Server anbieten…

Tagged with:
Jul 04

Vor kurzem machten zwei E-Mail-Anbieter von sich reden, die sicherheitstechnisch aufrüsten und nun DANE anbieten. Doch was ist DANE im Detail, und warum ist das eine gute Idee?

Ein großes Problem ist dass E-Mails nicht zwingend verschlüsselt übertragen werden. Die beteiligten Mailserver, zwischen denen E-Mails ausgetauscht werden, sprechen sich ab und wenn beide Verschlüsselung beherrschen, dann wird der Transportweg abgesichert. Und da tritt direkt das nächste Problem auf: Mailserver verwenden häufig keine gültigen Zertifikate. Aus diesem Grund werden häufig selbst-signierte Zertifikate verwendet, es gibt Mailserver mit abgelaufenen Zertifikaten, oder bei den Zertifikaten passt der Servername nicht. Alles Gründe, weshalb ein Browser eine Warnung anzeigen würde. Aber bei automatisierten Systemen wie Mailservern kann man keine Warnung anzeigen, man könnte höchstens die E-Mail nicht zustellen. Das jedoch würde dafür sorgen dass ziemlich viele E-Mails nicht zugestellt werden würden, weshalb heutzutage alle Mailserver jedes präsentierte Zertifikat annehmen und es zur Verschlüsselung verwenden. Sollte ein Angreifer also das Zertifikat auf dem Weg austauschen würde das niemand merken.

Und genau dort kommt DANE ins Spiel. DANE ist ein Verfahren, um Zertifikats-Informationen über einen Dienst aus dem DNS-System zu holen. Ein Mailserverbetreiber kann im DNS-System einen sogenannten TLSA-Eintrag hinterlegen, der einen Hash eines Zertifikats enthält. Ein sendender Mailserver, der DANE beherrscht, fragt also vor dem Verbindungsaufbau zu Anbieter B im DNS-System nach, ob der Anbieter B Zertifikatsinformationen für seine Mailserver hinterlegt hat in einem TLSA-Eintrag. Sollte das der Fall sein, wird diese Information genommen und mit dem eigentlichen Verbindungsaufbau verglichen. Sollte ein Angreifer nun das Zertifikat des Mailservers austauschen, würde dies auffallen und die E-Mail würde nicht versendet werden. Ebenso wird eine sogenannte Downgrading-Attacke vermieden, bei dem ein Angreifer in die Verbindung eingreift und die Fähigkeit der Verschlüsselung unterdrückt, sodass die E-Mail in diesem Fall unverschlüsselt übertragen werden würde. Sollte der Mailserver-Betreiber aber einen TLSA-Eintrag im DNS-System hinterlegt haben, so würde in diesem Fall die E-Mail gar nicht versendet werden, eine Klartextübertragung ist ausgeschlossen.

Doch ein Angreifer könnte ja auch, da er die Verbindungen des Opfers manipulieren kann, auch die DNS-Antworten verändern, und dort einen gefälschten TLSA-Eintrag an das Opfer senden. Deshalb ist es Pflicht, dass die DNS-Antworten signiert werden müssen, und diese Signatur muss auch überprüft werden. Dazu gibt es seit einigen Jahren DNSSEC, eine Signierung von DNS-Antworten, um Manipulationen im DNS-System zu verhindern.

Wenn also DNSSEC und TLSA-Einträge zusammenkommen, kann man Mailserververbindungen absichern. Und nicht nur das, jegliche Protokolle können damit abgesichert werden, zum Beispiel auch HTTPS, SMTP, IMAP, POP3, Jabber und weitere. Wichtig ist dabei nur dass der Verbindungspartner auch DANE unterstützt, was jedoch noch sehr wenige sind.

Hier eine Übersicht einiger E-Mail-Anbieter, die DNSSEC und DANE beherrschen:
(Update 16.10.2014: mailbox.org hinzugefügt)

AnbieterDNSSECDANEProtokolleBesonderheiten
mail.de++MX, HTTPS, SMTP, IMAP, POP3, CalDAV, CardDAV, WebDAV, JabberAuch alle Alias-Domains sind gesichert
mailbox.org++MX, HTTPS, SMTP, IMAP, POP3- (keine Aliasdomains zur Auswahl, nur externe Kundendomains, und die sind natürlich nicht gesichert)
posteo.de++MX, HTTPSKeine der Alias-Domains ist gesichert
GMX---
web.de---
Freenet---
T-Online---
Gmail---
Yahoo---
kabelmail.de---
ok.de---
outlook.com---
iCloud---
Arcor---
emailn.de---

Wie man sieht ist DANE leider noch nicht sehr weit verbreitet. Das liegt auch daran dass DNSSEC leider noch nicht sehr weit verbreitet sind bei den Domainhostern.

Jeder Mailserverbetreiber kann selbst recht einfach ausgehend DANE nutzen, dazu ist kein spezieller Domainhoster nötig. Alles was nötig ist ist ein DNSSEC-fähiger DNS-Resolver, und beispielsweise Postfix in Version 9.11.0 oder neuer. Dann noch DANE aktivieren, und schon wird bei versendeten E-Mails nach TLSA-Einträgen im DNS-System des Empfängers nachgeschaut.

smtp_dns_support_level = dnssec
smtp_tls_security_level = dane
smtp_tls_loglevel = 1

Als Endnutzer kann man sich mit Hilfe eines Browser-Addons die DNSSEC-und TLSA-Unterstützung anzeigen lassen für Webseiten. Das Addon für Chrome, Firefox, Internet Explorer, Opera und Safari zeigt mit Hilfe von grünen Icons an ob die Webseite sicher ist oder nicht.

DNSSEC TLSA Validator

Warten wir mal ab bis mehr Anbieter mitziehen. Leider scheinen einige sich abzukapseln und ein ähnliches System umzusetzen, genannt „E-Mail Made in Germany“. Zu diesem Club können sich nur deutsche Firmen anmelden, es gilt also nicht weltweit. Es kostet ca. 30.000€ dort beizutreten, kleine Mailanbieter oder private Mailserverbetreiber sind somit ausgeschlossen. Außerdem müssen dort manuell Textdateien mit Zertifikatsinformationen ausgetauscht werden. Mit DANE und TLSA-Einträgen hat man all diese Nachteile nicht, die eindeutig bessere Wahl.

Tagged with:
preload preload preload