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 22:02. ] – [Test der Authentifizierung] 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=900 center title="SASL-Implementierung mit Hilfe der Cyrus SASL Library">+<uml>
   skinparam defaultFontName Courier   skinparam defaultFontName Courier
  
Zeile 774: Zeile 765:
  -> AUTH LOGIN  -> AUTH LOGIN
 <-  334 VXNlcm5hbWU6 <-  334 VXNlcm5hbWU6
- -> bWljaGFl69BuYXVzY2gub3Jn+ -> bWljaGFl69cuYXTzY2Tub3Jn
 <-  334 UGFzc3dvcQ69 <-  334 UGFzc3dvcQ69
- -> RGQ0bWRkMyE=+ -> RGQ0b5dW6GRtskMyE=
 <-  235 2.7.0 Authentication successful <-  235 2.7.0 Authentication successful
  -> MAIL FROM:<michael@nausch.org>  -> MAIL FROM:<michael@nausch.org>
Zeile 832: Zeile 823:
 <-  250 DSN <-  250 DSN
  -> AUTH CRAM-MD5  -> AUTH CRAM-MD5
-<-  334 PDI2OTAzMjcP1ffp4ff0NzA1MUBteDAxLm5hdXNjaC5vcmc+<-  334 PDI2OTAzMkdldjffp4ff0NzA1gdfxcvMUDAxLm5hdXNjaC5vcmc
- -> bWljaGP1ffp4ffFlbEBuYXVzY2MwNzczOTg2ZmQ1ZjP1ffp4ffUzOWNkOWE0YTM1ZGMx+ -> bWljaG2ucdnmrP1fflbEBuYXVzY2MwNzczOTg2ZmIS5Q1ZjP1ffpUzOWNkOWE0YTM1ZGMx
 <-  235 2.7.0 Authentication successful <-  235 2.7.0 Authentication successful
  -> MAIL FROM:<michael@nausch.org>  -> MAIL FROM:<michael@nausch.org>
Zeile 888: Zeile 879:
  -> AUTH NTLM  -> AUTH NTLM
 <-  334  <-  334 
- -> TlRMTVNTUBABAAAAB6IAAAAAAAAAAAAAAAAAAAAAAAA+ -> TlRMTVN12TU43BABAAAAB6IAAAAAAAAAAAAAAAAAAAA
-<-  334 TlRMTVNTUABCAAAAHgAeADAAAAAF0gIAJsLjyygqM30AAAAAAAAAAAAAAAAAAAAATQBYADAAMQAuAE4AQQBVAFMAQwBIAC4ATwBSAEcA +<-  334 TlRMTVNTUs9e3nmfrABCAAAAHgAeADAIAJsLjyygqM30AAAAAAAAAAAAAAAAAAAAATQBYADAAMQAuAE4AQQBVAFMAQwBIAC4ATwBSAEcA 
- -> TlRTFMNTUAADAAAAGAAYAEAAAAAYABgAWAAAAB4AHgBwAAAAJAAkAI4AAAAkACQAsgAAAAAAAACWAAAABaICAJj/ymDAxyE253qytBGRgm2wg7GOYB4byOvGaTn7wPf/wxTL7okh3kAnFN5KHfE0DAxyB4bywADEALgBOAEEAVQBTAEMASAAuAE8AUgBHAG0AaQBjAGgAYQBlAGwAQABuAGEQBzAGMAaAAuAG8AcgBnAG0AaQBjAGgAYQBlwAQABuAGEAdQBzAGMADAxyB4byAG8AcgBnAA==+ -> TlRTFMNTUAADAAAAGAAYAEAAAAAYABgzuwlscAAB4AHgBwAAAAJAAkAI4AAAAkACQAsgAAAAAAAACWAAAABaICAJj/ymDAxyE253qytBGRgm2wg7GOYB4byOvGaTn7wPf/wxTL7okh3kAnFN5KHfE0DAxyB4bywADEALgBOAEEAVQBTAEMASAAuAE8AUgBHAG0AaQBjAGgAYQBlAGwAQABuAGEQBzAGMAaAAuAG8AcgBnAG0AaQBjAGgAYQBlwAQABuAGEAdQBzAGMADAxyB4byAG8AcgBnAA==
 <-  235 2.7.0 Authentication successful <-  235 2.7.0 Authentication successful
  -> MAIL FROM:<michael@nausch.org>  -> MAIL FROM:<michael@nausch.org>
Zeile 924: Zeile 915:
 </code> </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.1414533734.txt.gz
  • Zuletzt geändert: 28.10.2014 22:02.
  • von django