Bei der Kommunikation von Mailserver zu Mailserver werden die meisten E-Mails jedoch nach meinem besten Wissen immer noch im Klartext und nicht verschlüsselt übertragen, sodass jeder im Netzwerk ihre Inhalte lesen kann.
Richtig. SMTP ist wie HTTP standardmäßig Klartext.
Heutzutage unterstützen viele Mailserver TLS (früher als SSL bezeichnet) für SMTP. (Dazu gehört Google Mail.) Allerdings hat es die gleichen Probleme wie bei HTTP [S]: Zertifikate , die von bekanntem ausgestellt CAs kosten Geld, und selbst signiert diejenigen wertlos sind 1 zum Schutz gegen MITM - Angriffe . Wenn Ihr Mailserver das Zertifikat des Empfängers genau überprüft (wie es Webbrowser tun), kann er möglicherweise keine Nachrichten an Server übermitteln, die selbstsignierte Zertifikate oder interne Zertifizierungsstellen verwenden. Wenn dies nicht der Fall ist , kann es nicht sicher sein, dass es sich um den richtigen Server handelt und nicht um einen Betrüger .
Außerdem ist TLS eine relativ neue Erweiterung von SMTP. Selbst wenn der Mailserver des Empfängers TLS unterstützt, ist TLS möglicherweise nicht vom Absender oder standardmäßig deaktiviert.
1 (Es sei denn, der sendende Server unterstützt DANE (TLSA) und der Administrator des empfangenden Servers möchte die TLSA-Einträge in DNS veröffentlichen. Dies ist selten und etwas mühsam.)
Gibt es Technologien, die dem Benutzer einige Garantien dafür geben, dass seine E-Mails von Ende zu Ende sicher gesendet werden?
Zwei gängige E-Mail-Sicherheitsstandards:
OpenPGP , basierend auf Web of Trust und kostenlos zu verwenden. Die Open-Source-Implementierung ist GnuPG ( für Windows , für Thunderbird ), und das ursprüngliche PGP wurde zum kommerziellen PGP Desktop .
Für webbasierte E-Mail-Clients ist FireGPG eine Möglichkeit - verdammt noch mal
S / MIME , basierend auf der X.509-Infrastruktur. Implementiert von den meisten Desktop-Clients (einschließlich Outlook, Thunderbird, Mail.app). Aufgrund der gleichen autoritätsbasierten Struktur wie TLS / SSL jedoch relativ unbeliebt: Signierte Zertifikate kosten Geld, und selbstsignierte können nicht zuverlässig validiert werden.
In beiden Fällen setzt die Verschlüsselung voraus , dass der Empfänger das System bereits verwendet und ein Schlüsselpaar generiert / erhalten hat. (Zum Signieren wird das Schlüsselpaar des Absenders verwendet. Normalerweise werden Nachrichten sowohl signiert als auch verschlüsselt.)
Lassen Sie den Benutzer wissen, wenn die Verschlüsselung nicht unterstützt wird, und legen Sie fest, ob seine E-Mail weiterhin zugestellt werden soll.
Normalerweise werden gesendete Nachrichten in die Warteschlange gestellt , und weder der Benutzer noch der MTA können wissen, ob der nächste Hop TLS unterstützt oder nicht - bis die Nachricht gesendet wird. Zu diesem Zeitpunkt gibt es keine zuverlässige Möglichkeit, den Benutzer um Bestätigung zu bitten. (Möglicherweise handelt es sich um AFK, Offline, Sleeping oder ein Skript / Programm. Wenn ich die Nachricht gesendet habe, möchte ich, dass sie so schnell wie möglich zugestellt wird.)
Außerdem wissen Sie mit SMTP nie, ob der nächste Hop endgültig ist oder ob die Mail nur an eine andere Stelle weitergeleitet wird. Es ist nicht ungewöhnlich, dass sich ein Backup-MX in einem völlig anderen Netzwerk befindet.
Deshalb. End-to-End-Sicherheit ist nur möglich, wenn beide Seiten OpenPGP oder S / MIME verwenden.
Tatsächlicher E-Mail-Verkehr wird häufig verschlüsselt (TLS), es gibt jedoch mehrere andere Probleme:
Einige Webmail-Clients, die HTML-Nachrichten anzeigen, sind möglicherweise unsicher, obwohl sie HTTPS verwenden. Es gibt beispielsweise keine feste Trennung zwischen Code und Daten in HTML (visuelle Elemente und Javascript -> Injection-Angriffe).
Sie können nicht wissen, ob TLS / SSL zwischen den einzelnen Schritten verwendet wurde. Sehr kleine Server verfügen NICHT über die richtigen Zertifikate
E-Mails liegen unverschlüsselt oder vom Server verschlüsselt auf Servern
E-Mails können über eine beliebige Route übertragen werden. Sie können nicht angeben, welchen Servern Sie vertrauen (IP-Adressbereiche, ASes, Länder, Domänen ...).
Große E-Mail-Server verwenden nicht mehrere verschiedene Zertifikate und ändern diese nicht oft genug (?)
Indem sie den Datenverkehr verfolgen, wissen sie, wann eine E-Mail gesendet wurde, und was über den Empfänger (welche Server kommunizieren untereinander).
OpenSSL-Implementierung war / ist ein Chaos
Sie müssen den Zertifizierungsstellen vertrauen, die die Zertifikate signieren
quelle
Sie sind. Oder sehr oft.
Entweder über SSL oder TLS .
Oder wenn Sie wirklich paranoid sind, gibt es PGP oder GPG.
quelle