Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:postfix_centos_7_-_spf_anbinden_spf-milter

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
tachtler:postfix_centos_7_-_spf_anbinden_spf-milter [2015/10/19 11:09] – [/etc/postfix/main.cf] klaustachtler:postfix_centos_7_-_spf_anbinden_spf-milter [2024/02/08 10:03] (aktuell) klaus
Zeile 1: Zeile 1:
 ====== Postfix CentOS 7 - SPF anbinden (spf-milter) ====== ====== Postfix CentOS 7 - SPF anbinden (spf-milter) ======
  
-Mit Hilfe von [[http://www.openspf.org/|SPF]] kann definiert werden, welche Mailserver für welche Domains e-Mails verschicken darf, oder  eben nicht darf. Dies soll das Fälschen von Absender-Angaben erschwert werden. Dabei wird via [[http://www.openspf.org/|SPF]] festgelegt, welcher **MTA** (Mail Transport Agent) z.B. [[http://www.postfix.org|Postfix]] **ausgehend** für den Versandt von e-Mails einer Domain zugelassen ist. +Mit Hilfe von [[http://www.open-spf.org/|SPF]] kann definiert werden, welche Mailserver für welche Domains e-Mails verschicken darf, oder  eben nicht darf. Dies soll das Fälschen von Absender-Angaben erschwert werden. Dabei wird via [[http://www.open-spf.org//|SPF]] festgelegt, welcher **MTA** (Mail Transport Agent) z.B. [[http://www.postfix.org|Postfix]] **ausgehend** für den Versandt von e-Mails einer Domain zugelassen ist. 
  
-Mit [[http://www.openspf.org/|SPF]] soll hauptsächlich das fälschen von e-Mail Absender Adressen verhindert werden. +Mit [http://www.open-spf.org/|SPF]] soll hauptsächlich das fälschen von e-Mail Absender Adressen verhindert werden. 
  
 Probleme tauchen mit unter bei Mailumleitungen, Mailinglisten und/oder Webformularen bzw. elektronischen Grusskarten auf. Auch wird bei sehr konservativen SPF-Definition die Möglichkeit verhindert, e-Mails mit der eigenen Absender e-Mail-Adresse über einen dritten Server zu versenden. Es wäre also nur möglich e-Mails über den Mail-Server zu versenden, auf dem auch das Postfach liegt! Probleme tauchen mit unter bei Mailumleitungen, Mailinglisten und/oder Webformularen bzw. elektronischen Grusskarten auf. Auch wird bei sehr konservativen SPF-Definition die Möglichkeit verhindert, e-Mails mit der eigenen Absender e-Mail-Adresse über einen dritten Server zu versenden. Es wäre also nur möglich e-Mails über den Mail-Server zu versenden, auf dem auch das Postfach liegt!
  
-Technisch gesehen wird bei [[http://www.openspf.org/|SPF]] ein **TXT-Record** im DNS in der Zonendatei der betreffenden Domain eingetragen. Hier wird definiert, welche SMTP-Server berechtigt sind, Nachrichten für diese Domain zu verschicken. Mailserver können dann bei der Annahme einer e-Mail abfragen, ob der sendende Mailserver überhaupt berechtigt ist, diese Nachricht zuzustellen. +Technisch gesehen wird bei [[http://www.open-spf.org/|SPF]] ein **TXT-Record** im DNS in der Zonendatei der betreffenden Domain eingetragen. Hier wird definiert, welche SMTP-Server berechtigt sind, Nachrichten für diese Domain zu verschicken. Mailserver können dann bei der Annahme einer e-Mail abfragen, ob der sendende Mailserver überhaupt berechtigt ist, diese Nachricht zuzustellen.  
 + 
 +^ Beschreibung  ^ Externer Link                                                                   ^ 
 +| Homepage      | [[http://www.open-spf.org/]]                                                     | 
 +| Dokumentation | [[http://www.open-spf.org/SPF_Record_Syntax]]                                    | 
 +| FAQ           | [[http://www.open-spf.org/FAQ]]                                                  | 
 +  
 +Ab hier werden zur Ausführung nachfolgender Befehle **''root''**-Rechte benötigt. Um der Benutzer ''root'' zu werden, melden Sie sich bitte als ''root''-Benutzer am System an, oder wechseln mit nachfolgendem Befehl zum Benutzer ''root'': 
 +<code> 
 +$ su - 
 +Password: 
 +</code>
  
 ===== Herunterladen ===== ===== Herunterladen =====
Zeile 118: Zeile 129:
 ===== iptables Regel ====== ===== iptables Regel ======
  
-Damit der [[http://www.openspf.org/|SPF]] auch über den [[http://www.postfix.org|Postfix]] - **''spf-milter''** erreichbar ist und nicht das Empfangen der IP-Paket vom Paketfilter ''iptables'' blockiert wird, muss nachfolgende Regel zum ''iptables''-Regelwerk hinzugefügt werden.+Damit der [[http://www.open-spf.org/|SPF]] auch über den [[http://www.postfix.org|Postfix]] - **''spf-milter''** erreichbar ist und nicht das Empfangen der IP-Paket vom Paketfilter ''iptables'' blockiert wird, muss nachfolgende Regel zum ''iptables''-Regelwerk hinzugefügt werden.
  
 Um die aktuellen ''iptables''-Regeln erweitern zu können, sollten diese erst einmal aufgelistet werden, was mit nachfolgendem Befehl durchgeführt werden kann: Um die aktuellen ''iptables''-Regeln erweitern zu können, sollten diese erst einmal aufgelistet werden, was mit nachfolgendem Befehl durchgeführt werden kann:
Zeile 182: Zeile 193:
 ==== /etc/mail/smfs/smf-spf.conf ==== ==== /etc/mail/smfs/smf-spf.conf ====
  
-Standardmäßig wird nach der Installation von [[http://www.openspf.org/|SPF]]  - **''spf-milter''** in nachfolgendem Verzeichnis mit nachfolgendem Namen die Konfigurationsdatei für den [[http://www.openspf.org/|SPF]]  - **''spf-milter''** hinterlegt: +Standardmäßig wird nach der Installation von [[http://www.open-spf.org/|SPF]] - **''spf-milter''** in nachfolgendem Verzeichnis mit nachfolgendem Namen die Konfigurationsdatei für den [[http://www.open-spf.org/|SPF]] - **''spf-milter''** hinterlegt: 
-  * **''etc/mail/smfs/smf-spf.conf''**+  * **''/etc/mail/smfs/smf-spf.conf''**
  
-Nachfolgende Änderungen sind an der Konfigurationsdatei ''etc/mail/smfs/smf-spf.conf'' durchzuführen:+Nachfolgende Änderungen sind an der Konfigurationsdatei ''/etc/mail/smfs/smf-spf.conf'' durchzuführen:
  
 (**Komplette Konfigurationsdatei**) (**Komplette Konfigurationsdatei**)
Zeile 321: Zeile 332:
   * <code bash>Socket inet:10011@192.168.0.70</code>   * <code bash>Socket inet:10011@192.168.0.70</code>
  
-Socket über den mit dem [[http://www.openspf.org/|SPF]] - **''spf-milter''** über die **IP-Adresse: ''192.168.0.70''** und den **Port: ''10011''** kommuniziert werden kann.+Socket über den mit dem [[http://www.open-spf.org/|SPF]] - **''spf-milter''** über die **IP-Adresse: ''192.168.0.70''** und den **Port: ''10011''** kommuniziert werden kann.
  
 ==== SPF Dienst/Daemon-Start einrichten ==== ==== SPF Dienst/Daemon-Start einrichten ====
  
-Um den [[http://www.openspf.org/|SPF]] der als Dienst/Deamon als Hintergrundprozess läuft, auch nach einem Neustart des Servers zur Verfügung zu haben, soll der Dienst/Daemon mit dem Server mit gestartet werden, was mit nachfolgendem Befehl realisiert werden kann:+Um den [[http://www.open-spf.org/|SPF]] der als Dienst/Deamon als Hintergrundprozess läuft, auch nach einem Neustart des Servers zur Verfügung zu haben, soll der Dienst/Daemon mit dem Server mit gestartet werden, was mit nachfolgendem Befehl realisiert werden kann:
 <code> <code>
 # systemctl enable smf-spf # systemctl enable smf-spf
Zeile 331: Zeile 342:
 </code> </code>
  
-Eine Überprüfung, ob beim Neustart des Server der ''spamassassin''-Dienst/Deamon wirklich mit gestartet wird, kann mit nachfolgendem Befehl erfolgen und sollte eine Anzeige, wie ebenfalls nachfolgend dargestellt ausgeben:+Eine Überprüfung, ob beim Neustart des Server der ''smf-spf''-Dienst/Deamon wirklich mit gestartet wird, kann mit nachfolgendem Befehl erfolgen und sollte eine Anzeige, wie ebenfalls nachfolgend dargestellt ausgeben:
 <code> <code>
 # systemctl list-unit-files --type=service | grep -e smf-spf # systemctl list-unit-files --type=service | grep -e smf-spf
Zeile 344: Zeile 355:
 ==== Erster Start SPF ==== ==== Erster Start SPF ====
  
-Um den [[http://www.openspf.org/|SPF]] zu starten kann nachfolgender Befehl angewandt werden:+Um den [[http://www.open-spf.org/|SPF]] zu starten kann nachfolgender Befehl angewandt werden:
 <code> <code>
 # systemctl start smf-spf # systemctl start smf-spf
 </code> </code>
  
-Eine Überprüfung ob der Start des [[http://www.openspf.org/|SPF]] erfolgreich war kann mit nachfolgendem Befehl durchgeführt werden, welcher eine Ausgabe in etwa wie nachfolgende erzeugen sollte:+Eine Überprüfung ob der Start des [[http://www.open-spf.org/|SPF]] erfolgreich war kann mit nachfolgendem Befehl durchgeführt werden, welcher eine Ausgabe in etwa wie nachfolgende erzeugen sollte:
 <code> <code>
 # systemctl status smf-spf # systemctl status smf-spf
Zeile 396: Zeile 407:
   * **''/etc/postfix/main.cf''**    * **''/etc/postfix/main.cf''** 
   * **''/etc/postfix/master.cf''**   * **''/etc/postfix/master.cf''**
-durchgeführt, um eine Anbindung des [[http://www.postfix.org|Postfix]] an den [[http://www.openspf.org/|SPF]] zu realisieren.+durchgeführt, um eine Anbindung des [[http://www.postfix.org|Postfix]] an den [[http://www.open-spf.org/|SPF]] zu realisieren.
  
-Dabei soll die Anbindung von [[http://www.postfix.org|Postfix]] an den [[http://www.openspf.org/|SPF]] mit dem Verfahren+Dabei soll die Anbindung von [[http://www.postfix.org|Postfix]] an den [[http://www.open-spf.org/|SPF]] mit dem Verfahren
   * **''spf-milter''** erfolgen.   * **''spf-milter''** erfolgen.
  
Zeile 441: Zeile 452:
 smtpd     pass  -                               smtpd smtpd     pass  -                               smtpd
   -o smtpd_milters=${spf_milter}   -o smtpd_milters=${spf_milter}
-# Tachtler - new -  
-# Outgoing traffic from trusted networks, with amavisd-new (altermime). 
-192.168.1.60:smtp      inet  n                               smtpd 
-  -o content_filter= 
-  -o smtpd_proxy_filter=192.168.0.70:10024 
-  -o smtpd_client_connection_count_limit=4 
-  -o smtpd_proxy_options=speed_adjust 
-192.168.0.60:smtp      inet  n                               smtpd 
-  -o content_filter= 
-  -o smtpd_proxy_filter=192.168.0.70:10024 
-  -o smtpd_client_connection_count_limit=4 
-  -o smtpd_proxy_options=speed_adjust 
-127.0.0.1:smtp      inet  n                               smtpd 
-  -o content_filter= 
-  -o smtpd_proxy_filter=192.168.0.70:10024 
-  -o smtpd_client_connection_count_limit=4 
-  -o smtpd_proxy_options=speed_adjust 
-# Tachtler - new - 
-# Outgoing traffic, BACK from amavisd-new from smtpd_proxy_filter. 
-192.168.0.60:10025     inet  n                               smtpd 
-  -o content_filter= 
-  -o smtpd_proxy_filter= 
-  -o smtpd_milters= 
-  -o smtpd_authorized_xforward_hosts=127.0.0.0/8,192.168.0.0/24,192.168.1.0/24,192.168.2.0/24,88.217.171.167/32 
-  -o smtpd_client_restrictions= 
-  -o smtpd_helo_restrictions= 
-  -o smtpd_sender_restrictions= 
-  -o smtpd_relay_restrictions= 
-  -o smtpd_recipient_restrictions=permit_mynetworks,reject 
-  -o smtpd_data_restrictions= 
-  -o mynetworks=0.0.0.0/32,127.0.0.0/8,10.7.0.0/24,10.7.1.0/24,192.168.0.0/25,88.217.171.167/32 
-  -o receive_override_options=no_unknown_recipient_checks 
-# Tachtler - new - 
-# Outgoing traffic, BACK from amavisd-new from content_filter. 
-192.168.0.60:10027     inet  n                               smtpd 
-  -o content_filter= 
-  -o smtpd_proxy_filter= 
-  -o smtpd_milters= 
-  -o smtpd_authorized_xforward_hosts=127.0.0.0/8,192.168.0.0/24,192.168.1.0/24,192.168.2.0/24,88.217.171.167/32 
-  -o smtpd_delay_reject=no 
-  -o smtpd_client_restrictions= 
-  -o smtpd_helo_restrictions= 
-  -o smtpd_sender_restrictions= 
-  -o smtpd_relay_restrictions= 
-  -o smtpd_recipient_restrictions=permit_mynetworks,reject 
-  -o smtpd_data_restrictions=reject_unauth_pipelining 
-  -o smtpd_end_of_data_restrictions= 
-  -o smtpd_restriction_classes= 
-  -o mynetworks=0.0.0.0/32,127.0.0.0/8,10.7.0.0/24,10.7.1.0/24,192.168.0.0/25,88.217.171.167/32 
-  -o smtpd_error_sleep_time=0 
-  -o smtpd_soft_error_limit=1001 
-  -o smtpd_hard_error_limit=1000 
-  -o smtpd_client_connection_count_limit=0 
-  -o smtpd_client_connection_rate_limit=0 
-  -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_milters 
-  -o local_header_rewrite_clients= 
-... 
-... 
-... 
-# Tachtler - enabled -  
-submission inet n                               smtpd 
-  -o syslog_name=postfix/submission 
-  -o content_filter=lmtp:[192.168.0.70]:10026 
-  -o smtpd_tls_security_level=encrypt 
-  -o smtpd_sasl_auth_enable=yes 
-  -o smtpd_reject_unlisted_recipient=no 
-#  -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 
-... 
-... 
-... 
-pickup    unix  n                   60      1       pickup 
-  -o content_filter=lmtp:[192.168.0.70]:10024 
 ... ...
 </code> </code>
Zeile 558: Zeile 492:
 Hint: Some lines were ellipsized, use -l to show in full. Hint: Some lines were ellipsized, use -l to show in full.
 </code> </code>
 +
 +===== Test =====
 +
 +Nachfolgend soll ein Test darin bestehen, dass eine e-Mail von einem externen Server an [[http://www.postfix.com|Postfix]] gesendet wird, und dieser dann den SPF-Record des absendenden e-Mail-Servers prüft.
 +
 +Wichtig sind zwei **Einträge**, in
 +  * den **Header-Zeilen** der **eingehenden e-Mail**
 +  * die **LOG-Einträge** im Server, auf dem [[http://www.open-spf.org/|SPF]] - **''spf-milter''** läuft:
 +
 +==== Überprüfung: Header-Zeilen ====
 +
 +Nachfolgender Eintrag sollte in den **Header-Zeilen** einer **eingehenden e-Mail** zu finden sein, um das Ergebnis der [[http://www.open-spf.org/|SPF]] - **''spf-milter''** Überprüfung zu zeigen:
 +<code>
 +Authentication-Results: mx1.tachtler.net; spf=pass smtp.mailfrom=<michael@nausch.org> smtp.helo=mx01.nausch.org
 +</code>
 +* //Das Ergbenis kann hier ''pass'', ''fail'' und ''none'' sein.//
 +
 +==== Überprüfung: /var/log/maillog ====
 +
 +Nachfolgender Eintrag sollte in den **LOG-Einträgen** des Servers auf dem der [[http://www.open-spf.org/|SPF]] - **''spf-milter''** läuft bei einer **eingehenden e-Mail** zu finden sein, um das Ergebnis der [[http://www.open-spf.org/|SPF]] - **''spf-milter''** Überprüfung zu dokumentieren:
 +<code>
 +Oct 19 06:56:56 server70 smf-spf[2157]: SPF pass: ip=217.91.103.190, fqdn=mx01.nausch.org, helo=mx01.nausch.org, from=<michael@nausch.org>
 +</code>
 +* //Das Ergbenis kann hier ''pass'', ''fail'' und ''none'' sein.//
 +
 +===== Test Werkzeuge =====
 +
 +Nachfolgende externe Links führen zu verschiedenen Test Werkzeugen:
 +  * **[[http://www.open-spf.org/|SPF]]** - [[https://dmarcian.com/spf-survey/|dmarcian - SPF Surveyor]]
 +  * **[[http://www.opendkim.org/|OpenDKIM]]** - [[http://protodave.com/tools/dkim-key-checker/|protodave - DKIM Key Checker]]
 +  * **[[http://www.trusteddomain.org/opendmarc/|OpenDMARC]]** - [[https://dmarcian.com/dmarc-inspector/|dmarcian -  DMARC Inspector]]
 +
tachtler/postfix_centos_7_-_spf_anbinden_spf-milter.1445245750.txt.gz · Zuletzt geändert: 2015/10/19 11:09 von klaus