Alles, was Sie über SMTP-Sicherheit wissen müssen
Was verschicken Sie in Ihren E-Mails? Bilder von Ihrer letzten Reise oder Rezepte für Ihre Kinder? Geschäftsberichte für Ihren Vorgesetzten? Oder vielleicht etwas noch Vertraulicheres wie Login-Daten oder Sozialversicherungsnummern? Wir sind nicht hier, um zu urteilen. Aber was auch immer Sie in Ihre E-Mails schreiben, Sie wollen definitiv nicht, dass jemand anderes als der Empfänger es sieht. Zum Glück für uns alle kümmern sich fast alle E-Mail-Programme um die Verschlüsselung unserer E-Mails, so dass Sie sich nicht um Dinge wie sicheres SMTP oder SSL/TLS kümmern müssen. Aber wenn Sie eine bewusstere Entscheidung treffen wollen oder gerade dabei sind, Ihren eigenen Client einzurichten, ist es gut zu wissen, was wirklich unter der Haube passiert. Sehen wir mal nach!
Was ist SMTP? Ist es sicher?
Simple Mail Transfer Protocol ist die Technologie, die von der überwiegenden Mehrheit der E-Mail-Clients verwendet wird, um Nachrichten zwischen Servern auf dem Weg zum Endbenutzer zu bewegen. In einfachen Worten – es ist das, was Ihre E-Mails innerhalb von Sekunden zum Empfänger bringt, selbst wenn dieser gerade im 142er Bus am Stampede Trail in Alaska chillt (die LTE-Abdeckung könnte allerdings ein Faktor sein).
Stellen Sie sich SMTP als einen digitalen Briefträger vor, der zuerst Ihr Paket (E-Mail) abholt und es von Ihrem E-Mail-Client zum Server bringt, der treffend SMTP-Server genannt wird (da er ausschließlich zum Versenden von Nachrichten verwendet wird). Ein anderer Postbote holt dann das Paket ab und bringt es bis zum Server des Empfängers, wo es abgeholt und für Millisekunden auf dem POP3/IMAP-Server des Empfängers gespeichert wird. Wenn alle Höflichkeiten ausgetauscht sind, wird die eingehende Mail dann an den Empfänger zugestellt, ohne dass SMTP mehr beteiligt ist, sondern mit separaten IMAP/POP3-Protokollen.
Wie Sie sehen, kümmert sich SMTP um einen erheblichen Teil jeder ausgehenden Übertragung. Angesichts der Wichtigkeit und Allgegenwart dieses Protokolls sollte man meinen, dass es stark verschlüsselt und mit Spitzentechnologien aus den geheimen Labors von Google oder Yahoo! gesichert ist. Nun, nichts von alledem. Das Standard-SMTP-Protokoll verfügt über keinerlei Sicherheitsfunktionen, was es sehr anfällig für Hijacking und andere Formen von Angriffen macht. Es ist, als würde unser Postbote in einen öffentlichen Überlandbus einsteigen, eine Tasche mit Post auf einen der Sitze fallen lassen und gleich wieder aussteigen. Wird sie unversehrt bei einem Empfänger ankommen? Möglicherweise. Wird es einfach sein, zu überprüfen, was gesendet wird, oder, na ja, ein bisschen damit zu spielen, zu Ihrem oder dem Nachteil des Empfängers? Wahrscheinlich auch.
Was sind die Bedrohungen für die SMTP-Sicherheit?
Es gibt eine Reihe von Dingen, auf die man achten muss, wenn man auch nur eine kleine Menge an E-Mails überträgt. Hier sind die am häufigsten auftretenden:
Unbefugter Zugriff auf Ihre E-Mails und Datenverlust
Cyberkriminelle könnten versuchen, Zugriff auf Ihren SMTP-Server zu erhalten, über den alle ausgehenden E-Mails laufen. Dies geschieht, indem sie Ihre Authentifizierungsverfahren mit mehr oder weniger ausgeklügelten Methoden brechen. Wenn sie drin sind, können unerwünschte Besucher auf Ihre E-Mails zugreifen und sie zu ihrem Vorteil nutzen, indem sie zum Beispiel die Daten Ihrer Benutzer ausspähen oder vertrauliche Informationen stehlen, die Sie an Mitarbeiter geschickt haben.
Spam und Phishing
Wenn Betrüger in der Lage sind, auf Ihren SMTP-Server zuzugreifen, werden sie ihn wahrscheinlich auch nutzen, um nicht autorisierte Nachrichten sowohl an Ihre Kontakte als auch an externe Konten zu senden (dies wird als Nutzung Ihres Servers als Open Relay bezeichnet). Dies geschieht, um Spam zu versenden, der, wenn er von Ihrer legitimen und (wahrscheinlich) bekannten Domain gesendet wird, recht erfolgreich sein kann. Oder, was noch schlimmer ist, Ihr Server kann dazu benutzt werden, bösartige E-Mails zu versenden, in denen Ihre Benutzer beispielsweise aufgefordert werden, ihre Anmeldedaten oder Kreditkartennummern mitzuteilen.
Malware
Angreifer nutzen häufig die Schwachstellen von SMTP, um bösartige Software an die Empfänger Ihrer E-Mails, aber auch in Ihrer eigenen Infrastruktur zu verbreiten. Dabei kann es sich um Viren, Trojanische Pferde oder andere Arten von Würmern handeln, die dann dazu verwendet werden, den Betrieb zu stören, sich Zugang zu Servern zu verschaffen, Berechtigungen zu ändern und auf sichere Daten zuzugreifen. Wenn die Malware nicht mit ausreichender Kraft bekämpft wird, kann sie sich weiter ausbreiten und immer mehr Server und Benutzer infizieren.
DoS-Attacken
Wenn das alles noch nicht schlimm genug ist, können Cyberkriminelle Ihren SMTP-Server auch dazu nutzen, Denial-of-Service (DoS)-Attacken durchzuführen. Dies bedeutet im Grunde, andere Server mit einer riesigen Menge an E-Mails zu überfluten, um deren Leistung zu beeinträchtigen oder sogar einen Absturz zu verursachen. DoS kann auch dazu verwendet werden, einen Posteingang zu überfluten, um Warnmeldungen über Sicherheitsverletzungen auf einem Server zu verbergen. Was auch immer der Zweck einer DoS-Attacke ist, es ist nie gut.
Dies sind nur einige Beispiele. Aber gibt es eine Möglichkeit, unsere Verbindung zu sichern und ein solches Schicksal zu vermeiden?
Wie macht man SMTP sicher? Was ist SSL/TLS?
Auch E-Mail-Anbieter haben diese Schwachstellen bemerkt und schon in den frühen Tagen der E-Mail damit begonnen, das SMTP-Protokoll mit Sicherheitsschichten zu versehen. SSL (Secure Sockets Layer) wurde bereits 1995 von Netscape entwickelt. Die erste Version (1.0) wurde aufgrund ihrer Schwachstellen nie mit der Öffentlichkeit geteilt, aber v2.0 wurde schnell zum Must-Have-Feature für jeden seriösen E-Mail-Client.
Ein paar Jahre später wurde ein neuer Standard namens TLS (Transport Layer Security) veröffentlicht, der seitdem ständig verbessert wurde. SSL wurde schließlich 2015 veraltet und TLS in seiner Version 1.3 (die aktuellste zum Zeitpunkt der Erstellung dieses Artikels) gilt nun als Industriestandard. Obwohl es immer noch möglich ist, die neuesten Versionen von SSL zu verwenden, wird dies aufgrund verschiedener Sicherheitslücken, die entdeckt wurden, nicht empfohlen. Beachten Sie jedoch, dass die Bezeichnungen „SSL“ und „TLS“ austauschbar verwendet werden und ein Dienstanbieter oft auf SSL verweist, während er in Wirklichkeit TLS verwendet.
SSL/TLS bietet eine Möglichkeit, Nachrichten zu verschlüsseln, die zwischen Ihrem E-Mail-Client und dem E-Mail-Server ausgetauscht werden. Wenn Hacker die SMTP-Sicherheit durchbrechen, sehen sie nur eine Reihe von scheinbar zufälligen Zeichen, die den Inhalt der E-Mails ersetzen. Sie können ihre neu gewonnene Macht immer noch nutzen, um Schaden anzurichten, aber zumindest werden Sie und die Daten Ihrer Kontakte geschützt.
TLS unterstützt auch die Verwendung von digitalen Zertifikaten, die eine zusätzliche Sicherheitsebene bieten. Stellen Sie sich diese Zertifikate wie IDs oder Pässe vor, mit denen sich jede Seite des Prozesses identifiziert. Dieser Prozess wird Handshake genannt.
Wie funktioniert der Handshake?
Wir haben bereits festgestellt, dass jede E-Mail, die über SMTP verschickt wird, den folgenden Weg nimmt:
- E-Mail-Client des Absenders
- E-Mail-Server des Absenders
- E-Mail-Server des Empfängers
- E-Mail-Client des Empfängers
Wenn eine E-Mail eine dieser Etappen durchläuft, wird eine Verbindung aufgebaut und bei Verwendung von TLS müssen beide Seiten Vertrauen zueinander aufbauen. Dies wird als Handshake bezeichnet. Der Client des Absenders möchte wissen, dass er mit seinem eigenen Server kommuniziert und nicht mit etwas, das ihm nur ähnlich sieht, aber in Wirklichkeit eine Falle ist. Auch der Server möchte den anderen Server besser kennen lernen, bevor er ihm eine wertvolle Nachricht anvertraut. Erst nachdem sie sich gegenseitig geprüft und einige Regeln für die Zusammenarbeit aufgestellt haben, werden sie mit der Übertragung fortfahren.
Der Handshake besteht aus mehreren Schritten und läuft folgendermaßen ab:
- Der E-Mail-Client sendet eine „Hallo“-Nachricht, in der er angibt, mit welchen SSL/TLS-Versionen er kompatibel ist und welche Verschlüsselungsarten er unterstützt.
- Der Server sagt „Hallo“ zurück, aber seine Antwort ist anders. Er enthält sein digitales TLS-Zertifikat und seinen öffentlichen Verschlüsselungsschlüssel.
- Der E-Mail-Client prüft, ob das Zertifikat legitim ist. Wenn ja, fährt er fort mit…
- Erzeugen eines gemeinsamen geheimen Schlüssels mit dem öffentlichen Chiffrierschlüssel des Servers, den er gerade vor zwei Schritten erhalten hat.
- Der Server entschlüsselt dann den erhaltenen gemeinsamen geheimen Schlüssel.
- Wenn alles glatt gelaufen ist, können beide Seiten nun diesen gemeinsamen geheimen Schlüssel verwenden, um Nachrichten zu ver- und entschlüsseln, die zwischen ihnen gesendet werden.
Wenn Sie an einer viel detaillierteren Beschreibung dieser Begegnung interessiert sind, sehen Sie sich diese interessante Aufschlüsselung jedes Bytes an, das in einem TLS-Handshake verwendet wird.
Beachten Sie, dass die Verschlüsselung dieser Interaktion anfangs asynchron war (beide Seiten verwendeten unterschiedliche Schlüssel). Im Laufe des Handshakes konnten sie feststellen, dass die Verwendung eines gemeinsamen geheimen Schlüssels der richtige Weg war und die Verschlüsselung wurde synchron (und damit schneller).
Inspect Your Emails
Opportunistic vs Forced TLS. STARTTLS erklärt.
Damit ein Handshake überhaupt stattfinden kann, muss die Verbindung zwischen beiden Seiten hergestellt werden. Bei TLS kann man zwischen zwei verschiedenen Ansätzen für den Kommunikationsaufbau wählen:
Bei opportunistischem (explizitem) TLS teilt ein E-Mail-Client dem E-Mail-Server während des Handshakes mit, dass er mit ihm sprechen möchte, aber privat. Mit anderen Worten, er wird einen Wechsel von einer einfachen, nicht verschlüsselten SMTP-Verbindung zu einer TLS-verschlüsselten Verbindung vorschlagen. Wenn der Versuch fehlschlägt, beginnt er die Übertragung im Klartext, ohne jegliche Verschlüsselung.
Mit Forced (Implicit) TLS wird ein E-Mail-Client verlangen, dass sie privat sprechen (und die verschlüsselte Verbindung verwenden) Ein E-Mail-Server wird dann antworten, ob eine solche Vereinbarung für ihn funktioniert oder nicht. Wenn er mit der vom Client verwendeten Version von TLS nicht kompatibel ist, TLS überhaupt nicht unterstützt oder die Verbindung fehlschlägt, wird die Übertragung gestoppt und die E-Mail nicht weiter transportiert.
STARTTLS ist der SMTP-Befehl, der verwendet wird, um den Wechsel zu einer verschlüsselten Verbindung bei Verwendung von Opportunistic TLS einzuleiten. Trotz seines Namens kann er auch verwendet werden, um einen Wechsel zu SSL einzuleiten, wenn nur dieses Protokoll für beide Seiten aktiviert ist.
Praktisch alle E-Mail-Clients, die ihren Benutzern TLS-Verschlüsselung anbieten, bieten standardmäßig Opportunistic TLS an. Erzwungenes TLS kann oft auf Wunsch des Benutzers aktiviert werden, aber Sie sollten vorher die Vor- und Nachteile eines solchen Ansatzes abwägen. Die Wahl läuft darauf hinaus, ob Sie die maximale Zustellbarkeit (Opportunistic TLS) oder die maximale Privatsphäre (Forced TLS) sicherstellen wollen. Mit dem ersten Ansatz riskieren Sie, einige (wahrscheinlich sehr wenige) E-Mails unverschlüsselt zu versenden. Bei der zweiten könnte Ihre Zustellbarkeit ein wenig leiden. Die Wahl liegt bei Ihnen.
Ende-zu-Ende-Verschlüsselung
Ein weiterer Ansatz zur Sicherung der E-Mail-Kommunikation ist die Ende-zu-Ende-Verschlüsselung. Wie bereits erwähnt, verschlüsselt SSL/TLS die E-Mail nur auf dem Weg zwischen dem E-Mail-Client des Absenders und seinem E-Mail-Server. Eine Nachricht wird dann entschlüsselt und reist den ganzen Weg bis zum Posteingang des Empfängers unverschlüsselt und anfällig für Angriffe.
End-to-End-Verschlüsselungsmethoden bieten einen anderen Ansatz. Eine Nachricht wird auf dem Gerät des Absenders verschlüsselt, bevor sie überhaupt von einem Client gesendet wird. Dann reist sie durch das Netzwerk (oft wird sie auf dem Weg mit TLS verschlüsselt, was zusätzliche Sicherheit bietet). Wenn sie am Client des Empfängers ankommt, wird sie vom Empfänger entschlüsselt. Während der gesamten Übertragung ist die Nachricht zu jeder Zeit verschlüsselt. Selbst wenn sie einem Hijacking zum Opfer fällt, sind die Daten für einen Dieb unbrauchbar.
Damit die Ende-zu-Ende-Verschlüsselung funktioniert, müssen beide Seiten mit einer bestimmten Verschlüsselungsmethode kompatibel sein und die richtigen Schlüssel haben, um eine Nachricht zu ver- bzw. entschlüsseln. Nehmen wir an, Charlie (ein Absender) möchte eine Nachricht an Mary (eine Empfängerin) mit Ende-zu-Ende-Verschlüsselung senden. So würde der Vorgang aussehen:
- Mary generiert einen öffentlichen Schlüssel und einen privaten Schlüssel. Von nun an gibt sie den öffentlichen Schlüssel an jeden weiter, der ihr eine Nachricht schicken möchte, behält aber ihren privaten Schlüssel für sich.
- Charlie hat von Marys öffentlichem Schlüssel erfahren und verwendet ihn, um seine Nachricht zu verschlüsseln. Der Inhalt einer E-Mail wird in etwas verwandelt, das Chiffretext genannt wird, was wie eine zufällige Menge von Zeichen aussieht.
- Die Nachricht wird von Charlies E-Mail-Client den ganzen Weg zu Marys Client geschickt, wobei die Standardverfahren eingehalten werden. Wenn jemand die Nachricht auf dem Weg sehen würde, würde er nur einen Chiffretext sehen.
- Die Nachricht kommt an und Mary benutzt ihren privaten Schlüssel, um die Nachricht zu entschlüsseln.
Mary erkannte, dass das, was Charlie so sorgfältig verschlüsselt hatte, Flugtickets für ihre Überraschungs-Geburtstagsreise waren. Wie aufregend! Sofort forderte sie Charlies öffentlichen Schlüssel an, schrieb ihre Antwort und verschlüsselte sie mit dem erhaltenen Schlüssel. Er wird schon wissen, was zu tun ist, dachte sie.
Beliebteste Ende-zu-Ende-Verschlüsselungsmethoden
S/MIME
Secure/Multipurpose Internet Mail Extensions ist eine sehr beliebte Verschlüsselungsmethode. Es basiert auf asynchroner Verschlüsselung und wiederum auf einem Satz aus einem öffentlichen und einem privaten Schlüssel. Wie bei TLS verwendet ein Absender, der eine Nachricht verschlüsseln will, den öffentlichen Schlüssel des Empfängers. Beim Empfang einer Nachricht verwendet ein Empfänger seinen eigenen privaten Schlüssel, um den Inhalt einer E-Mail zu sehen. Mit S/MIME können Sie auch eine digitale Signatur an eine E-Mail anhängen, die bestätigt, dass Sie wirklich der Absender sind. Dies hilft, Spoofing zu verhindern. Diese Methode kann leicht zu populären E-Mail-Clients wie Gmail oder Outlook hinzugefügt werden.
PGP
Pretty Good Privacy (man muss den Namen lieben!) ist wahrscheinlich die populärste Verschlüsselungsmethode und existiert seit den frühen 90er Jahren. Es wird nicht nur zum Verschlüsseln von E-Mails verwendet, sondern auch von Dateien, Verzeichnissen und ganzen Festplattenpartitionen. Die Funktionsweise für E-Mails unterscheidet sich nicht von S/MIME. Es basiert ebenfalls auf der Kombination von privatem und öffentlichem Schlüssel, aber verschlüsselte Daten sind noch schwieriger zu knacken. PGP verwendet eine Mischung aus Datenkompression, Public-Key-Kryptographie und Hashing, um eine nahezu unknackbare Zeichenkette zu erhalten, die die geschützten Daten repräsentiert. Um den Absender zu validieren, wird auch dessen privater Schlüssel verwendet, um den Besitz eines Kontos zu zertifizieren. Seit 1997 ist PGP als nicht-proprietärer Standard unter dem Namen OpenPGP verfügbar, und es steht jedem frei, ihn in seine Software zu implementieren.
Bitmessage
Bitmessage wird oft als „Bitcoin der Kommunikation“ bezeichnet, und seine Benutzer behaupten, dass es viel sicherer und einfacher zu benutzen ist als die beiden zuvor behandelten Methoden. Um auf diese Weise Nachrichten zu versenden, erstellt jeder Benutzer eine Bitmessage-Adresse, die aus zwei Schlüsseln besteht – einem öffentlichen und einem privaten. Wie in allen oben genannten Fällen wird ein öffentlicher Schlüssel zum Verschlüsseln von Nachrichten verwendet und ein privater zum Entschlüsseln. Beim Entschlüsseln einer Nachricht werden verschiedene zusätzliche Verfahren angewendet, um zu bestätigen, dass Sie tatsächlich der Absender einer Nachricht sind. Diese können Hashing, Datenmapping, „Signieren“ der Nachricht sowie das Erbringen eines „Proof-of-Work“ beinhalten.
Schließlich wird eine Nachricht an ein öffentliches Netzwerk mit Tausenden von Benutzern gesendet. Jedes Mitglied lädt jede einzelne empfangene Nachricht herunter, kann aber nur die entschlüsseln, die mit seinem öffentlichen Schlüssel verschlüsselt wurde. Dadurch bleiben sowohl der Nachrichtentext als auch die Metadaten absolut sicher und sind sowohl für Gelegenheitshacker als auch für hochentwickelte Regierungsbehörden praktisch unmöglich zu durchdringen. Unnötig zu erwähnen, dass Bitmessage nach einem Skandal im Jahr 2013, der die E-Mail-Überwachungspraktiken der NSA aufdeckte, ein explosives Wachstum erlebte.
End-to-End-Verschlüsselungsmethoden sind sicherlich sicherer als TLS und sollten beim Versand vertraulicher Daten verwendet werden. Während der Einsatz von Bitmessage für den Versand von Wochenberichten an den Vorgesetzten vielleicht ein wenig übertrieben ist, sind sowohl S/MIME als auch PGP eine Überlegung wert. Denken Sie immer daran, dass beide Seiten mit der verwendeten Methode kompatibel sein müssen, sonst versteht die andere Seite nicht unbedingt, was Sie wirklich vorhatten.
Weitere Überlegungen
Wenn Sie TLS und/oder Ende-zu-Ende-Verschlüsselung eingerichtet haben, lohnt es sich auch, einen Blick darauf zu werfen, wie Sie Ihre E-Mails mit zusätzlichen Authentifizierungsmethoden ausstatten können. Sie dienen dazu, Spoofing Ihrer Kommunikation zu verhindern und auch die Zustellbarkeit Ihrer E-Mails zu verbessern.
Die am häufigsten verwendeten Methoden sind SPF und DKIM.
SPF wird verwendet, um einen Absender zu identifizieren, indem die IP-Adressen, die zum Senden von E-Mails im Namen einer bestimmten Domain verwendet werden, in die DNS-Einträge hochgeladen werden. Der empfangende Client prüft vor der Zustellung einer Nachricht, ob die richtige Adresse verwendet wurde, und kann eine Nachricht verwerfen, wenn er Anomalien feststellt.
DKIM hingegen ist ein digitales Zertifikat, das mit einer E-Mail verschickt wird. Es ermöglicht dem Empfänger einer Nachricht zu überprüfen, ob der Inhalt einer E-Mail oder die Kopfzeilen während der Übertragung nicht verändert (gefälscht) wurden. Ein fehlgeschlagener DKIM-Test beeinträchtigt die Zustellbarkeit einer Nachricht und kann ein Grund dafür sein, dass sie im Posteingang übersprungen wird.
DMARC ist die anspruchsvollste aller drei Methoden und nutzt die anderen beiden Methoden, um zusätzliche Prüfungen durchzuführen. Es ist die einzige Methode, die nicht nur einen Test durchführt, sondern dem empfangenden Server auch vorschlägt, was zu tun ist, wenn eine Nachricht eine Prüfung nicht besteht.
Es lohnt sich, alle drei Methoden für Ihre Domain einzurichten. Wir behandeln sie alle im Detail in separaten Artikeln, schauen Sie sich diese unter den obigen Links an.
Zuletzt lohnt es sich, zu überprüfen, ob Ihr SMTP-Server wie erwartet funktioniert. Sie können dies über Telnet tun oder eine Reihe von Tools verwenden, die solche Prüfungen anbieten. Siehe unseren Artikel zum Testen von SMTP-Servern.
Wenn Sie nach einer Möglichkeit suchen, E-Mails sicher zu testen, müssen Sie diese nicht an echte Benutzer senden. Mailtrap erstellt einen gefälschten SMTP-Server, der alle Ihre Test-E-Mails abfängt, ohne das Risiko, echte Benutzer zu spammen. Sie können dann Ihre Nachrichten in der Vorschau ansehen und an echte Posteingänge weiterleiten, bevor sie in der Produktion eingesetzt werden.
Testen Sie Mailtrap kostenlos
Zusammenfassung
Wir haben eingangs erwähnt, wie anfällig die SMTP-Verbindung ist. Zum Glück gibt es viele Methoden, die sie wirklich sicher machen können, und viele wurden bereits in verschiedenen E-Mail-Clients implementiert. Wir hoffen, dass Ihnen die Lektüre dieses Artikels gefallen hat. Schauen Sie sich auch die anderen Artikel in unserem Blog an, in denen wir viel über das Testen und Versenden von E-Mails sprechen. Bis zum nächsten Mal!
Wenn Ihnen dieser Artikel gefallen hat, teilen Sie ihn bitte und verbreiten Sie ihn weiter. Wir würden uns sehr darüber freuen.