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_4 [19.11.2014 12:50. ] – [Lookup-Tabellen] djangocentos:mail_c7:mta_4 [22.07.2020 20:13. ] (aktuell) – [Reject-Regeln] django
Zeile 15: Zeile 15:
 In der Vergangenheit, dokumentiert in den Konfigurationsbeispielen zu [[centos:mailserver:start|CentOS 5]] und [[centos:mail_c6:start|CentOS 6]], wurden bei den Konfigurationsbeispielen als Basis die Distributionsspezifischen Vorlagen verwendet. Rückblickend ist aber festzustellen, dass einige der (ungeübteren) Administratoren mit unter Schwierigkeiten sich zurecht zu finden, waren doch verschiedene Konfigurationsoptionen etwas verstreut in der //**/etc/postfix/main.cf**// verteilt. In der Vergangenheit, dokumentiert in den Konfigurationsbeispielen zu [[centos:mailserver:start|CentOS 5]] und [[centos:mail_c6:start|CentOS 6]], wurden bei den Konfigurationsbeispielen als Basis die Distributionsspezifischen Vorlagen verwendet. Rückblickend ist aber festzustellen, dass einige der (ungeübteren) Administratoren mit unter Schwierigkeiten sich zurecht zu finden, waren doch verschiedene Konfigurationsoptionen etwas verstreut in der //**/etc/postfix/main.cf**// verteilt.
  
-Wir werden daher bei den nun folgendem Beispiel zur Konfiguration unter **CentOS 7** einen, auf den ersten ungewöhnlichen Schritt unternehmen und die **main.cf** beiseite legen und eine eigene anlegenfolgende vier Schritte sind hierzu netwendig:+Wir werden daher bei den nun folgendem Beispiel zur Konfiguration unter **CentOS 7** einen, auf den ersten ungewöhnlichen Schritt unternehmen und die **main.cf** beiseite legen und eine eigene anlegenfolgende vier Schritte sind hierzu notwendig:
   - Wir stoppen den vorhandenen Postfix-SMTP-Server. <code> # systemctl stop postfix</code>   - Wir stoppen den vorhandenen Postfix-SMTP-Server. <code> # systemctl stop postfix</code>
   - Anschließend wechseln wir in das Konfigurationsverzeichnis //**/etc/postfix/**//. <code> # cd /etc/postfix</code>   - Anschließend wechseln wir in das Konfigurationsverzeichnis //**/etc/postfix/**//. <code> # cd /etc/postfix</code>
-  - Nun löschen oder verschien wir die nicht benötigten Dateien:+  - Nun löschen __oder__ verschieben wir die nicht benötigten Dateien:
     - **löschen** <code> # rm access canonical generic header_checks relocated virtual transport -f</code>     - **löschen** <code> # rm access canonical generic header_checks relocated virtual transport -f</code>
     - **verschieben** <code> # mkdir -p /etc/postfix/.orig/</code><code> # mv access canonical generic header_checks relocated virtual transport main.cf /etc/postfix/.orig/ -f</code>     - **verschieben** <code> # mkdir -p /etc/postfix/.orig/</code><code> # mv access canonical generic header_checks relocated virtual transport main.cf /etc/postfix/.orig/ -f</code>
Zeile 40: Zeile 40:
   #   #
  
-Wir werden später die einzelnen Konfigurationsoptionen strukturieren, d.h. zusammenfassen und jeweils bei den betreffenden Sectionen eintragen.+Wir werden später die einzelnen Konfigurationsoptionen strukturieren, d.h. zusammenfassen und jeweils bei den betreffenden Sektionen eintragen.
  
 ==== Installations- und Konfigurations Informationen ==== ==== Installations- und Konfigurations Informationen ====
Zeile 275: Zeile 275:
 </code> </code>
 ==== Routing ==== ==== Routing ====
-In der Section **ROUTING - WEITERLEITEN VON NACHRICHTEN AN DAS EIGENTLICHE ZIEL** legen wir fest, wo und wie die einzelnen Zielserver erreichbar sind, an die unser Postfix SMTP-Server seine Nachrichten weiterleiten soll. +In der Sektion **ROUTING - WEITERLEITEN VON NACHRICHTEN AN DAS EIGENTLICHE ZIEL** legen wir fest, wo und wie die einzelnen Zielserver erreichbar sind, an die unser Postfix SMTP-Server seine Nachrichten weiterleiten soll. 
 <WRAP center round tip> <WRAP center round tip>
-Auch wenn es für einen kleinen Server erst einmal als Overkill erscheinen mag, den IMAP-Server via **LMTP** anzusprechen, ist es dennoch von unschätzbaren Wert, sollte später doch noch ein separater IMAP-Server erforderlich sein. Somit muss später "nur" noch die IP-Adresse oder der Name des IMAP-servers geändert werden und nicht zusätzlich an der Konfiguration noch grundlegende Anpassungen vorgenommen werden!+Auch wenn es für einen kleinen Server erst einmal als Overkill erscheinen mag, den IMAP-Server via **LMTP** anzusprechen, ist es dennoch von unschätzbaren Wert, sollte später doch noch ein separater IMAP-Server erforderlich sein. Somit muss später "nur" noch die IP-Adresse oder der Name des IMAP-Servers geändert werden und nicht zusätzlich an der Konfiguration noch grundlegende Anpassungen vorgenommen werden!
 </WRAP> </WRAP>
    # vim /etc/postfix/main.cf    # vim /etc/postfix/main.cf
 <code bash>################################################################################ <code bash>################################################################################
-## ROUTING WEITERLEITEN VON NACHRICHTEN AN DAS EIGENTLICHE ZIEL+## ROUTING WEITERLEITEN VON NACHRICHTEN AN DAS EIGENTLICHE ZIEL
 # #
 # Django : 2014-10-15 - Relayhost: Alle Nachrichten werden an den Relayhost # Django : 2014-10-15 - Relayhost: Alle Nachrichten werden an den Relayhost
Zeile 393: Zeile 393:
 #          smtp_destination_rate_delay = $default_destination_rate_delay #          smtp_destination_rate_delay = $default_destination_rate_delay
 #          virtual_destination_rate_delay = $default_destination_rate_delay #          virtual_destination_rate_delay = $default_destination_rate_delay
-#          Ausgehende Nachrichten des MAilinglistenservers auf 2,5 Minuten+#          Ausgehende Nachrichten des Mailinglistenservers auf 2,5 Minuten
 #          setzen #          setzen
 smtp_destination_rate_delay = 150s smtp_destination_rate_delay = 150s
 </code> </code>
  
 +<WRAP center round important 90%>
 +**WICHTIG**: \\ Die Option gilt für alle Clients! Das bedeutet, dass ein ''smtp_destination_rate_delay = 150s'' die Zustellversuche an alle SMTP-Ziele gilt. Im Maillog des Servers wird **__nicht__** extra ein Hinweis eingetragen, dass das rate_limiting zugeschlagen hat! \\
 +</WRAP>
 + 
 ==== Rückmeldungen beeinflussen und individualisieren ==== ==== Rückmeldungen beeinflussen und individualisieren ====
 In der Section **RÜCKMELDUNGEN BEEINFLUSSEN UND INDIVIDUALISIEREN** können wir festlegen, welche Informationen unser Mailserver unterdrücken und weitergeben soll. Auch eine Individualisierung auf Mailserverbetreiberebene sind möglich.  In der Section **RÜCKMELDUNGEN BEEINFLUSSEN UND INDIVIDUALISIEREN** können wir festlegen, welche Informationen unser Mailserver unterdrücken und weitergeben soll. Auch eine Individualisierung auf Mailserverbetreiberebene sind möglich. 
Zeile 447: Zeile 451:
 # default: disable_vrfy_command = no # default: disable_vrfy_command = no
 disable_vrfy_command = yes disable_vrfy_command = yes
 +
 +# Django : 2015-10-08 - Fehlercode bei Verwendung der Option
 +#          reject_plaintext_session beim Einsatz von verpflichtender
 +#          TLS-Transportverschlüsselung.
 +#          https://tools.ietf.org/html/rfc3463#section-3.8
 +# default: plaintext_reject_code = 450
 +# plaintext_reject_code = 571
 </code> </code>
  
-Da wir ja nicht nur englischsprachige Nutzer haben, die bei unserem MX Post abliefern dürfen, möchten wir unter Umständen auch individuelle Bouncemessages verwenden. In der Section **RÜCKMELDUNGEN BEEINFLUSSEN UND INDIVIDUALISIEREN** haben wir bereits den Parameter **bounce_template_file** gesetzt. was uns jetzt noch feht ist das zugehörige File. Dieses mustergültiges Nachrichtentemplate von den beiden Spezialisten Patrick Koetter und Ralf Hildebrandt aus dem Web herunter. +Da wir ja nicht nur englischsprachige Nutzer haben, die bei unserem MX Post abliefern dürfen, möchten wir unter Umständen auch individuelle Bouncemessages verwenden. In der Sektion **RÜCKMELDUNGEN BEEINFLUSSEN UND INDIVIDUALISIEREN** haben wir bereits den Parameter **bounce_template_file** gesetzt. was uns jetzt noch fehlt ist das zugehörige File. Dieses mustergültiges Nachrichtentemplate von den beiden Spezialisten Patrick Koetter und Ralf Hildebrandt aus dem Web herunter. 
    # cd /etc/postfix    # cd /etc/postfix
  
Zeile 1016: Zeile 1027:
 | **5xx**//Hinweistext//                  | Die Anfrage wird mit einem fatalen Fehlercode 5xx und dem Text //Hinweistext// abgelehnt                                                                                              | | **5xx**//Hinweistext//                  | Die Anfrage wird mit einem fatalen Fehlercode 5xx und dem Text //Hinweistext// abgelehnt                                                                                              |
 | **WARN**//Hinweistext//                 | Im Maillog des Mailservers wird ein Logeintrag mit den Informationen: \\ - Absender \\ - Empfänger \\ - HELO \\ - etc. \\ zusammen mit dem //Hinweistext// eingefügt.                 | | **WARN**//Hinweistext//                 | Im Maillog des Mailservers wird ein Logeintrag mit den Informationen: \\ - Absender \\ - Empfänger \\ - HELO \\ - etc. \\ zusammen mit dem //Hinweistext// eingefügt.                 |
 +| **restriction**                         | Es kommt eine der **permit**- oder **reject-[[centos:mail_c7:mta_4#absicherung_mit_hilfe_von_restrictions|Restrictions]]-Regeln** zur Anwendung                                       |
  
  
Zeile 1036: Zeile 1047:
 # Postfix die ASCII-Konfigurationsdatei direkt auswertet! # Postfix die ASCII-Konfigurationsdatei direkt auswertet!
 # #
 +#
 +#10.20.30.40/26        REJECT
 </file>  </file> 
  
Zeile 1085: Zeile 1098:
 # die zugehörige Datenbank erzeugt werden. # die zugehörige Datenbank erzeugt werden.
 # #
 +#tachtler.net          reject_plaintext_session
 </file> </file>
  
Zeile 2368: Zeile 2382:
 virusalert@nausch.org                   django@nausch.org virusalert@nausch.org                   django@nausch.org
 postmaster@nausch.org                   django@nausch.org</file> postmaster@nausch.org                   django@nausch.org</file>
 +
 +=== virtual_alias files in Verbindung mit postfixadmin ===
 +Verwalten wir die Domänen und Nutzerkonten mit Hilfe von **[[centos:mail_c7:pfadmin_1|Postfixadmin]]**, werden wir nachfolgend in unsere Postfix-Konfigurationsdatei //**/etc/postfix/main.cf**// folgenden Block einfügen.
 +
 +<code># Django : 2014-10-15 - virtuelle Mail-Domains und Mailboxen mit Anbindung an
 +#          das mySQL-Datenbankbackend (Verwaltung mit Hilfe von postfixadmin)
 +# default: virtual_mailbox_domains = $virtual_mailbox_maps
 +#          virtual_alias_maps = $virtual_maps
 +#          virtual_mailbox_maps =
 +virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf
 + 
 +virtual_alias_maps =      proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf
 +                          proxy:mysql:/etc/postfix/mysql_virtual_alias_domain_maps.cf
 +                          proxy:mysql:/etc/postfix/mysql_virtual_alias_domain_catchall_maps.cf
 + 
 +virtual_mailbox_maps =    proxy:mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
 +                          proxy:mysql:/etc/postfix/mysql_virtual_alias_domain_mailbox_maps.cf</code>
 +
 +Die zugehörigen Dateien, haben dann folgende Inhalte.
 +== mysql_virtual_domains_maps.cf ==
 +   # vim /etc/postfix/mysql_virtual_domains_maps.cf
 +<file bash /etc/postfix/mysql_virtual_domains_maps.cf># Django : 2013-02-07
 +# Definition der Datenbankanbindung zur Abfrage der virtuellen Domaenen
 +#
 +user = postfix_user
 +password = rbgsDK39DeM2b2btx9iMHfzd
 +hosts = mariadb.dmz.nausch.org
 +dbname = postfix
 +query = SELECT domain FROM domain WHERE domain='%s' AND active = '1'
 +</file>
 +
 +== mysql_virtual_alias_maps.cf ==
 +   # vim /etc/postfix/mysql_virtual_alias_maps.cf
 +<file bash /etc/postfix/mysql_virtual_alias_maps.cf># Django : 2012-02-07
 +# Definition der Datenbankanbindung zur Abfrage der virtual Alias Maps
 +#
 +user = postfix_user
 +password = rbgsDK39DeM2b2btx9iMHfzd
 +hosts = mariadb.dmz.nausch.org
 +dbname = postfix
 +query = SELECT goto FROM alias WHERE address='%s' AND active = '1'
 +</file>
 +
 +== mysql_virtual_alias_domain_maps.cf ==
 +   # vim /etc/postfix/mysql_virtual_alias_domain_maps.cf
 +<file bash /etc/postfix/mysql_virtual_alias_domain_maps.cf># Django : 2013-02-07
 +# Definition der Datenbankanbindung zur Abfrage der virtual Alias Domain Maps
 +#
 +user = postfix_user
 +password = rbgsDK39DeM2b2btx9iMHfzd
 +hosts = mariadb.dmz.nausch.org
 +dbname = postfix
 +query = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' AND
 +           alias.address = CONCAT('%u', '@', alias_domain.target_domain) AND alias.active = 1
 +           AND alias_domain.active='1'
 +</file>
 +
 +== mysql_virtual_alias_domain_catchall_maps.cf ==
 +   # vim /etc/postfix/mysql_virtual_alias_domain_catchall_maps.cf
 +<file bash /etc/postfix/mysql_virtual_alias_domain_catchall_maps.cf># Django : 2013-02-07
 +# Definition der Datenbankanbindung zur Abfrage der virtual Alias Domain Catchall Maps
 +#
 +user = postfix_user
 +password = rbgsDK39DeM2b2btx9iMHfzd
 +hosts = mariadb.dmz.nausch.org
 +dbname = postfix
 +query = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' AND
 +           alias.address = CONCAT('@', alias_domain.target_domain) AND alias.active = 1
 +           AND alias_domain.active='1'
 +</file> 
 +
 +== mysql_virtual_mailbox_maps.cf ==
 +   # vim /etc/postfix/mysql_virtual_mailbox_maps.cf
 +<file bash /etc/postfix/mysql_virtual_mailbox_maps.cf># Django : 2013-02-07
 +# Definition der Datenbankanbindung zur Abfrage der virtual Mailbox Maps
 +#
 +user = postfix_user
 +password = rbgsDK39DeM2b2btx9iMHfzd
 +hosts = mariadb.dmz.nausch.org
 +dbname = postfix
 +query = SELECT maildir FROM mailbox WHERE username='%s' AND active = '1'
 +</file>
 +
 +== mysql_virtual_alias_domain_mailbox_maps.cf ==
 +   # vim /etc/postfix/mysql_virtual_alias_domain_mailbox_maps.cf
 +<file bash /etc/postfix/mysql_virtual_alias_domain_mailbox_maps.cf># Django : 2012-10-09
 +# Definition der Datenbankanbindung zur Abfrage der virtual Alias Domain Mailbox Maps
 +#
 +user = postfix_user
 +password = rbgsDK39DeM2b2btx9iMHfzd
 +hosts = mariadb.dmz.nausch.org
 +dbname = postfix
 +query = SELECT maildir FROM mailbox,alias_domain WHERE alias_domain.alias_domain = '%d'
 +           AND mailbox.username = CONCAT('%u', '@', alias_domain.target_domain) AND
 +           mailbox.active = 1 AND alias_domain.active='1'
 +</file>
  
 ==== bcc ==== ==== bcc ====
Zeile 2538: Zeile 2648:
     * **reject_rbl_client ix.dnsbl.manitu.net** Blockiert die eMail, wenn die Client-IP-Adresse bei **ix.dnsbl.manitu.net** geblacklistet ist.     * **reject_rbl_client ix.dnsbl.manitu.net** Blockiert die eMail, wenn die Client-IP-Adresse bei **ix.dnsbl.manitu.net** geblacklistet ist.
     * **reject_rbl_client bl.spamcop.net** Blockiert die eMail, wenn die Client-IP-Adresse bei **bl.spamcop.net** geblacklistet ist.     * **reject_rbl_client bl.spamcop.net** Blockiert die eMail, wenn die Client-IP-Adresse bei **bl.spamcop.net** geblacklistet ist.
-    * **reject_rbl_client dnsbl.njabl.org** Blockiert die eMail, wenn die Client-IP-Adresse bei **dnsbl.njabl.org** geblacklistet ist. 
   * **reject_rhsbl_client multi.uribl.com** \\ Blockiert die eMail, sofern der Client-Hostname in der verwendeten **rhsbl_domain**(**RHSBL**)((**R**ight-**H**and **S**ided **B**lacklist)) gelistet ist.   * **reject_rhsbl_client multi.uribl.com** \\ Blockiert die eMail, sofern der Client-Hostname in der verwendeten **rhsbl_domain**(**RHSBL**)((**R**ight-**H**and **S**ided **B**lacklist)) gelistet ist.
 +  * **reject_plaintext_session** \\ Liefert einen **REJECT**, wenn die Verbindung nicht TLS transportverschlüsselt ist. 
 ==== SMTP Recipient Restrictions ==== ==== SMTP Recipient Restrictions ====
 Nachfolgende Definitionen fügen wir nun am Ende der //**/etc/postfix/main.cf**// ein. Hierzu benutzen wir wie immer den Editor unserer Wahl.  Nachfolgende Definitionen fügen wir nun am Ende der //**/etc/postfix/main.cf**// ein. Hierzu benutzen wir wie immer den Editor unserer Wahl. 
Zeile 2980: Zeile 3089:
 # default: disable_vrfy_command = no # default: disable_vrfy_command = no
 disable_vrfy_command = yes disable_vrfy_command = yes
 +
 +# Django : 2015-10-08 - Fehlercode bei Verwendung der Option
 +#          reject_plaintext_session beim Einsatz von verpflichtender
 +#          TLS-Transportverschlüsselung.
 +#          https://tools.ietf.org/html/rfc3463#section-3.8
 +# default: plaintext_reject_code = 450
 +# plaintext_reject_code = 573
  
  
Zeile 3188: Zeile 3304:
   * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**   * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**
  
-~~DISCUSSION~~ +
-~~AUTOTWEET:~~+
  • centos/mail_c7/mta_4.txt
  • Zuletzt geändert: 22.07.2020 20:13.
  • von django