Postfix tls erzwingen: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „==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…“)
 
 
(12 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
==TLS Verschlüsselung==
+
=TLS Verschlüsselung=
 
*Es gibt 2 Möglichkeiten, einmal '''May''' und einmal '''Must'''.
 
*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.  
 
*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.
+
 
*Bei '''Must''' wird ein 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.
+
*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.
 +
<pre>
 +
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
 +
</pre>
 +
*Wenn die Mail verschickt wurde, Schauen wir uns einen Mitschnitt auf Wireshark an, um zu sehen, ob die Mail verschlüsselt bzw. angekommen ist.
 +
[[Datei: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:
 +
<pre>
 +
gegenseite.de      encrypt
 +
</pre>
 +
*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
 +
<pre>
 +
# TLS erzwingen
 +
smtp_tls_policy_maps = hash:/etc/postfix/tls_policy
 +
</pre>
 +
*Und zu letzt Postfix reloaden -> '''/etc/init.d/postfix reload'''

Aktuelle Version vom 7. Juni 2018, 14:37 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, 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