Postfix tls erzwingen

Aus xinux.net
Zur Navigation springen Zur Suche springen

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@mailserver.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.

Tlszensur1.png

  • 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