Postfix tls erzwingen: Unterschied zwischen den Versionen
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= | |||
*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, | |||
*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.
- 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.
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.
- 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
