Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
centos:mail_c7:mta_8 [28.10.2014 21:45. ] – [Verbindung testen] django | centos:mail_c7:mta_8 [20.05.2021 12:43. ] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== SASL-Authentifizierung beim Postfix MTA 2.11 unter CentOS 7 ====== | ====== SASL-Authentifizierung beim Postfix MTA 2.11 unter CentOS 7 ====== | ||
Zur Authentifizierung unserer Mail-Clients gegenüber unserem Mailserver wollen wir **SMTP-Auth**((// | Zur Authentifizierung unserer Mail-Clients gegenüber unserem Mailserver wollen wir **SMTP-Auth**((// | ||
- | Da SMTP-Auth nicht regelt, wie der Mailserver auf die eigentliche Userdatenbank zugreifen kann, benötigen wir Unterstützung durch **SASL**((// | + | Da SMTP-Auth nicht regelt, wie der Mailserver auf die eigentliche Userdatenbank zugreifen kann, benötigen wir Unterstützung durch **SASL**((// |
Postfix unterstützt zwei verschiedene SASL-Implementierungen, | Postfix unterstützt zwei verschiedene SASL-Implementierungen, | ||
Zeile 8: | Zeile 8: | ||
Beide Lösungen sind vom Grundsatz her gleich aufgebaut - liegt doch beiden folgende Struktur zu Grunde. | Beide Lösungen sind vom Grundsatz her gleich aufgebaut - liegt doch beiden folgende Struktur zu Grunde. | ||
- | < | + | <uml> |
skinparam defaultFontName Courier | skinparam defaultFontName Courier | ||
Zeile 38: | Zeile 38: | ||
{{: | {{: | ||
- | Dass dies nicht unbedingt stimmt, wollen wir uns an Hand des nachfolgenden Konfigurationsbeispiels genauer ansehen. Werfen wir als erstes | + | Dass dies nicht unbedingt stimmt, wollen wir uns an Hand des nachfolgenden Konfigurationsbeispiels genauer ansehen. Werfen wir als erstes |
- | < | + | <uml> |
skinparam defaultFontName Courier | skinparam defaultFontName Courier | ||
Zeile 391: | Zeile 391: | ||
Startet der Server nicht automatisch, | Startet der Server nicht automatisch, | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
==== Postfix-Konfiguration ==== | ==== Postfix-Konfiguration ==== | ||
Zeile 462: | Zeile 453: | ||
===== SASL mit Dovecot ===== | ===== SASL mit Dovecot ===== | ||
- | {{: | + | {{: |
Wie auch die **[[http:// | Wie auch die **[[http:// | ||
Zeile 468: | Zeile 459: | ||
Werfen wir auch hier erst einen Blick auf das Eingangs gezeigte **[[centos: | Werfen wir auch hier erst einen Blick auf das Eingangs gezeigte **[[centos: | ||
- | < | + | <uml> |
skinparam defaultFontName Courier | skinparam defaultFontName Courier | ||
Zeile 754: | Zeile 745: | ||
Nach Aufruf von **swaks** werden wir nach dem zugehörigen Passwort gefragt. Anschließend sehen wir den SMTP-Dialog zwischen dem Cilene " | Nach Aufruf von **swaks** werden wir nach dem zugehörigen Passwort gefragt. Anschließend sehen wir den SMTP-Dialog zwischen dem Cilene " | ||
- | # swaks --to django@nausch.org --from michael@nausch.org --auth | + | # swaks --to django@nausch.org --from michael@nausch.org --auth |
| | ||
Zeile 767: | Zeile 758: | ||
<- 250-ETRN | <- 250-ETRN | ||
<- 250-STARTTLS | <- 250-STARTTLS | ||
- | <- 250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5 | + | <- 250-AUTH PLAIN LOGIN CRAM-MD5 DIGEST-MD5 NTLM |
- | <- 250-AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5 | + | <- 250-AUTH=PLAIN LOGIN CRAM-MD5 DIGEST-MD5 NTLM |
<- 250-ENHANCEDSTATUSCODES | <- 250-ENHANCEDSTATUSCODES | ||
<- 250-8BITMIME | <- 250-8BITMIME | ||
<- 250 DSN | <- 250 DSN | ||
- | -> AUTH CRAM-MD5 | + | -> AUTH LOGIN |
- | <- 334 PDk2Mjk5MjQ4Njc5ODA2FucKMzQuMTQxNxNzE1M0B2bWwMAwNzcuZG16Lm5hdXNjaC5vcmc+ | + | <- 334 VXNlcm5hbWU6 |
- | | + | -> bWljaGFl69cuYXTzY2Tub3Jn |
+ | <- 334 UGFzc3dvcQ69 | ||
+ | | ||
<- 235 2.7.0 Authentication successful | <- 235 2.7.0 Authentication successful | ||
-> MAIL FROM:< | -> MAIL FROM:< | ||
Zeile 782: | Zeile 775: | ||
-> DATA | -> DATA | ||
<- 354 End data with < | <- 354 End data with < | ||
- | -> Date: Mon, 27 Oct 2014 14:39:08 +0100 | + | -> Date: Tue, 28 Oct 2014 22:59:26 +0100 |
-> To: django@nausch.org | -> To: django@nausch.org | ||
-> From: michael@nausch.org | -> From: michael@nausch.org | ||
- | -> Subject: test Mon, 27 Oct 2014 14:39:08 +0100 | + | -> Subject: test Tue, 28 Oct 2014 22:59:26 +0100 |
-> X-Mailer: swaks v20130209.0 jetmore.org/ | -> X-Mailer: swaks v20130209.0 jetmore.org/ | ||
-> X-Test: test email | -> X-Test: test email | ||
Zeile 792: | Zeile 785: | ||
| | ||
-> . | -> . | ||
- | <- 250 2.0.0 Ok: queued as 02E93C00088 | + | <- 250 2.0.0 Ok: queued as DE611C00088 |
-> QUIT | -> QUIT | ||
<- 221 2.0.0 Bye | <- 221 2.0.0 Bye | ||
Zeile 801: | Zeile 794: | ||
# less / | # less / | ||
- | < | + | < |
- | Oct 27 14:39:14 vml000087 postfix/ | + | Oct 28 22:59:34 vml000087 postfix/ |
- | Oct 27 14:39:14 vml000087 postfix/ | + | Oct 28 22:59:34 vml000087 postfix/ |
- | Oct 27 14:39:14 vml000087 postfix/ | + | Oct 28 22:59:34 vml000087 postfix/ |
- | Oct 27 14:39:14 vml000087 postfix/ | + | Oct 28 22:59:34 vml000087 postfix/ |
- | Oct 27 14:39:14 vml000087 postfix/ | + | Oct 28 22:59:35 vml000087 postfix/ |
- | Oct 27 14:39:14 vml000087 postfix/ | + | Oct 28 22:59:35 vml000087 postfix/ |
</ | </ | ||
+ | **swaks** beherrscht natürlich auch das Verfahren **CRAM-MD5**: | ||
+ | # swaks --to django@nausch.org --from michael@nausch.org --auth CRAM-MD5 --auth-user michael@nausch.org --header-X-Test "test email" --server 10.0.0.87 | ||
+ | | ||
+ | < | ||
+ | === Connected to 10.0.0.87. | ||
+ | <- 220 mx01.nausch.org ESMTP Postfix | ||
+ | -> EHLO vml000087.dmz.nausch.org | ||
+ | <- 250-mx01.nausch.org | ||
+ | <- 250-PIPELINING | ||
+ | <- 250-SIZE 52428800 | ||
+ | <- 250-ETRN | ||
+ | <- 250-STARTTLS | ||
+ | <- 250-AUTH PLAIN LOGIN CRAM-MD5 DIGEST-MD5 NTLM | ||
+ | <- 250-AUTH=PLAIN LOGIN CRAM-MD5 DIGEST-MD5 NTLM | ||
+ | <- 250-ENHANCEDSTATUSCODES | ||
+ | <- 250-8BITMIME | ||
+ | <- 250 DSN | ||
+ | -> AUTH CRAM-MD5 | ||
+ | <- 334 PDI2OTAzMkdldjffp4ff0NzA1gdfxcvMUDAxLm5hdXNjaC5vcmc+ | ||
+ | -> bWljaG2ucdnmrP1fflbEBuYXVzY2MwNzczOTg2ZmIS5Q1ZjP1ffpUzOWNkOWE0YTM1ZGMx | ||
+ | <- 235 2.7.0 Authentication successful | ||
+ | -> MAIL FROM:< | ||
+ | <- 250 2.1.0 Ok | ||
+ | -> RCPT TO:< | ||
+ | <- 250 2.1.5 Ok | ||
+ | -> DATA | ||
+ | <- 354 End data with < | ||
+ | -> Date: Tue, 28 Oct 2014 22:51:47 +0100 | ||
+ | -> To: django@nausch.org | ||
+ | -> From: michael@nausch.org | ||
+ | -> Subject: test Tue, 28 Oct 2014 22:51:47 +0100 | ||
+ | -> X-Mailer: swaks v20130209.0 jetmore.org/ | ||
+ | -> X-Test: test email | ||
+ | | ||
+ | -> This is a test mailing | ||
+ | | ||
+ | -> . | ||
+ | <- 250 2.0.0 Ok: queued as CCB35C00088 | ||
+ | -> QUIT | ||
+ | <- 221 2.0.0 Bye | ||
+ | === Connection closed with remote host. | ||
+ | </ | ||
+ | Maillog: | ||
+ | < | ||
+ | Oct 28 22:51:51 vml000087 postfix/ | ||
+ | Oct 28 22:51:51 vml000087 postfix/ | ||
+ | Oct 28 22:51:51 vml000087 postfix/ | ||
+ | Oct 28 22:51:51 vml000087 postfix/ | ||
+ | Oct 28 22:51:51 vml000087 postfix/ | ||
+ | Oct 28 22:51:51 vml000087 postfix/ | ||
+ | </ | ||
+ | Zu guter Letzt testen wir noch das Verfahren **NTLM**. | ||
+ | # swaks --to django@nausch.org --from michael@nausch.org --auth NTLM --auth-user michael@nausch.org --header-X-Test "test email" --server 10.0.0.87 | ||
+ | | ||
+ | < | ||
+ | === Connected to 10.0.0.87. | ||
+ | <- 220 mx01.nausch.org ESMTP Postfix | ||
+ | -> EHLO vml000087.dmz.nausch.org | ||
+ | <- 250-mx01.nausch.org | ||
+ | <- 250-PIPELINING | ||
+ | <- 250-SIZE 52428800 | ||
+ | <- 250-ETRN | ||
+ | <- 250-STARTTLS | ||
+ | <- 250-AUTH PLAIN LOGIN CRAM-MD5 DIGEST-MD5 NTLM | ||
+ | <- 250-AUTH=PLAIN LOGIN CRAM-MD5 DIGEST-MD5 NTLM | ||
+ | <- 250-ENHANCEDSTATUSCODES | ||
+ | <- 250-8BITMIME | ||
+ | <- 250 DSN | ||
+ | -> AUTH NTLM | ||
+ | <- 334 | ||
+ | -> TlRMTVN12TU43BABAAAAB6IAAAAAAAAAAAAAAAAAAAA= | ||
+ | <- 334 TlRMTVNTUs9e3nmfrABCAAAAHgAeADAIAJsLjyygqM30AAAAAAAAAAAAAAAAAAAAATQBYADAAMQAuAE4AQQBVAFMAQwBIAC4ATwBSAEcA | ||
+ | -> TlRTFMNTUAADAAAAGAAYAEAAAAAYABgzuwlscAAB4AHgBwAAAAJAAkAI4AAAAkACQAsgAAAAAAAACWAAAABaICAJj/ | ||
+ | <- 235 2.7.0 Authentication successful | ||
+ | -> MAIL FROM:< | ||
+ | <- 250 2.1.0 Ok | ||
+ | -> RCPT TO:< | ||
+ | <- 250 2.1.5 Ok | ||
+ | -> DATA | ||
+ | <- 354 End data with < | ||
+ | -> Date: Tue, 28 Oct 2014 22:55:33 +0100 | ||
+ | -> To: django@nausch.org | ||
+ | -> From: michael@nausch.org | ||
+ | -> Subject: test Tue, 28 Oct 2014 22:55:33 +0100 | ||
+ | -> X-Mailer: swaks v20130209.0 jetmore.org/ | ||
+ | -> X-Test: test email | ||
+ | | ||
+ | -> This is a test mailing | ||
+ | | ||
+ | -> . | ||
+ | <- 250 2.0.0 Ok: queued as BDD65C00088 | ||
+ | -> QUIT | ||
+ | <- 221 2.0.0 Bye | ||
+ | === Connection closed with remote host. | ||
+ | </ | ||
+ | Maillog: | ||
+ | < | ||
+ | Oct 28 22:55:37 vml000087 postfix/ | ||
+ | Oct 28 22:55:37 vml000087 postfix/ | ||
+ | Oct 28 22:55:37 vml000087 postfix/ | ||
+ | Oct 28 22:55:37 vml000087 postfix/ | ||
+ | Oct 28 22:55:38 vml000087 postfix/ | ||
+ | Oct 28 22:55:38 vml000087 postfix/ | ||
+ | </ | ||
+ | ===== SASL und Submission/ | ||
+ | Damit nun unsere authentifizierten Nutzer, wie auch Clients aus unserem eigenen Netz oder auch z.B. der Backupmailserver auch über unseren Server, Empfänger fremder Maildomains Nachrichten schicken können (relayen) passen wir noch die Konfiguration unseres Mailservers an. | ||
+ | ==== Relaying ==== | ||
+ | In der Hauptkonfigurationsdatei // | ||
+ | # vim / | ||
+ | <code bash> | ||
+ | ################################################################################ | ||
+ | ## SMTP Relay Restrictions | ||
+ | # | ||
+ | # Django : 2014-10-27 - Definition, wer über unseren MX relayen darf oder nicht. | ||
+ | # http:// | ||
+ | # default: smtpd_relay_restrictions = permit_mynetworks, | ||
+ | # | ||
+ | smtpd_relay_restrictions = | ||
+ | # Unsere eigenen Nutzer zulassen-/ | ||
+ | | ||
+ | | ||
+ | # Backupserver (MX) erlauben | ||
+ | | ||
+ | # alles andere an relaying verbieten, d.h. mit einem finalen error 550 abweisen | ||
+ | | ||
+ | ... | ||
+ | </ | ||
+ | ==== Submission ==== | ||
+ | Auch bei Submission auf Port **587** setzen wir die Option **permit_sasl_authenticated**. | ||
+ | # vim / | ||
+ | <code bash>... | ||
+ | # Django : 2014-10-27 Submission auf Port 587 geöffnet | ||
+ | submission inet n | ||
+ | -o syslog_name=postfix/ | ||
+ | -o smtpd_tls_security_level=encrypt | ||
+ | -o smtpd_sasl_auth_enable=yes | ||
+ | -o smtpd_reject_unlisted_recipient=no | ||
+ | -o smtpd_etrn_restrictions=reject | ||
+ | #-o smtpd_client_restrictions=$mua_client_restrictions | ||
+ | #-o smtpd_helo_restrictions=$mua_helo_restrictions | ||
+ | #-o smtpd_sender_restrictions=$mua_sender_restrictions | ||
+ | -o smtpd_recipient_restrictions= | ||
+ | -o smtpd_relay_restrictions=permit_sasl_authenticated, | ||
+ | -o milter_macro_daemon_name=ORIGINATING | ||
+ | -o mydestination=lists.nausch.org, | ||
+ | ... | ||
+ | </ | ||
+ | ====== Links ====== | ||
+ | * **⇐ [[centos: | ||
+ | * **⇒ [[centos: | ||
+ | * **[[centos: | ||
+ | * **[[wiki: | ||
+ | * **[[http:// | ||