Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
centos:mail_c7:mta_8 [28.10.2014 21:17. ] – [Konfiguration] djangocentos: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**((//SMTP-Authentication//)) einsetzen.  Zur Authentifizierung unserer Mail-Clients gegenüber unserem Mailserver wollen wir **SMTP-Auth**((//SMTP-Authentication//)) einsetzen. 
-Da SMTP-Auth nicht regelt, wie der Mailserver auf die eigentliche Userdatenbank zugreifen kann, benötigen wir Unterstützung durch **SASL**((//**S**imple **A**uthentication and **S**ecurity **L**ayer//)). Mit Hilfe von **[[https://tools.ietf.org/html/rfc4422|SASL]]** kann für verschiede Protokolle, wie z.B. **SMTP**, **IMAP** oder **POP3**, im Internet eine Benutzerauthentifizierung relativ einfach realisiert werden, da SASL hierzu eine standardisierte Vermittlungsschicht zur Verfügung stellt. Weitere Informationen findet man auf der **[[http://de.wikipedia.org/wiki/Simple_Authentication_and_Security_Layer|Wikipedia SASL Seite]]**, im **[[https://tools.ietf.org/html/rfc4422|RFC 4422]]**, oder auf der Webseite der **[[http://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml|IANA]]**. +Da SMTP-Auth nicht regelt, wie der Mailserver auf die eigentliche Userdatenbank zugreifen kann, benötigen wir Unterstützung durch **SASL**((//**S**imple **A**uthentication and **S**ecurity **L**ayer//)). Mit Hilfe von **[[https://tools.ietf.org/html/rfc4422|SASL]]** kann für verschiedene Protokolle, wie z.B. **SMTP**, **IMAP** oder **POP3**, im Internet eine Benutzerauthentifizierung relativ einfach realisiert werden, da SASL hierzu eine standardisierte Vermittlungsschicht zur Verfügung stellt. Weitere Informationen findet man auf der **[[http://de.wikipedia.org/wiki/Simple_Authentication_and_Security_Layer|Wikipedia SASL Seite]]**, im **[[https://tools.ietf.org/html/rfc4422|RFC 4422]]**, oder auf der Webseite der **[[http://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml|IANA]]**. 
  
 Postfix unterstützt zwei verschiedene SASL-Implementierungen, die je nach Betrachtung mehr oder minder kompliziert bei der Installation und Konfiguration sind. Postfix unterstützt zwei verschiedene SASL-Implementierungen, die je nach Betrachtung mehr oder minder kompliziert bei der Installation und Konfiguration sind.
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 width=300 center title="Die 3 SASLayer">+<uml>
   skinparam defaultFontName Courier   skinparam defaultFontName Courier
  
Zeile 38: Zeile 38:
 {{:centos:mail_c7:cyrus-sasl.png?nolink&150 |Bild: cyrus-sasl Logo}} Die älteste und auch sehr verbreitete **[[http://www.cyrusimap.org/docs/cyrus-sasl/2.1.25/|Cyrus SASL Library]]**, kann verschiedene Authentifizierungsmethoden zur Verfügung stellen, wie z.B. Plain, CRAM-MD5, Digest-MD5, PAM oder NTLM. Die scheinbare Komplexität schreckt viele Mailserver-Administratoren ab.  {{:centos:mail_c7:cyrus-sasl.png?nolink&150 |Bild: cyrus-sasl Logo}} Die älteste und auch sehr verbreitete **[[http://www.cyrusimap.org/docs/cyrus-sasl/2.1.25/|Cyrus SASL Library]]**, kann verschiedene Authentifizierungsmethoden zur Verfügung stellen, wie z.B. Plain, CRAM-MD5, Digest-MD5, PAM oder NTLM. Die scheinbare Komplexität schreckt viele Mailserver-Administratoren ab. 
  
-Dass dies nicht unbedingt stimmt, wollen wir uns an Hand des nachfolgenden Konfigurationsbeispiels genauer ansehen. Werfen wir als erstes nocheinmal kurz einen Blick auf das zuvor gezeigte Schaubild - zum besseren Verständnis, welche Teile welche Aufgaben wahrnehmen und wo diese Teile ggf. konfiguriert werden, wurde dieses etwas erweitert.+Dass dies nicht unbedingt stimmt, wollen wir uns an Hand des nachfolgenden Konfigurationsbeispiels genauer ansehen. Werfen wir als erstes noch einmal kurz einen Blick auf das zuvor gezeigte Schaubild - zum besseren Verständnis, welche Teile welche Aufgaben wahrnehmen und wo diese Teile ggf. konfiguriert werden, wurde dieses etwas erweitert.
  
-<uml width=900 center title="SASL-Implementierung mit Hilfe der Cyrus SASL Library">+<uml>
   skinparam defaultFontName Courier   skinparam defaultFontName Courier
  
Zeile 391: Zeile 391:
  
 Startet der Server nicht automatisch, wird uns ein "**disabled**" zurückgemeldet. Startet der Server nicht automatisch, wird uns ein "**disabled**" zurückgemeldet.
- 
- 
- 
- 
- 
- 
- 
- 
- 
  
 ==== Postfix-Konfiguration ==== ==== Postfix-Konfiguration ====
Zeile 462: Zeile 453:
  
 ===== SASL mit Dovecot ===== ===== SASL mit Dovecot =====
-{{:centos:mail_c7:dovecot_logo.png?nolink&200 |Dovecot-Logo}} Der IMAP-Server **[[centos:mail_c7:dovecot_1|DOVECOT]]** findet immer mehr Anhänger im Postmaster-Umfeld. Dies nicht zuletzt wegen der Robustheit und der einfachen Konfigurationsmöglichkeiten. Letzteres gilt natürlich auch für das Thema SASL! +{{:centos:mail_c7:dovecot_logo.png?nolink&150 |Dovecot-Logo}} Der IMAP-Server **[[centos:mail_c7:dovecot_1|DOVECOT]]** findet immer mehr Anhänger im Postmaster-Umfeld. Dies nicht zuletzt wegen der Robustheit und der einfachen Konfigurationsmöglichkeiten. Letzteres gilt natürlich auch für das Thema SASL! 
  
 Wie auch die **[[http://www.cyrusimap.org/docs/cyrus-sasl/2.1.25/|Cyrus SASL Library]]**, kann //Dovecot// verschiedene Authentifizierungsmethoden zur Verfügung stellen, wie z.B. Plain, CRAM-MD5, Digest-MD5, PAM oder NTLM. Wie auch die **[[http://www.cyrusimap.org/docs/cyrus-sasl/2.1.25/|Cyrus SASL Library]]**, kann //Dovecot// verschiedene Authentifizierungsmethoden zur Verfügung stellen, wie z.B. Plain, CRAM-MD5, Digest-MD5, PAM oder NTLM.
Zeile 468: Zeile 459:
 Werfen wir auch hier erst einen Blick auf das Eingangs gezeigte **[[centos:mail_c7:mta_8|Schaubild]]** - zum besseren Verständnis, welche Teile welche Aufgaben wahrnehmen und wo diese Teile ggf. konfiguriert werden, wurde auch dieses entsprechend erweitert. Werfen wir auch hier erst einen Blick auf das Eingangs gezeigte **[[centos:mail_c7:mta_8|Schaubild]]** - zum besseren Verständnis, welche Teile welche Aufgaben wahrnehmen und wo diese Teile ggf. konfiguriert werden, wurde auch dieses entsprechend erweitert.
  
-<uml width=800 center title="SASL-Implementierung mit Hilfe der Cyrus SASL Library">+<uml>
   skinparam defaultFontName Courier   skinparam defaultFontName Courier
  
Zeile 641: Zeile 632:
  
  
-==== s ==== 
  
 ==== Paketfilter ==== ==== Paketfilter ====
 +Damit unser Postfix-MTA (smtp.dmz.nausch.org) auch Authentifizierungsanfragen an unseren Dovecot-MDA (imap.dmz.nausch.org) stellen kann, muss dieser den Authentifizierungs-Port **3659** erreichen können. Wir erstellen also eine passende Regel bei unserem Paketfilter/Firewall.
  
    # firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="10.0.0.87/32" port protocol="tcp" port="3659" destination address="10.0.0.77/32" accept"    # firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="10.0.0.87/32" port protocol="tcp" port="3659" destination address="10.0.0.77/32" accept"
 +
 +Zur Aktivierung führen wir einen Reload des Firewall-Daemon durch.
  
    # firewall-cmd --reload    # firewall-cmd --reload
 +
 +Wollen wir überprüfen, ob die Regel entsprechend aktiv ist, fragen wir unsere Firewall ab.
  
    # iptables -nvL IN_public_allow    # iptables -nvL IN_public_allow
Zeile 657: Zeile 652:
 </code> </code>
  
-===== Testen ===== +==== Postfix-Konfiguration ==== 
-==== Verbindung testen ====+Die Konfiguration von SASL-Auth beim Postfix MTA gestaltet sich ähnlich einfach, wie beim zuvor vorgestellten Konfigurationsbeispiel bei der **[[centos:mail_c7:mta_8?&#postfix-konfiguration|Cyrus-SASL-Implementierung]]**. Detailierte Hinweise hierzu finden wir in der entsprechenden **[[http://www.postfix.org/SASL_README.html|SASL-Dokumentation]]** von Postfix. 
  
 +Wir legen uns eine eigene Sektion in der Postfix-Konfigurationsdatei //**/etc/postfix/main.cf**// an.
 +
 +<code bash>...
 +
 +################################################################################
 +## SASL-Authentifizierung
 +#
 +# Django : 2014-10-27 SASL Authentifizierung aktivieren
 +#          http://www.postfix.org/SASL_README.html
 +# default: smtpd_sasl_auth_enable = no
 +smtpd_sasl_auth_enable = yes
 +
 +# Django : 2014-10-27 Statt des Default SASL-Mechanismus "cyrus" wollen wir die
 +#          SALS-Implementierung von Dovecot nutzen.
 +#          http://www.postfix.org/postconf.5.html#smtpd_sasl_type
 +# default: smtpd_sasl_type = cyrus
 +smtpd_sasl_type = dovecot
 +
 +# Django : 2014-10-27 Definition wie Postfix das Authentifizierungsbackend
 +#          erreichen kann; dies ist entweder eine Datei mit weiteren 
 +#          Konfigurationsdetails oder ein UNIX oder TCP-Socket
 +#          http://www.postfix.org/postconf.5.html#smtpd_sasl_path
 +# default: smtpd_sasl_path = smtpd
 +smtpd_sasl_path = inet:imap.dmz.nausch.org:3659
 +
 +# Django : 2014-10-27 Obsolete Authentifizierungsbefehle (RFC 4954) unter-
 +#          stützen, um so Clients wie z.B. MicroSoft Outlook Express version 4
 +#          oder MicroSoft Exchange Version 5.0 die Authentifizierungsmöglichkeit
 +#          zur Verfügung zu stellen.
 +#          http://www.postfix.org/postconf.5.html#broken_sasl_auth_clients
 +# default: broken_sasl_auth_clients = no
 +broken_sasl_auth_clients = yes
 +
 +# Django : 2014-10-27 Definition des Namen des lokalen SASL Authentifizierungs
 +#          Realm.
 +#          http://www.postfix.org/postconf.5.html#smtpd_sasl_local_domain
 +# default: smtpd_sasl_local_domain =
 +
 +# Django : 2014-10-27 Postfix SMTP Daemon SASL Sicherheitsoptionen
 +#          Welche Authentifizierungsmechanismen soll der Postfix SMTP-Daemon
 +#          den Clients anbieten?
 +#          http://www.postfix.org/postconf.5.html#smtpd_sasl_security_options
 +# default: smtpd_sasl_security_options = noanonymous
 +
 +# Django : 2014-10-27 SASL Authentifizierung Sicherheitsoptionen, die er
 +#          SMTP-Daemon für TLS verschlüsselte SMTP-Verbindungen nutzen soll.
 +#          http://www.postfix.org/postconf.5.html
 +# default: smtpd_sasl_tls_security_options = $smtpd_sasl_security_options
 +
 +...
 +</code>
 +
 +Der Der Wert **yes** beim Konfigurationsparameter **broken_sasl_auth_clients** bewirkt, dass auch Clients wie z.B. MicroSoft Outlook Express Version 4 oder MicroSoft Exchange version 5.0, die die obsoleten Authentifizierungsbefehle (RFC 4954) unterstützen, sich authentifizieren können. Man erkennt die gesetzte Option an der zweiten Zeile ''250-AUTH=PLAIN LOGIN CRAM-MD5 DIGEST-MD5 NTLM'' bei den **ESMTP**-Rückmeldungen beim SMTP-Dialog nach dem sich der Client mit ''EHLO <hostname>'' gemeldet hat.
 +
 +Zur Aktivierung unserer Konfigurationsänderungen führen wir nun einen Reload unseres Daemon durch.
 +   # systemctl reload postfix
 +
 +Nachdem wir die Konfiguration von **cyrus-sasl** und unseres **postfix**-Daemon erfolgreich abgeschlossen haben, können wir uns daran machen, die **[[centos:mail_c7:mta_8?&#testen|Installation zu testen]]**.
 +
 +
 +===== Testen =====
 +==== Authentifizierungsoptionen ====
 +Als erstes testen wir, ob und ggf. welche SASL-Mechanismen unser POstfix SMTP-Server nun anbietet. Dazu öffnet wir eine SMTP-Sitzung und melden uns beim SMTP-Daemon mit dem "Begrüßungsbefehl" //**EHLO**//. Der Server offeriert uns dann die SASL-Mechanismen, die er dem Client anbietet.
    # telnet ::1 25    # telnet ::1 25
 <code>Trying ::1... <code>Trying ::1...
Zeile 671: Zeile 729:
 250-ETRN 250-ETRN
 250-STARTTLS 250-STARTTLS
-250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5 +250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5 NTLM 
-250-AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5+250-AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5 NTLM
 250-ENHANCEDSTATUSCODES 250-ENHANCEDSTATUSCODES
 250 8BITMIME 250 8BITMIME
Zeile 680: Zeile 738:
 </code> </code>
  
 +An der zweiten Zeile ''250-AUTH=PLAIN LOGIN CRAM-MD5 DIGEST-MD5 NTLM'' bei den **ESMTP**-Rückmeldungen beim SMTP-Dialog, nach dem sich der Client mit ''EHLO <hostname>'' gemeldet hat, sehen wir den gesetzten **broken_sasl_auth_clients = yes**. Der Der Wert **yes** beim Konfigurationsparameter **broken_sasl_auth_clients** bewirkt, dass auch Clients wie z.B. MicroSoft Outlook Express Version 4 oder MicroSoft Exchange version 5.0, die die obsoleten Authentifizierungsbefehle (RFC 4954) unterstützen, sich authentifizieren können. 
  
 +==== Test der Authentifizierung ====
 +Zum leichteren Testen der Authentifizierung greifen wir auf das "Schweitzer Taschenmesser für SMTP" kurz **[[http://www.jetmore.org/john/code/swaks/|SWAKS]]** zurück. Vor allem beim Testen der **[[http://de.wikipedia.org/wiki/Challenge-Response-Authentifizierung|Challenge-Response-Authentifizierung]]** unterstützt uns **swaks** ebenso, wie beim Tippen der einzelnen SMTP-Befehle.
  
-   # 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+Nach Aufruf von **swaks** werden wir nach dem zugehörigen Passwort gefragt. Anschließend sehen wir den SMTP-Dialog zwischen dem Cilene "swaks" und dem Server "postfix"
 + 
 +   # swaks --to django@nausch.org --from michael@nausch.org --auth LOGIN --auth-user michael@nausch.org --header-X-Test "test email" --server 10.0.0.87
  
    Password: DAx1d13g31l354u!    Password: DAx1d13g31l354u!
Zeile 695: 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 
- -> bWljaGFlbEBuYXVzY2gub3JnIDg5Y0uOTQzNjAyMmM0NWM2NT0NDc2ZGQMzg0ZmI2WVl+ -> bWljaGFl69cuYXTzY2Tub3Jn 
 +<-  334 UGFzc3dvcQ69 
 + -> RGQ0b5dW6GRtskMyE=
 <-  235 2.7.0 Authentication successful <-  235 2.7.0 Authentication successful
  -> MAIL FROM:<michael@nausch.org>  -> MAIL FROM:<michael@nausch.org>
Zeile 710: Zeile 775:
  -> DATA  -> DATA
 <-  354 End data with <CR><LF>.<CR><LF> <-  354 End data with <CR><LF>.<CR><LF>
- -> Date: Mon27 Oct 2014 14:39:08 +0100+ -> Date: Tue28 Oct 2014 22:59:26 +0100
  -> To: django@nausch.org  -> To: django@nausch.org
  -> From: michael@nausch.org  -> From: michael@nausch.org
- -> Subject: test Mon27 Oct 2014 14:39:08 +0100+ -> Subject: test Tue28 Oct 2014 22:59:26 +0100
  -> X-Mailer: swaks v20130209.0 jetmore.org/john/code/swaks/  -> X-Mailer: swaks v20130209.0 jetmore.org/john/code/swaks/
  -> X-Test: test email  -> X-Test: test email
Zeile 720: 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
 === Connection closed with remote host. === Connection closed with remote host.
 </code> </code>
 +
 +Im Maillog wird die erfolgreiche Authentifizierung und die weitere Verarbeitung unserer Mail entsprechend dokumentiert.
  
    # less /var/log/maillog    # less /var/log/maillog
-<code>Oct 27 14:39:13 vml000087 postfix/smtpd[23030]: connect from vml000087.dmz.nausch.org[10.0.0.87] +<code>Oct 28 22:59:34 vml000087 postfix/smtpd[27693]: connect from vml000087.dmz.nausch.org[10.0.0.87] 
-Oct 27 14:39:14 vml000087 postfix/smtpd[23030]: 02E93C00088: client=vml000087.dmz.nausch.org[10.0.0.87], sasl_method=CRAM-MD5, sasl_username=michael@nausch.org +Oct 28 22:59:34 vml000087 postfix/smtpd[27693]: DE611C00088: client=vml000087.dmz.nausch.org[10.0.0.87], sasl_method=LOGIN, sasl_username=michael@nausch.org 
-Oct 27 14:39:14 vml000087 postfix/cleanup[23034]: 02E93C00088: message-id=<20141027133914.02E93C00088@mx01.nausch.org> +Oct 28 22:59:34 vml000087 postfix/cleanup[27698]: DE611C00088: message-id=<20141028215934.DE611C00088@mx01.nausch.org> 
-Oct 27 14:39:14 vml000087 postfix/qmgr[22988]: 02E93C00088: from=<michael@nausch.org>, size=502, nrcpt=1 (queue active) +Oct 28 22:59:34 vml000087 postfix/qmgr[27526]: DE611C00088: from=<michael@nausch.org>, size=502, nrcpt=1 (queue active) 
-Oct 27 14:39:14 vml000087 postfix/smtpd[23030]: disconnect from vml000087.dmz.nausch.org[10.0.0.87] +Oct 28 22:59:34 vml000087 postfix/smtpd[27693]: disconnect from vml000087.dmz.nausch.org[10.0.0.87] 
-Oct 27 14:39:14 vml000087 postfix/lmtp[23035]: 02E93C00088: to=<django@nausch.org>, relay=10.0.0.77[10.0.0.77]:24, delay=0.27, delays=0.08/0.06/0.04/0.09, dsn=2.0.0, status=sent (250 2.0.0 <django@nausch.org> vCxFCAJLTlTpXAAArK2B9Q Saved) +Oct 28 22:59:35 vml000087 postfix/lmtp[27699]: DE611C00088: to=<django@nausch.org>, relay=10.0.0.77[10.0.0.77]:24, delay=0.38, delays=0.06/0.01/0/0.31, dsn=2.0.0, status=sent (250 2.0.0 <django@nausch.org> l2nwKlYRUFSFQwAArK2B9Q Saved) 
-Oct 27 14:39:14 vml000087 postfix/qmgr[22988]: 02E93C00088: removed+Oct 28 22:59:35 vml000087 postfix/qmgr[27526]: DE611C00088: removed
 </code> </code>
  
 +**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
  
 +   Password: DAx1d13g31l354u!
  
 +<code>=== Trying 10.0.0.87:25...
 +=== 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:<michael@nausch.org>
 +<-  250 2.1.0 Ok
 + -> RCPT TO:<django@nausch.org>
 +<-  250 2.1.5 Ok
 + -> DATA
 +<-  354 End data with <CR><LF>.<CR><LF>
 + -> 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/john/code/swaks/
 + -> 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.
 +</code>
  
 +Maillog:
 +<code>Oct 28 22:51:51 vml000087 postfix/smtpd[27669]: connect from vml000087.dmz.nausch.org[10.0.0.87]
 +Oct 28 22:51:51 vml000087 postfix/smtpd[27669]: CCB35C00088: client=vml000087.dmz.nausch.org[10.0.0.87], sasl_method=CRAM-MD5, sasl_username=michael@nausch.org
 +Oct 28 22:51:51 vml000087 postfix/cleanup[27674]: CCB35C00088: message-id=<20141028215151.CCB35C00088@mx01.nausch.org>
 +Oct 28 22:51:51 vml000087 postfix/qmgr[27526]: CCB35C00088: from=<michael@nausch.org>, size=502, nrcpt=1 (queue active)
 +Oct 28 22:51:51 vml000087 postfix/smtpd[27669]: disconnect from vml000087.dmz.nausch.org[10.0.0.87]
 +Oct 28 22:51:51 vml000087 postfix/lmtp[27675]: CCB35C00088: to=<django@nausch.org>, relay=10.0.0.77[10.0.0.77]:24, delay=0.12, delays=0.04/0.02/0/0.06, dsn=2.0.0, status=sent (250 2.0.0 <django@nausch.org> 3B0zBGIPUFTOQgAArK2B9Q Saved)
 +Oct 28 22:51:51 vml000087 postfix/qmgr[27526]: CCB35C00088: removed
 +</code>
  
 +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
  
 +   Password: DAx1d13g31l354u!
  
 +<code>=== Trying 10.0.0.87:25...
 +=== 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/ymDAxyE253qytBGRgm2wg7GOYB4byOvGaTn7wPf/wxTL7okh3kAnFN5KHfE0DAxyB4bywADEALgBOAEEAVQBTAEMASAAuAE8AUgBHAG0AaQBjAGgAYQBlAGwAQABuAGEQBzAGMAaAAuAG8AcgBnAG0AaQBjAGgAYQBlwAQABuAGEAdQBzAGMADAxyB4byAG8AcgBnAA==
 +<-  235 2.7.0 Authentication successful
 + -> MAIL FROM:<michael@nausch.org>
 +<-  250 2.1.0 Ok
 + -> RCPT TO:<django@nausch.org>
 +<-  250 2.1.5 Ok
 + -> DATA
 +<-  354 End data with <CR><LF>.<CR><LF>
 + -> 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/john/code/swaks/
 + -> 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.
 +</code>
  
 +Maillog:
 +<code>Oct 28 22:55:37 vml000087 postfix/smtpd[27681]: connect from vml000087.dmz.nausch.org[10.0.0.87]
 +Oct 28 22:55:37 vml000087 postfix/smtpd[27681]: BDD65C00088: client=vml000087.dmz.nausch.org[10.0.0.87], sasl_method=NTLM, sasl_username=michael@nausch.org
 +Oct 28 22:55:37 vml000087 postfix/cleanup[27686]: BDD65C00088: message-id=<20141028215537.BDD65C00088@mx01.nausch.org>
 +Oct 28 22:55:37 vml000087 postfix/qmgr[27526]: BDD65C00088: from=<michael@nausch.org>, size=502, nrcpt=1 (queue active)
 +Oct 28 22:55:37 vml000087 postfix/smtpd[27681]: disconnect from vml000087.dmz.nausch.org[10.0.0.87]
 +Oct 28 22:55:38 vml000087 postfix/lmtp[27687]: BDD65C00088: to=<django@nausch.org>, relay=10.0.0.77[10.0.0.77]:24, delay=0.24, delays=0.04/0.02/0/0.17, dsn=2.0.0, status=sent (250 2.0.0 <django@nausch.org> UTXtEMoQUFRnQwAArK2B9Q Saved)
 +Oct 28 22:55:38 vml000087 postfix/qmgr[27526]: BDD65C00088: removed
 +</code>
  
 +===== SASL und Submission/Relaying =====
 +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 //**/etc/postfix/main.cf**// legen wir eine neue Section **SMTP Relay Restrictions** an.
 +   # vim /etc/postfix/main.cf
 +<code bash>... 
  
 +################################################################################
 +## SMTP Relay Restrictions
 +#
 +# Django : 2014-10-27 - Definition, wer über unseren MX relayen darf oder nicht. 
 +#          http://www.postfix.org/postconf.5.html#smtpd_relay_restrictions
 +# default: smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination
 +#
 +smtpd_relay_restrictions =
 +# Unsere eigenen Nutzer zulassen-/erlauben
 +           permit_sasl_authenticated
 +           permit_mynetworks
 +# Backupserver (MX) erlauben
 +           permit_mx_backup
 +# alles andere an relaying verbieten, d.h. mit einem finalen error 550 abweisen
 +           reject_unauth_destination
  
 +...
 +</code>
  
 +==== Submission ====
 +Auch bei Submission auf Port **587** setzen wir die Option **permit_sasl_authenticated**.
 +   # vim /etc/postfix/master.cf
  
 +<code bash>...
  
 +# Django : 2014-10-27 Submission auf Port 587 geöffnet
 +submission inet n                               smtpd
 +  -o syslog_name=postfix/submission
 +  -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,reject
 +  -o milter_macro_daemon_name=ORIGINATING
 +  -o mydestination=lists.nausch.org,fax.nausch.org
  
 +...
 +</code>
  
 +====== Links ======
 +  * **⇐ [[centos:mail_c7:mta_7|Zurück zum Kapitel "virtuelle(r) Mailserver unter Postfix 2.11. und CentOS 7"]]**
 +  * **⇒ [[centos:mail_c7:mta_9|Weiter zum Kapitel "Backup-Mailserver mit Postfix 2.11 unter CentOS7"]]**
 +  * **[[centos:mail_c7:start|Zurück zum Kapitel >>Mailserverinstallation unter CentOS 7<<]]**
 +  * **[[wiki:start|Zurück zu >>Projekte und Themenkapitel<<]]**
 +  * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**
  
  
  • centos/mail_c7/mta_8.1414531068.txt.gz
  • Zuletzt geändert: 28.10.2014 21:17.
  • von django