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_4 [03.11.2014 20:03. ] – [Reject-Regeln] django | centos:mail_c7:mta_4 [22.07.2020 20:13. ] (aktuell) – [Reject-Regeln] django | ||
---|---|---|---|
Zeile 15: | Zeile 15: | ||
In der Vergangenheit, | In der Vergangenheit, | ||
- | 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 anlegen. folgende vier Schritte sind hierzu | + | 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 anlegen; folgende vier Schritte sind hierzu |
- Wir stoppen den vorhandenen Postfix-SMTP-Server. < | - Wir stoppen den vorhandenen Postfix-SMTP-Server. < | ||
- Anschließend wechseln wir in das Konfigurationsverzeichnis // | - Anschließend wechseln wir in das Konfigurationsverzeichnis // | ||
- | - Nun löschen | + | - Nun löschen |
- **löschen** < | - **löschen** < | ||
- **verschieben** < | - **verschieben** < | ||
Zeile 40: | Zeile 40: | ||
# | # | ||
- | Wir werden später die einzelnen Konfigurationsoptionen strukturieren, | + | Wir werden später die einzelnen Konfigurationsoptionen strukturieren, |
==== Installations- und Konfigurations Informationen ==== | ==== Installations- und Konfigurations Informationen ==== | ||
Zeile 245: | Zeile 245: | ||
# default: unbekannte Empfänger sollen abgewiesen und nicht mit einem | # default: unbekannte Empfänger sollen abgewiesen und nicht mit einem | ||
# temporären Fehler 450 abgewiesen werden. | # temporären Fehler 450 abgewiesen werden. | ||
- | unknown_local_recipient_reject_code = 550 | + | # default: |
+ | # unverified_recipient_reject_code = 450 | ||
+ | # | ||
# Django : 2014-10-15 - Soll bei einem unbekanntem Ziel der genaue Tabellenname | # Django : 2014-10-15 - Soll bei einem unbekanntem Ziel der genaue Tabellenname | ||
Zeile 273: | Zeile 275: | ||
</ | </ | ||
==== Routing ==== | ==== Routing ==== | ||
- | In der Section | + | In der Sektion |
<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, | + | Auch wenn es für einen kleinen Server erst einmal als Overkill erscheinen mag, den IMAP-Server via **LMTP** anzusprechen, |
</ | </ | ||
# vim / | # vim / | ||
<code bash>################################################################################ | <code bash>################################################################################ | ||
- | ## ROUTING | + | ## ROUTING |
# | # | ||
# Django : 2014-10-15 - Relayhost: Alle Nachrichten werden an den Relayhost | # Django : 2014-10-15 - Relayhost: Alle Nachrichten werden an den Relayhost | ||
Zeile 391: | 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 | + | # Ausgehende Nachrichten des Mailinglistenservers |
# setzen | # setzen | ||
smtp_destination_rate_delay = 150s | smtp_destination_rate_delay = 150s | ||
</ | </ | ||
+ | <WRAP center round important 90%> | ||
+ | **WICHTIG**: | ||
+ | </ | ||
+ | |||
==== 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 445: | 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:// | ||
+ | # default: plaintext_reject_code = 450 | ||
+ | # plaintext_reject_code = 571 | ||
</ | </ | ||
- | 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 | + | 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 |
# cd / | # cd / | ||
Zeile 458: | Zeile 471: | ||
Bevor wir uns nun die einzelnen Lookup-Tabellen genauer ansehen, werfen wir noch einen Blick in die nachfolgende Übersicht um festzustellen, | Bevor wir uns nun die einzelnen Lookup-Tabellen genauer ansehen, werfen wir noch einen Blick in die nachfolgende Übersicht um festzustellen, | ||
- | <uml width=910 title=" | + | {{page>centos:mail_c7:postfix& |
- | + | ||
- | state " | + | |
- | qmqp : QMQP-Modul | + | |
- | + | ||
- | state "/ | + | |
- | sendmail | + | |
- | sendmail : " | + | |
- | + | ||
- | state "MTA - MTA Verkehr" | + | |
- | smtp_in : TCP/IP - Port 25 | + | |
- | + | ||
- | state "MUA - MSA Verkehr" | + | |
- | submission : TCP/IP - Port 587 | + | |
- | + | ||
- | state " | + | |
- | lmtp_24 : (Mail Delivery Agent) | + | |
- | lmtp_24 : Dovecot IMAP-Server | + | |
- | lmtp_24 : TCP/IP - Port 24 | + | |
- | + | ||
- | state " | + | |
- | smtp_25 : (Mail Transport Agent) | + | |
- | smtp_25 : andere SMTP-Server (Relayhosts) | + | |
- | smtp_25 : im Internet bzw. Intranet | + | |
- | smtp_25 : TCP/IP - Port 25 | + | |
- | + | ||
- | state " | + | |
- | mailman : Weitergabe der eMail | + | |
- | mailman : an Mailinglisten / wie Mailman | + | |
- | mailman : oder via UUCP ... | + | |
- | + | ||
- | state " | + | |
- | mailbox : Postfix - Queue | + | |
- | mailbox : " | + | |
- | mailbox : lokale Zustellung | + | |
- | + | ||
- | state master { | + | |
- | state " | + | |
- | maildrop : └── maildrop | + | |
- | + | ||
- | state " | + | |
- | pickup : └── pickup | + | |
- | + | ||
- | state " | + | |
- | anvil : └── | + | |
- | + | ||
- | state " | + | |
- | dnsblog : └── | + | |
- | + | ||
- | state " | + | |
- | tlsproxy : └── | + | |
- | + | ||
- | state " | + | |
- | postscreen : └── | + | |
- | + | ||
- | state " | + | |
- | verify : └── | + | |
- | + | ||
- | state " | + | |
- | tlsmgr: └── | + | |
- | + | ||
- | state " | + | |
- | scache: └── | + | |
- | + | ||
- | state " | + | |
- | qmqpd: └── | + | |
- | + | ||
- | state " | + | |
- | discard: └── | + | |
- | + | ||
- | state " | + | |
- | error : ├── error | + | |
- | error : └── retry | + | |
- | + | ||
- | state " | + | |
- | virtual: └── | + | |
- | + | ||
- | state " | + | |
- | cleanup : └── cleanup | + | |
- | + | ||
- | state " | + | |
- | showq : └── | + | |
- | + | ||
- | state " | + | |
- | rewrite : └── trivial-rewrite | + | |
- | + | ||
- | state " | + | |
- | bounce : ├── bounce | + | |
- | bounce : ├── defer | + | |
- | bounce : └── trace | + | |
- | + | ||
- | state " | + | |
- | smtpd : └── smtpd | + | |
- | + | ||
- | state " | + | |
- | incoming : └── incoming | + | |
- | + | ||
- | state " | + | |
- | hold : └── hold | + | |
- | + | ||
- | state " | + | |
- | corrupt : └── corrupt | + | |
- | + | ||
- | state " | + | |
- | active : └── active | + | |
- | + | ||
- | state " | + | |
- | deferred : └── deferred | + | |
- | + | ||
- | state " | + | |
- | qmgr : └── qmgr | + | |
- | + | ||
- | state " | + | |
- | flush : └── flush | + | |
- | + | ||
- | state " | + | |
- | resolve : └── resolve | + | |
- | + | ||
- | state " | + | |
- | local : └── local | + | |
- | + | ||
- | state " | + | |
- | pipe : └── pipe | + | |
- | + | ||
- | state " | + | |
- | lmtp : └── lmtp | + | |
- | + | ||
- | state " | + | |
- | smtp_out : └── smtp | + | |
- | + | ||
- | state " | + | |
- | proxymap : ├── proxymap | + | |
- | proxymap : └── proxywrite | + | |
- | } | + | |
- | + | ||
- | | + | |
- | | + | |
- | + | ||
- | qmqp -right-> qmqpd | + | |
- | | + | |
- | | + | |
- | + | ||
- | anvil --> smtpd | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | + | ||
- | qmqpd --> cleanup | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | + | ||
- | | + | |
- | qmgr --> deferred | + | |
- | qmgr --> active | + | |
- | qmgr --> hold | + | |
- | qmgr --> corrupt | + | |
- | | + | |
- | | + | |
- | qmgr --> local | + | |
- | qmgr -right-> smtp_out | + | |
- | qmgr --> pipe | + | |
- | qmgr --> lmtp | + | |
- | qmgr -left-> virtual | + | |
- | | + | |
- | error --> qmgr | + | |
- | flush --> qmgr | + | |
- | showq --> qmgr | + | |
- | | + | |
- | + | ||
- | lmtp --> lmtp_24 | + | |
- | | + | |
- | | + | |
- | pipe --> mailman | + | |
- | local --> mailbox | + | |
- | + | ||
- | + | ||
- | note right of cleanup | + | |
- | Lookup Table canonical_maps | + | |
- | Übersetzungstabelle zum | + | |
- | Umschreiben von nicht-lokalen | + | |
- | Empfängeradressen | + | |
- | end note | + | |
- | + | ||
- | + | ||
- | note right of cleanup | + | |
- | Lookup Table virtual_maps | + | |
- | Tabelle mit der Empfängeradresse | + | |
- | aller lokalen, virtuellen und | + | |
- | entfernten eMailadressen | + | |
- | end note | + | |
- | + | ||
- | note right of smtpd | + | |
- | Realtime Blockhole Lists | + | |
- | Nutzung von RBL zum Prüfen | + | |
- | von einliefernden Hosts | + | |
- | reverse DNS-Abfrage z.B. | + | |
- | bei SPAMHAUS | + | |
- | end note | + | |
- | + | ||
- | + | ||
- | note right of rewrite | + | |
- | Lookup Table relocated_maps | + | |
- | Tabelle für die Bounce-Nachrichten | + | |
- | mit Angabe der neuen eMailadresse | + | |
- | bei verzogenen Accounts. | + | |
- | end note | + | |
- | + | ||
- | note left of smtpd | + | |
- | Lookup Table access_client | + | |
- | Lookup Table access_helo | + | |
- | Lookup Table access_recipient | + | |
- | Lookup Table access_recipient-rfc | + | |
- | Lookup Table access_sender | + | |
- | Tabellen zum Black- und Whitelisten | + | |
- | an Hand der IP-Adrese, Hostname, | + | |
- | Empfänger oder Sender | + | |
- | end note | + | |
- | + | ||
- | note left of resolve | + | |
- | Lookup Table transport_maps | + | |
- | Tabelle zur adressabhängigen | + | |
- | Weiterleitung an einen | + | |
- | weiteren (finalen) MTA. | + | |
- | end note | + | |
- | + | ||
- | note right of local | + | |
- | Lookup Table / | + | |
- | Tabelle mit der lokalen eMails | + | |
- | an lokale Empfänger zugewiesen | + | |
- | werden können. | + | |
- | end note | + | |
- | + | ||
- | note left of local | + | |
- | Lookup Table .forward | + | |
- | Tabelle zur Steuerung von | + | |
- | automatischen Anwesenheitsnachrichten | + | |
- | end note | + | |
- | + | ||
- | note right of smtp_out | + | |
- | Lookup Table generic_maps | + | |
- | Tabelle zum Umschreiben | + | |
- | von eMailadressen | + | |
- | beim Versenden. | + | |
- | end note | + | |
- | + | ||
- | note right of lmtp | + | |
- | Lookup Table lmtp_generic_maps | + | |
- | Tabelle zum Umschreiben von Empfänger | + | |
- | eMail-Adressen im Envelope und Header | + | |
- | end note | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | + | ||
Am Anfang der Definition unserer Lookup-Tabellen setzen wir noch zwei (Adress-)Listenspezifische Werte. Statt der Defaultmäßigen Tabellen im **hash**-Format setzen wir auf die wesentlich performanteren **btree**-Tabellen. | Am Anfang der Definition unserer Lookup-Tabellen setzen wir noch zwei (Adress-)Listenspezifische Werte. Statt der Defaultmäßigen Tabellen im **hash**-Format setzen wir auf die wesentlich performanteren **btree**-Tabellen. | ||
Zeile 1272: | Zeile 1027: | ||
| **5xx**// | | **5xx**// | ||
| **WARN**// | | **WARN**// | ||
+ | | **restriction** | ||
Zeile 1292: | Zeile 1047: | ||
# Postfix die ASCII-Konfigurationsdatei direkt auswertet! | # Postfix die ASCII-Konfigurationsdatei direkt auswertet! | ||
# | # | ||
+ | # | ||
+ | # | ||
</ | </ | ||
Zeile 1341: | Zeile 1098: | ||
# die zugehörige Datenbank erzeugt werden. | # die zugehörige Datenbank erzeugt werden. | ||
# | # | ||
+ | # | ||
</ | </ | ||
Zeile 2624: | Zeile 2382: | ||
virusalert@nausch.org | virusalert@nausch.org | ||
postmaster@nausch.org | postmaster@nausch.org | ||
+ | |||
+ | === virtual_alias files in Verbindung mit postfixadmin === | ||
+ | Verwalten wir die Domänen und Nutzerkonten mit Hilfe von **[[centos: | ||
+ | |||
+ | < | ||
+ | # 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: | ||
+ | |||
+ | virtual_alias_maps = proxy: | ||
+ | proxy: | ||
+ | proxy: | ||
+ | |||
+ | virtual_mailbox_maps = proxy: | ||
+ | proxy: | ||
+ | |||
+ | Die zugehörigen Dateien, haben dann folgende Inhalte. | ||
+ | == mysql_virtual_domains_maps.cf == | ||
+ | # vim / | ||
+ | <file bash / | ||
+ | # 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=' | ||
+ | </ | ||
+ | |||
+ | == mysql_virtual_alias_maps.cf == | ||
+ | # vim / | ||
+ | <file bash / | ||
+ | # 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=' | ||
+ | </ | ||
+ | |||
+ | == mysql_virtual_alias_domain_maps.cf == | ||
+ | # vim / | ||
+ | <file bash / | ||
+ | # 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, | ||
+ | | ||
+ | AND alias_domain.active=' | ||
+ | </ | ||
+ | |||
+ | == mysql_virtual_alias_domain_catchall_maps.cf == | ||
+ | # vim / | ||
+ | <file bash / | ||
+ | # 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, | ||
+ | | ||
+ | AND alias_domain.active=' | ||
+ | </ | ||
+ | |||
+ | == mysql_virtual_mailbox_maps.cf == | ||
+ | # vim / | ||
+ | <file bash / | ||
+ | # 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=' | ||
+ | </ | ||
+ | |||
+ | == mysql_virtual_alias_domain_mailbox_maps.cf == | ||
+ | # vim / | ||
+ | <file bash / | ||
+ | # 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, | ||
+ | AND mailbox.username = CONCAT(' | ||
+ | | ||
+ | </ | ||
==== bcc ==== | ==== bcc ==== | ||
Zeile 2794: | 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 // | ||
+ | # vim / | ||
+ | < | ||
+ | ################################################################################ | ||
+ | ## SMTP RECIPIENT RESTRICTIONS | ||
+ | # | ||
+ | # Django : 2014-10-29 - Schutz unserer Empfänger mit Hilfe der Recipient | ||
+ | # Restrictions | ||
+ | # default: smtpd_recipient_restrictions = | ||
+ | smtpd_recipient_restrictions = | ||
+ | # Postmaster, abuse und andere aufgaben- oder funktionsgebundene | ||
+ | # eMail-Adressen (Role-Accounts) whitelisten | ||
+ | | ||
+ | |||
+ | # Black- und Whitelisting | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | # Unsere eigenen Nutzer zulassen-/ | ||
+ | # (Kapitel 8.2.2 Relaying erlauben und verbieten) | ||
+ | | ||
+ | | ||
+ | |||
+ | # RBL überprüfen | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | # Greylisting via postgrey checken via Unix-Socket | ||
+ | # (Kapitel 9.2.5 postgrey installieren) | ||
+ | # check_policy_service unix: | ||
+ | |||
+ | # Policyd-Weight check over TCP-Connection | ||
+ | # (Kapitel 9.3 policyd-weight installieren) | ||
+ | # check_client_access btree:/ | ||
+ | # check_policy_service inet: | ||
+ | |||
+ | # Dynamische Prüfung auf existente Relay-Empfänger | ||
+ | # (Kapitel 12.2.2 Dynamische Empfänger-Verifizierung) | ||
+ | | ||
+ | |||
+ | # Backupserver (MX) erlauben | ||
+ | # permit_mx_backup | ||
+ | |||
+ | # alles andere an relaying verbieten | ||
+ | # (Kapitel 8.2.2 Relaying erlauben und verbieten) | ||
+ | | ||
+ | |||
+ | # Quota-Status-Policy-Daemon am Dovecot-Backend-System | ||
+ | # Dovecotbuch (ISBN 978-3-95539-74-7) Seite 219 ff. | ||
+ | # (Kapitel 11.11 "Der Quota-Policy-Server für Postfix" | ||
+ | | ||
+ | |||
+ | # Zu guter Letzt alles durchlassen, | ||
+ | # beanstandet wurde | ||
+ | | ||
+ | </ | ||
==== SMTP Relay Restrictions ==== | ==== SMTP Relay Restrictions ==== | ||
+ | Nachfolgende Definitionen fügen wir nun am Ende der // | ||
+ | # vim / | ||
+ | < | ||
+ | |||
+ | ################################################################################ | ||
+ | ## SMTP RELAY RESTRICTIONS | ||
+ | # | ||
+ | # Django : 2014-10-27 - Definition, wer über unseren MX relayen darf oder nicht. | ||
+ | # http:// | ||
+ | # default: smtpd_relay_restrictions = permit_mynetworks, | ||
+ | # permit_sasl_authenticated, | ||
+ | # | ||
+ | smtpd_relay_restrictions = | ||
+ | # Unsere eigenen Nutzer zulassen-/ | ||
+ | | ||
+ | | ||
+ | # Backupserver (MX) erlauben | ||
+ | # | ||
+ | # alles andere an relaying verbieten, d.h. mit einem finalen error 550 abweisen | ||
+ | | ||
+ | </ | ||
+ | |||
+ | ===== main.cf ===== | ||
+ | Somit ergibt sich vorerst folgende Hauptkonfigurationsdatei // | ||
+ | # less / | ||
+ | <file bash / | ||
+ | # # | ||
+ | # Django : 2014-10-15 - Musterkonfiguration Postfix 2.11 unter CentOS 7 # | ||
+ | # # | ||
+ | ################################################################################ | ||
+ | |||
+ | ################################################################################ | ||
+ | ## INSTALLATIONS-KONFIGURATIONS INFORMATIONEN | ||
+ | # | ||
+ | # Folgende Default-Parameter werden benutzt, sobald eine neue Postfix-Version | ||
+ | # installiert wird. | ||
+ | # | ||
+ | # Django : 2014-10-31 - Vollständiger Pfad zum Postfix sendmail Programm, dem | ||
+ | # zu senmail kompatiblen sendmail Befehl. | ||
+ | # default: sendmail_path = / | ||
+ | sendmail_path = / | ||
+ | |||
+ | # Django : 2014-10-31 - Vollständiger Pfad zum Postfix newaliases Programm, dem | ||
+ | # zu sendmail kompatiblen Programm zum Anlegen der Alias Datenbanken. | ||
+ | # default: newaliases_path = / | ||
+ | newaliases_path = / | ||
+ | |||
+ | # Django : 2014-10-31 - Vollständiger Pfad zum Postfix qmail-Programm, | ||
+ | # sendmail kompatiblen Programm zum Anzeigen der Maile-Queues | ||
+ | # default: mailq_path = / | ||
+ | mailq_path = / | ||
+ | |||
+ | # Django : 2014-10-31 - Gruppe für die Befehle mail submission und queue | ||
+ | # management. Die Gruppe muss eine numerische eigene ID haben | ||
+ | # und darf nicht mit anderen Benutzeraccounts geteilt werden, | ||
+ | # auch nicht mit dem Postfix User! | ||
+ | # default: setgid_group = postdrop | ||
+ | setgid_group = postdrop | ||
+ | |||
+ | # Django : 2014-10-31 - Pfad für die Postfix Postfix HTML Dokumentation. | ||
+ | # default: html_directory | ||
+ | html_directory = no | ||
+ | |||
+ | # Django : 2014-10-31 - Pfad für die Postfix online man-pages. | ||
+ | # default: manpage_directory = / | ||
+ | manpage_directory = / | ||
+ | |||
+ | # Django : 2014-10-31 - Pfadangabe für die Postfix Beispielkonfigurationsdateien. | ||
+ | # Dieser Parameter ist obsolete seit Postfix 2.1. | ||
+ | # default: sample_directory = / | ||
+ | sample_directory = / | ||
+ | |||
+ | # Django : 2014-10-31 - Pfadangabe für die Postfix README Dateien. | ||
+ | # default: readme_directory = no | ||
+ | readme_directory = / | ||
+ | |||
+ | |||
+ | ################################################################################ | ||
+ | ## PFADANGABEN DER LOKALEN INSTALLATION | ||
+ | # | ||
+ | # Django : 2014-10-31 - Definition des Speicherortes für die Queue-Dateien von | ||
+ | # Postfix. Dies ist auch der root-Pfad, falls Postfix in einer | ||
+ | # chroot-Umgebung laufen sollte. In der Datei examples/ | ||
+ | # findet man bei Bedarf nützliche Hinweise und Beispiele, die | ||
+ | # beschreiben, | ||
+ | # betreiben kann. | ||
+ | # default: queue_directory = / | ||
+ | queue_directory = / | ||
+ | |||
+ | # Django : 2014-10-31 - Vollständiger Pfad zu allen postXXX-Programmen. | ||
+ | # default: command_directory = /usr/sbin | ||
+ | command_directory = /usr/sbin | ||
+ | |||
+ | # Django : 2014-10-31 Vollständiger Pfad zum Verzeichnis, | ||
+ | # postfix Daemon Programme (die z.B. auch in der master.cf | ||
+ | # aufgeführt sind) befinden. Das Verzeichnis muss root gehören! | ||
+ | # default: daemon_directory = / | ||
+ | daemon_directory = / | ||
+ | |||
+ | # Django : 2014-10-31 - Datenverzeichnis, | ||
+ | # ablegt, wie z.B. Caches, Zufallszahlen ect. pp. Das Verzeichnis | ||
+ | # muss dem nachfolgendem " | ||
+ | # default: data_directory = / | ||
+ | data_directory = / | ||
+ | |||
+ | |||
+ | ################################################################################ | ||
+ | ## RECHTE BEI QUEUES UND PROZESSEN | ||
+ | # | ||
+ | # Django : 2014-10-31 - Definition des Nutzers, unter dem die meisten Postfix | ||
+ | # Daemons laufen und mit dem die Queue-Dateien geschrieben werden. | ||
+ | # Die User muss unique sein, d.h. er darf weder einer anderen Gruppe | ||
+ | # noch einem Anderen User angehören, sowie fremde Dateirechte und | ||
+ | # Prozesse auf dem System besitzen! Also unbedingt einen separaten | ||
+ | # Nutzer verwenden! | ||
+ | # default: mail_owner = postfix | ||
+ | mail_owner = postfix | ||
+ | |||
+ | # Django : 2014-10-31 - Festlegung der Defaultrechte, | ||
+ | # Delivery Agent) verwendet werden, wenn dieser Nachrichten in eine | ||
+ | # externe Datei schreibt, oder einem anderen Befehl übergibt. | ||
+ | # Der Parameter wird auch verwendet, sollten keine userbezogenen | ||
+ | # Vorgaben vorhanden sein. | ||
+ | # Auf keinen Fall einen privilegierten Nutzer oder gar den Benutzer | ||
+ | # postfix verwenden! | ||
+ | # default: default_privs = nobody | ||
+ | default_privs = nobody | ||
+ | |||
+ | ################################################################################ | ||
+ | ## DEBUGGING | ||
+ | # | ||
+ | # Django : 2014-10-31 - Mit dem Parameter " | ||
+ | # um welchen Faktor der Logging-Level erhöht wird, wenn ein SMTP | ||
+ | # Client, ein Hostname oder eine IP-Adresse zu den Definitionen des | ||
+ | # nachfolgenden " | ||
+ | # default: debug_peer_level = 2 | ||
+ | debug_peer_level = 2 | ||
+ | |||
+ | # Django : 2014-10-31 : Definition einer Liste aus Netzwerk-Adressen, | ||
+ | # Namen, IP-Adressen oder entsprechender Postfix-Listen | ||
+ | # " | ||
+ | # erhöht werden soll. | ||
+ | # Bsp: debug_peer_list = 127.0.0.1 | ||
+ | # | ||
+ | # | ||
+ | # default: debug_peer_list = | ||
+ | |||
+ | # Django : 2014-10-13 - Debugger-Befehlszeile | ||
+ | # Die Option " | ||
+ | # das ausgeführt werden soll, sofern der Postfix Daemon mit der | ||
+ | # Option -D gestartet wurde. | ||
+ | # Am Ende der Befehlskette sollte man ein "... & sleep 5" anfügen, | ||
+ | # damit damit der Debugger genügend Zeit hat loszulegen, bevor das | ||
+ | # Programm aufgerufen wird. | ||
+ | # | ||
+ | # Da wir kein X-System auf unserem Mailserver installiert haben (wozu | ||
+ | # auch?), verwenden wir nachfolgendes Beispiel. Als Ergebnis erhalten | ||
+ | # wir damit eine Datei mit dem Namen des Prozesses und der zugehörigen | ||
+ | # ID, die im Konfigurationsverzeichnis abgespeichert wird. | ||
+ | # | ||
+ | debugger_command = | ||
+ | | ||
+ | echo where) | gdb $daemon_directory/ | ||
+ | > | ||
+ | |||
+ | |||
+ | ################################################################################ | ||
+ | ## ZUSTÄNDIGKEITEN, | ||
+ | # | ||
+ | # Django : 2014-10-15 - Hostname auf " | ||
+ | # default: myhostname = FQDN | ||
+ | myhostname = mx01.nausch.org | ||
+ | |||
+ | # Django : 2014-10-15 - Domainpart der lokal generierten Nachrichten gesetzt | ||
+ | # default: myorigin = $myhostname | ||
+ | myorigin = $mydomain | ||
+ | |||
+ | # Django : 2014-10-15 - Für welche Domains ist unser Mailserver zuständig, | ||
+ | # also final destination? | ||
+ | # auch noch Nachrichten für die beiden Sub-Domains lists.nausch.org | ||
+ | # (Mailman) und dmarc.nausch.org (DMARC-Reportmails) annehmen. | ||
+ | # default: mydestination = $myhostname, | ||
+ | mydestination = | ||
+ | $myhostname | ||
+ | localhost.$mydomain | ||
+ | localhost | ||
+ | lists.nausch.org | ||
+ | dmarc.nausch.org | ||
+ | |||
+ | # default: unbekannte Empfänger sollen abgewiesen und nicht mit einem | ||
+ | # temporären Fehler 450 abgewiesen werden. | ||
+ | unknown_local_recipient_reject_code = 550 | ||
+ | |||
+ | # Django : 2014-10-15 - Soll bei einem unbekanntem Ziel der genaue Tabellenname | ||
+ | # bei der Ablehnung genannt werden? | ||
+ | # default: show_user_unknown_table_name = yes | ||
+ | show_user_unknown_table_name = no | ||
+ | |||
+ | # Django : 2014-10-15 - auf allen Interfaces und Protokollen (IPv4 und IPv6) | ||
+ | # soll gelauscht werden | ||
+ | # default: inet_interfaces = all | ||
+ | # default: inet_protocols = all | ||
+ | |||
+ | # Django : 2014-10-15 - Grundsätzlich soll erst einmal unser Mailserver nur dem | ||
+ | # eigenen Host trauen, sonst niemanden! | ||
+ | # default: mynetworks_style = subnet | ||
+ | mynetworks_style = host | ||
+ | |||
+ | mynetworks = | ||
+ | 127.0.0.0/8 | ||
+ | [::1]/128 | ||
+ | 10.0.0.0/24 | ||
+ | 10.0.10.0/ | ||
+ | 130.185.109.34/ | ||
+ | 130.185.109.87/ | ||
+ | |||
+ | # Django : 2015-10-15 - Backup-Mailserver explizit erlauben | ||
+ | # default: permit_mx_backup_networks = | ||
+ | permit_mx_backup_networks = 88.217.171.167/ | ||
+ | |||
+ | |||
+ | ################################################################################ | ||
+ | ## ROUTING _ WEITERLEITEN VON NACHRICHTEN AN DAS EIGENTLICHE ZIEL | ||
+ | # | ||
+ | # Django : 2014-10-15 - Relayhost: Alle Nachrichten werden an den Relayhost | ||
+ | # smtp-out.dmz.nausch.org gesendet. | ||
+ | # default: relayhost = | ||
+ | # relayhost = [smtp-out.dmz.nausch.org] | ||
+ | |||
+ | # Django : 2014-10-15 - Backup-Relayhost: | ||
+ | # sein, soll sich unser MTA an den backup-relayhost | ||
+ | # smtp-backup.dmz.nausch.org senden | ||
+ | # default: smtp_fallback_relay = $fallback_relay | ||
+ | # smtp_fallback_relay = [smtp-backup.dmz.nausch.org] | ||
+ | |||
+ | # Django : 2014-10-15 - Relay Domains: Postfix als eingehendes Mailrelay vor | ||
+ | # einem anderen Server | ||
+ | # default: relay_domains = $mydestination | ||
+ | relay_domains = btree:/ | ||
+ | |||
+ | # Django : 2014-10-15 - Nachrichten für eine bestimmte Richtung sollen | ||
+ | # abweichend von den MX-Definitionen im DNS an dedizierte Ziele | ||
+ | # geroutet/ | ||
+ | # default: transport_maps = | ||
+ | transport_maps = btree:/ | ||
+ | |||
+ | # Django : 2014-10-15 - Definition zur Erreichbarkeit unseres MDA-Servers | ||
+ | # Dovecot-IMAP | ||
+ | # default: virtual_transport = virtual | ||
+ | virtual_transport = lmtp: | ||
+ | |||
+ | |||
+ | ################################################################################ | ||
+ | ## QUEUEING-VERHALTEN | ||
+ | # | ||
+ | # Django : 2014-10-18 - Queue-Lifetime auf 3 Tage heruntersetzen, | ||
+ | # die maximale Zeit, die der MX versuchen darf, eine Nachricht zuzu- | ||
+ | # stellen | ||
+ | # default: maximal_queue_lifetime = 5d | ||
+ | maximal_queue_lifetime = 3d | ||
+ | |||
+ | # Django : 2014-03-17- Bounce-Queue-Lifetime auf 3 Tage heruntersetzen, | ||
+ | # der MTA versuchen soll eine Bouncenachricht zuzustellen. | ||
+ | # default: bounce_queue_lifetime = 5d | ||
+ | bounce_queue_lifetime = 3d | ||
+ | |||
+ | |||
+ | ################################################################################ | ||
+ | ## NACHRICHTENGROESSE UND ZUSTELLVERSUCHE/ | ||
+ | # | ||
+ | # Django : 2014-10-18 Maximale Nachrichtengröße festlegen. Maximale Nachrichten- | ||
+ | # größe einer Nachricht incl. der Headerinformationen darf maximal | ||
+ | # 50 MB ( 52428800 = 50*1024*1024 ) betragen, darüber verweigert | ||
+ | # Postfix die Annahme. | ||
+ | # default: message_size_limit = 10240000 | ||
+ | message_size_limit = 52428800 | ||
+ | |||
+ | # Django : 2014-10-18 Maximale Mailboxgröße einer einzelnen Mailbox bzw. | ||
+ | # Maildir-Fiels. Der Wert darf nicht kleiner als die maximale | ||
+ | # Nachrichtengröße (message_size_limit) sein. | ||
+ | # default: mailbox_size_limit = 10240000 | ||
+ | mailbox_size_limit = 52428800 | ||
+ | |||
+ | # Django : 2010-10-28 - Rate Limiting (DOS-Attacken verhindern) maximale | ||
+ | # Zustellung limitieren (Kapitel 24 des Buches Postfix) | ||
+ | # (Kapitel 13.14 Rate-Limiting gegenüber Clients durchsetzen) | ||
+ | # Basiszeiteinheit für die Kalkulation der rate-limits | ||
+ | # default: anvil_rate_time_unit = 60s | ||
+ | # | ||
+ | # Maximale Anzahl gleichzeitiger Verbindungen pro einliefernenden Host | ||
+ | # default : smtpd_client_connection_count_limit = 50 | ||
+ | smtpd_client_connection_count_limit = 20 | ||
+ | # | ||
+ | # Maximale Anzahl von Verbindungsversuchen je definierter Zeiteinheit | ||
+ | # (anvil_rate_time_unit) pro einliefernden Host | ||
+ | # default: smtpd_client_connection_rate_limit = 0 | ||
+ | smtpd_client_connection_rate_limit = 20 | ||
+ | # | ||
+ | # Maximale Anzahl von erlaubten Empfänger Adressen je definierter | ||
+ | # Zeiteinheit (anvil_rate_time_unit) pro einliefernden Host | ||
+ | # default: smtpd_client_recipient_rate_limit = 0 | ||
+ | smtpd_client_recipient_rate_limit = 50 | ||
+ | # | ||
+ | # Maximale Anzahl von erlaubten Anzahl von eMails je definierter Zeit- | ||
+ | # einheit (anvil_rate_time_unit) pro einliefernden Host | ||
+ | # deafault: smtpd_client_message_rate_limit = 0 | ||
+ | smtpd_client_message_rate_limit = 50 | ||
+ | # | ||
+ | # Welche Cleints sollen vom Rate-Limeting ausgenommen werden? Per | ||
+ | # Default sind dies alle Clients aus dem eigenen Netzwerk $mynetworks | ||
+ | # default: smtpd_client_event_limit_exceptions = | ||
+ | # ${smtpd_client_connection_limit_exceptions: | ||
+ | # | ||
+ | # Wie oft soll der anvil-Daemon Statistikdaten ins Maillog schreiben? | ||
+ | # default: anvil_status_update_time = 600s | ||
+ | # | ||
+ | # Ausgehende Verbindungen der Delivery-Clients limitieren. Für jeden | ||
+ | # einzelnen Transport kann bei Bedarf eine eigene Rate definiert | ||
+ | # werden. | ||
+ | # default: default_destination_rate_delay = 0s | ||
+ | # error_destination_rate_delay = $default_destination_rate_delay | ||
+ | # lmtp_destination_rate_delay = $default_destination_rate_delay | ||
+ | # local_destination_rate_delay = $default_destination_rate_delay | ||
+ | # relay_destination_rate_delay = $default_destination_rate_delay | ||
+ | # retry_destination_rate_delay = $default_destination_rate_delay | ||
+ | # smtp_destination_rate_delay = $default_destination_rate_delay | ||
+ | # virtual_destination_rate_delay = $default_destination_rate_delay | ||
+ | # Ausgehende Nachrichten des MAilinglistenservers auf 2,5 Minuten | ||
+ | # setzen | ||
+ | smtp_destination_rate_delay = 150s | ||
+ | |||
+ | |||
+ | ################################################################################ | ||
+ | ## RÜCKMELDUNGEN BEEINFLUSSEN UND INDIVIDUALISIEREN | ||
+ | # | ||
+ | # Django : 2014-10-18 - Greeting Banner bei der 220er Begrüßung des MTA | ||
+ | smtpd_banner = $myhostname ESMTP $mail_name | ||
+ | |||
+ | # Django : 2014-10-16 - Extra-Footer bls zweite Zeiler jeder Fehlermeldungen | ||
+ | # anfügen | ||
+ | smtpd_reject_footer = \c. Contact your postmaster/ | ||
+ | |||
+ | # Django : 2014-10-16 - Anzeige des Tabellen-Namens, | ||
+ | # nicht gefunden wurde. Das unterdrücken macht unter Umständen die | ||
+ | # Fehlersuche etwas aufwändiger, | ||
+ | # im Grunde nichts an. | ||
+ | # default: show_user_unknown_table_name = yes | ||
+ | show_user_unknown_table_name = no | ||
+ | |||
+ | # Django : 2014-10-24 - Adressverifikationsdetails unterdrücken | ||
+ | # Weder den numerischen SMTP-reply-Code, | ||
+ | # zurückgeben. Lediglich " | ||
+ | # default: unverified_recipient_reject_reason = | ||
+ | unverified_recipient_reject_reason = Recipient address lookup failed | ||
+ | |||
+ | # Django : 2014-10-24 - Adressverifikationsdetails unterdrücken | ||
+ | # Weder den numerischen SMTP-reply-Code, | ||
+ | # zurückgeben. Lediglich " | ||
+ | # default: unverified_sender_reject_reason = | ||
+ | unverified_sender_reject_reason = Sender address lookup failed | ||
+ | |||
+ | # Django : 2014-10-18 Definition der benutzerspezifischen und individualisierten | ||
+ | # Bounce-Nachrichten mit deutsch- und englischsprachigen Texten aktiviert | ||
+ | # default: bounce_template_file = | ||
+ | bounce_template_file = / | ||
+ | |||
+ | # Django : 2014-10-18 - Delivery Status Notification (DSN) selectiv sperren | ||
+ | # oder freigeben | ||
+ | # default: smtpd_discard_ehlo_keyword_address_maps = | ||
+ | smtpd_discard_ehlo_keyword_address_maps = cidr:/ | ||
+ | |||
+ | # Django : 2014-10-18 - SMTP-Kommando VRFY sperren, mit dem eine einfache und | ||
+ | # schnelle Addressverifizierung möglich ist. | ||
+ | # default: disable_vrfy_command = no | ||
+ | disable_vrfy_command = yes | ||
+ | |||
+ | # Django : 2015-10-08 - Fehlercode bei Verwendung der Option | ||
+ | # reject_plaintext_session beim Einsatz von verpflichtender | ||
+ | # TLS-Transportverschlüsselung. | ||
+ | # https:// | ||
+ | # default: plaintext_reject_code = 450 | ||
+ | # plaintext_reject_code = 573 | ||
+ | |||
+ | |||
+ | ################################################################################ | ||
+ | ## LOOKUP-TABELLEN | ||
+ | # | ||
+ | # Django : 2014-10-15 - default Datenbank Typ für die Befehle newaliases, | ||
+ | # postalias und postmap auf das performantere btree umgestellt. | ||
+ | # default default_database_type = hash | ||
+ | default_database_type = btree | ||
+ | |||
+ | # Django : 2014-10-15 - Trennzeichen zwischen Usernamen und Adresserweiterung | ||
+ | # default: recipient_delimiter = | ||
+ | recipient_delimiter = + | ||
+ | |||
+ | # Django : 2014-10-15 - Alias-Tabelle für die Zustellung von lokalen Nachrichten | ||
+ | # durch den MDA (Mail Delivery Agent) " | ||
+ | # Tabelle / | ||
+ | # notwendig! | ||
+ | # default: alias_maps = hash:/ | ||
+ | alias_maps = hash:/ | ||
+ | # btree:/ | ||
+ | alias_database = hash:/ | ||
+ | |||
+ | # Django : 2014-10-15 - Optionale Lookup Tabelle mit allen gültigen Empfängern | ||
+ | # der in $relay_domains aufgeführten Domains | ||
+ | # default: relay_recipient_maps = | ||
+ | relay_recipient_maps = | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # 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: | ||
+ | |||
+ | virtual_alias_maps = proxy: | ||
+ | proxy: | ||
+ | proxy: | ||
+ | # | ||
+ | virtual_mailbox_maps = proxy: | ||
+ | proxy: | ||
+ | |||
+ | # Django : 2014-10-15 - BCC-Adress Lookup Tabelle mit deren Hilfe Nachrichten | ||
+ | # einzelner oder mehrerer Empfänger automatisch an einen weiteren | ||
+ | # Empfänger geschickt werden. | ||
+ | # default: recipient_bcc_maps = | ||
+ | recipient_bcc_maps = btree:/ | ||
+ | |||
+ | # Django : 2014-10-15 - BCC-Adress Lookup Tabelle mit deren Hilfe Nachrichten | ||
+ | # einzelner oder mehrerer Absender automatisch an einen weiteren | ||
+ | # Empfänger geschickt werden. | ||
+ | sender_bcc_maps = btree:/ | ||
+ | |||
+ | # Django : 2014-10-16 - SMTP Lookup Tabelle mit deren Hilfe eMail-Adressen der | ||
+ | # Empfänger im SMTP-Envelope und im Header der eMail beim Verlassen | ||
+ | # des MTA via SMTP umgeschrieben werden können. | ||
+ | # default: smtp_generic_maps = | ||
+ | smtp_generic_maps = btree:/ | ||
+ | |||
+ | # Django : 2014-10-16 - LMTP Lookup Tabelle mit deren Hilfe eMail-Adressen der | ||
+ | # Empfänger im SMTP-Envelope und im Header der eMail beim Verlassen | ||
+ | # des MTA zum MDA via LMTP umgeschrieben werden können. | ||
+ | # default: smtp_generic_maps = | ||
+ | lmtp_generic_maps = btree:/ | ||
+ | |||
+ | # Django : 2014-10-16 - Lookup-Tabelle zum Umschreibungen von Absender-eMail- | ||
+ | # -Adressen im SMTP-Envelop und/oder im Header der eMail. | ||
+ | # default: sender_canonical_maps = | ||
+ | sender_canonical_maps = btree:/ | ||
+ | # SRS - Sender Rewriting Scheme mit postsrsd | ||
+ | # | ||
+ | # Definition welche Adressen umgeschrieben werden sollen | ||
+ | # default: sender_canonical_classes = envelope_sender, | ||
+ | sender_canonical_classes = envelope_sender | ||
+ | |||
+ | # Django : 2014-10-16 - Lookup-Tabelle zum Umschreibungen von Empfänger-eMail- | ||
+ | # -Adressen im SMTP-Envelop und/oder im Header der eMail. | ||
+ | # default: recipient_canonical_maps = | ||
+ | recipient_canonical_maps = btree:/ | ||
+ | # SRS - Sender Rewriting Scheme mit postsrsd | ||
+ | # | ||
+ | # Definition welche Adressen umgeschrieben werden sollen | ||
+ | # default: recipient_canonical_classes = envelope_recipient, | ||
+ | recipient_canonical_classes = envelope_recipient | ||
+ | |||
+ | # Django : 2014-10-16 - Lookup-Tabelle zum Aktivieren von " | ||
+ | # an den Absender einer eMail über nicht existierende eMail-Adressen | ||
+ | # mit Angabe der neu zu nutzenden eMailadresse des Empfängers. | ||
+ | # default: relocated_maps = | ||
+ | relocated_maps = btree:/ | ||
+ | |||
+ | # Django : 2015-10-15 - Ergebnisse der Adress-Verification cachen | ||
+ | # Kapitel 12.2.2 Dynamische Empfänger-Verifizierung | ||
+ | # Kapitel 9.5.5 envelope sender überprüfen | ||
+ | # default: address_verify_map = btree: | ||
+ | |||
+ | |||
+ | ################################################################################ | ||
+ | ## SMTP RECIPIENT RESTRICTIONS | ||
+ | # | ||
+ | # Django : 2014-10-29 - Schutz unserer Empfänger mit Hilfe der Recipient | ||
+ | # Restrictions | ||
+ | # default: smtpd_recipient_restrictions = | ||
+ | smtpd_recipient_restrictions = | ||
+ | # Postmaster, abuse und andere aufgaben- oder funktionsgebundene | ||
+ | # eMail-Adressen (Role-Accounts) whitelisten | ||
+ | | ||
+ | |||
+ | # Black- und Whitelisting | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | # Unsere eigenen Nutzer zulassen-/ | ||
+ | # (Kapitel 8.2.2 Relaying erlauben und verbieten) | ||
+ | | ||
+ | | ||
+ | |||
+ | # RBL überprüfen | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | # Greylisting via postgrey checken via Unix-Socket | ||
+ | # (Kapitel 9.2.5 postgrey installieren) | ||
+ | # check_policy_service unix: | ||
+ | |||
+ | # Policyd-Weight check over TCP-Connection | ||
+ | # (Kapitel 9.3 policyd-weight installieren) | ||
+ | # check_client_access btree:/ | ||
+ | # check_policy_service inet: | ||
+ | |||
+ | # Dynamische Prüfung auf existente Relay-Empfänger | ||
+ | # (Kapitel 12.2.2 Dynamische Empfänger-Verifizierung) | ||
+ | | ||
+ | |||
+ | # Backupserver (MX) erlauben | ||
+ | | ||
+ | |||
+ | # alles andere an relaying verbieten | ||
+ | # (Kapitel 8.2.2 Relaying erlauben und verbieten) | ||
+ | | ||
+ | |||
+ | # Quota-Status-Policy-Daemon am Dovecot-Backend-System | ||
+ | # Dovecotbuch (ISBN 978-3-95539-74-7) Seite 219 ff. | ||
+ | # (Kapitel 11.11 "Der Quota-Policy-Server für Postfix" | ||
+ | | ||
+ | |||
+ | # Zu guter Letzt alles durchlassen, | ||
+ | # beanstandet wurde | ||
+ | | ||
+ | |||
+ | |||
+ | ################################################################################ | ||
+ | ## SMTP RELAY RESTRICTIONS | ||
+ | # | ||
+ | # Django : 2014-10-27 - Definition, wer über unseren MX relayen darf oder nicht. | ||
+ | # http:// | ||
+ | # default: smtpd_relay_restrictions = permit_mynetworks, | ||
+ | # permit_sasl_authenticated, | ||
+ | # | ||
+ | smtpd_relay_restrictions = | ||
+ | # Unsere eigenen Nutzer zulassen-/ | ||
+ | | ||
+ | | ||
+ | # Backupserver (MX) erlauben | ||
+ | | ||
+ | # alles andere an relaying verbieten, d.h. mit einem finalen error 550 abweisen | ||
+ | | ||
+ | </ | ||
+ | ===== Konfiguration aktivieren ===== | ||
+ | Zur Aktivierung unserer Konfiguration benutzen wir **systemctl**. | ||
+ | # systemctl restart postfix | ||
+ | |||
+ | Da keine Rückmeldung erfolgte können wir davon ausgehen, dass alle unsere Konfigurationsoptionen unseren Wünschen entsprechend gesetzt wurden. | ||
+ | |||
+ | Wir können aber auch den Status unseres Mailservers abfragen. | ||
+ | # systemctl status postfix | ||
+ | < | ||
+ | | ||
+ | | ||
+ | Process: 3222 ExecStop=/ | ||
+ | Process: 3206 ExecReload=/ | ||
+ | Process: 3236 ExecStart=/ | ||
+ | Process: 3234 ExecStartPre=/ | ||
+ | Process: 3231 ExecStartPre=/ | ||
+ | Main PID: 3309 (master) | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | Nov 03 22:35:17 vml000087.dmz.nausch.org systemd[1]: Starting Postfix Mail Transport Agent... | ||
+ | Nov 03 22:35:18 vml000087.dmz.nausch.org postfix/ | ||
+ | Nov 03 22:35:18 vml000087.dmz.nausch.org systemd[1]: Started Postfix Mail Transport Agent. | ||
+ | </ | ||
+ | |||
+ | ====== Links ====== | ||
+ | * **⇐ [[centos: | ||
+ | * **⇒ [[centos: | ||
+ | * **[[centos: | ||
+ | * **[[wiki: | ||
+ | * **[[http:// | ||
+ | |||
+ |