Postfix tls erzwingen: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 8: Zeile 8:
 
[[Datei:tlsmust2.dia]]
 
[[Datei:tlsmust2.dia]]
  
==Praxis==
+
=Praxis=
 
*Wir melden uns auf dem Mailserver mit Hilfe des openssl s-clients an ->  openssl s_client -host mail.server.de -port 465
 
*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.
 
*Nach dem Anmelden verschicken wir eine Mail an die gegenseite, sprich an den anderen Mailserver, welcher TLS konfiguriert hat.
Zeile 48: Zeile 48:
 
*Wenn TLS bei der Gegenseite konfiguriert ist, schickt der Mailserver der Gegenseite eine Bestätigung, dass TLS gestartet wird.  
 
*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.
 
*Nun wird die TLS Verbindung aufgebaut und die Mail wird verschlüsselt versendet.
 +
 
=Bei May Problemen=
 
=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"
 
*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"

Version vom 7. Juni 2018, 14:28 Uhr

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, da die Gegenseite kein TLS konfiguriert hat.

Datei:Tlsmay2.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:Tlsmust2.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.

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