TLS Verschlüsselung
- Es gibt 2 Möglichkeiten, einmal May und einmal Must.
- Um eine Mail verschlüsselt zu der Gegenseite zu bringen, muss die Gegenseite TLS konfiguriert haben.
- Bei May kann die Mail nicht verschlüsselt ankommen, wenn die Gegenseite kein TLS konfiguriert hat.
Datei:Tlsmay3.dia
- Bei Must wird ein SMTP-Paket verschickt, welches die Anfrage für TLS besitzt, so kann die Mail nur weiter geschickt werden, wenn die TLS verschlüsselung möglich ist.
Datei:Tlsmust3.dia
Praxis
- Wir melden uns auf dem Mailserver mit Hilfe des openssl s-clients an -> openssl s_client -host mail.server.de -port 465
- Nach dem Anmelden verschicken wir eine Mail an die gegenseite, sprich an den anderen Mailserver, welcher TLS konfiguriert hat.
ehlo
501 Syntax: EHLO hostname
ehlo XXXX
250-my.mailserver.de
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 SMTPUTF8
auth plain xxxxxxxxxxxxxxxxxxxx
235 2.7.0 Authentication successful
mail from: testuser@dmailserver.de
250 2.1.0 Ok
rcpt to: user@gegenseite.de
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
subject: Testmail
Hallo Test 123
.
250 2.0.0 Ok: queued as 95E97BE1108
quit
- Wenn die Mail verschickt wurde, Schauen wir uns einen Mitschnitt auf Wireshark an, um zu sehen, ob die Mail verschlüsselt bzw. angekommen ist.
- Zu erst wird ein normaler 3-Wege-Handshake durchgeführt, um eine Verbindung aufzubauen.
- Danach schickt der Mailserver der Gegenseite sein Banner. (gegenseite.mailserver.de)
- Dann kommt ein EHLO von dem Mailserver. (EHLO ist ebenso wie HELO ein Kommando zur Übertragung von E-Mails, die Server müssen allerdings ESMTP verstehen)
- Als nächstes schickt der Mailserver der Gegenseite den TLS start "befehl".
- Wenn TLS bei der Gegenseite konfiguriert ist, schickt der Mailserver der Gegenseite eine Bestätigung, dass TLS gestartet wird.
- Nun wird die TLS Verbindung aufgebaut und die Mail wird verschlüsselt versendet.
Bei May Problemen
- Sollte trotz TLS konfiguration auf beiden seiten die Mail unverschlüsselt sein, so muss man die Domain in eine Liste eintragen, damit der Mailserver die TLS Verbindung mit dieser Domain "erzwingt"
- Mapping-Datei erstellen, z.B. „/etc/postfix/tls_policy“ mit diesem Inhalt:
gegenseite.de encrypt
- Um dies zu übernehmen, muss der Befehl -> postmap /etc/postfix/tls_policy ausgeführt werden.
- Dann noch die Tabelle in der main.cf in der TLS-Policy referenzieren
# TLS erzwingen
smtp_tls_policy_maps = hash:/etc/postfix/tls_policy
- Und zu letzt Postfix reloaden -> /etc/init.d/postfix reload