Postfix/Extras: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 81: Zeile 81:


=== Regelbasierte Mailverarbeitung  ===
=== Regelbasierte Mailverarbeitung  ===
Mit Richtliniendiensten kann man das Postfix-Verhalten bei der Zustellung von E-Mails leicht anpassen. [https://archlinux.org/packages/?name=postfwd postfwd] und policyd ( [https://aur.archlinux.org/packages/policyd-mysql/ policyd-mysql] AUR , [https://aur.archlinux.org/packages/policyd-pgsql/ policyd-pgsql] AUR oder [https://aur.archlinux.org/packages/policyd-sqlite/ policyd-sqlite] AUR ) stellen dafür Dienste bereit.
Mit Richtliniendiensten kann man das Postfix-Verhalten bei der Zustellung von E-Mails leicht anpassen. '''postfwd''' und '''policyd''' policyd-pgsql oder policyd-sqlite stellen dafür Dienste bereit.
* Damit können Sie zB zeitbewusstes Grey- und Blacklisting von Sendern und Empfängern sowie [https://wiki.archlinux.org/title/SPF SPF] Policy-Checking implementieren.
* Damit können Sie z.B, zeitbewusstes Grey- und Blacklisting von Sendern und Empfängern sowie SPF Policy-Checking implementieren.


Richtliniendienste sind eigenständige Dienste und wie folgt mit Postfix verbunden:
Richtliniendienste sind eigenständige Dienste und wie folgt mit Postfix verbunden:

Version vom 5. Juni 2022, 20:20 Uhr

Konfiguration

Siehe Postfix-Basiskonfiguration.

Konfigurationsdateien sind unter /etc/postfix abgelegt. Die beiden wichtigsten Dateien sind:

  • master.cf, definiert, welche Postfix-Dienste aktiviert sind und wie sich Clients mit ihnen verbinden, siehe master(5)
  • main.cf, die Hauptkonfigurationsdatei, siehe postconf(5)

Konfigurationsänderungen erfordern a postfix.service laden , um wirksam zu werden.

Lokaler Mailserver

Um E-Mails nur an lokale Systembenutzer aus der /etc/passwd zu versenden

/etc/postfix/main.cf

um die folgende Konfiguration widerzuspiegeln.

Entkommentieren, ändern oder fügen Sie die folgenden Zeilen hinzu:

myhostname = localhost
mydomain = localdomain
mydestination = $myhostname, localhost.$mydomain, localhost
inet_interfaces = $myhostname, localhost
mynetworks_style = host
default_transport = error: outside mail is not deliverable

Alle anderen Einstellungen können unverändert bleiben.

Nachdem Sie die obige Konfigurationsdatei eingerichtet haben, möchten Sie vielleicht einige #Aliasnamen einrichten und dann #Postfix starten.

Virtuelle Mailserver

Virtuelle Mail ist Mail, die keinem Benutzerkonto zugeordnet ist (/etc/passwd).

Siehe Mailsystem für virtuelle Benutzer mit Postfix, Dovecot und Roundcube für eine umfassende Anleitung zur Einrichtung.

Konfiguration prüfen

Führen Sie die aus postfix checkBefehl.

  • Es sollte alles ausgeben, was Sie möglicherweise in einer Konfigurationsdatei falsch gemacht haben.

Geben Sie Folgendes ein, um alle Ihre Konfigurationen anzuzeigen postconf.

  • Um zu sehen, wie Sie sich von den Standardeinstellungen unterscheiden, versuchen Sie es postconf -n.

Postfix starten

Hinweis: Sie müssen laufen newaliasesmindestens einmal, damit Postfix ausgeführt wird, auch wenn Sie keine #Aliases.

Starten/aktivieren Sie die postfix.service.

Tipps und Tricks

Eingehende E-Mails auf die schwarze Liste setzen

Das manuelle Blacklisting eingehender E-Mails nach Absenderadresse ist mit Postfix problemlos möglich.

/etc/postfix/blacklist_incoming

user@example.com REJECT

Dann nutzen Sie die postmap Befehl zum Erstellen einer Datenbank:

# postmap hash:blacklist_incoming

Fügen Sie den folgenden Code vor der ersten Zulassungsregel ein

main.cf:

smtpd_recipient_restrictions = check_sender_access hash:/etc/postfix/blacklist_incoming

Endlich neu starten postfix.service.

Blenden Sie die IP des Absenders und den Benutzeragenten im Received-Header aus

Dies ist vor allem ein Datenschutzproblem, wenn Sie Thunderbird verwenden und eine E-Mail senden.

  • Der empfangene Header enthält Ihre LAN- und WAN-IP und Informationen über den von Ihnen verwendeten E-Mail-Client. (Originalquelle: AskUbuntu ) Wir möchten den Received-Header aus ausgehenden E-Mails entfernen.
  • Dies kann durch die folgenden Schritte erfolgen:

Fügen Sie die folgende Zeile hinzu main.cf: smtp_header _checks = regulärer Ausdruck:/etc/postfix/smtp_header_checks

Erstellen /etc/postfix/smtp_header_checks mit diesem Inhalt:

/^Received: .*/     IGNORE
/^User-Agent: .*/   IGNORE

Zum Schluss neu starten postfix.service.

Extras

  • PostfixAdmin — Eine webbasierte Verwaltungsschnittstelle für Postfix.
http://postfixadmin.sourceforge.net/ || postfixadmin

Regelbasierte Mailverarbeitung

Mit Richtliniendiensten kann man das Postfix-Verhalten bei der Zustellung von E-Mails leicht anpassen. postfwd und policyd policyd-pgsql oder policyd-sqlite stellen dafür Dienste bereit.

  • Damit können Sie z.B, zeitbewusstes Grey- und Blacklisting von Sendern und Empfängern sowie SPF Policy-Checking implementieren.

Richtliniendienste sind eigenständige Dienste und wie folgt mit Postfix verbunden:

/etc/postfix/main.cf
smtpd_recipient_restrictions =
 . ..
  check_policy_service unix:/run/policyd.sock
  check_policy_service inet:127.0.0.1:10040

Das Platzieren von Richtliniendiensten am Ende der Warteschlange reduziert die Last, da nur legitime E-Mails verarbeitet werden.

  • Achten Sie darauf, es vor der ersten Erlaubnisanweisung zu platzieren, um alle eingehenden Nachrichten abzufangen.

Sender Policy Framework

Um das Sender Policy Framework mit Postfix zu verwenden, können Sie spf -engine AUR , python-postfix-policyd-spf AUR oder postfix-policyd-spf-perl AUR.

Mit spf-engine oder python-postfix-policyd-spf

Bearbeiten /etc/python-policyd-spf/policyd-spf.confzu Ihren Bedürfnissen.

  • Eine ausführlich kommentierte Version finden Sie unter /etc/python-policyd-spf/policyd-spf.conf.commented.
  • Achten Sie besonders auf die HELO-Prüfrichtlinie, da die Standardeinstellungen HELO-Fehler strikt ablehnen.

In main.cfDatei, fügen Sie ein Timeout für die Richtlinie hinzu:

/etc/postfix/main.cf
policy-spf_time_limit = 3600s

Fügen Sie dann einen Transport hinzu

/etc/postfix/master.cf
policy-spf unix - nn - 0 spawnen
     user=nobody argv=/usr/bin/policyd-spf

Zuletzt müssen Sie die Policy zu der hinzufügen smtpd_recipient_restrictions.

  • Um die Belastung zu minimieren, legte man am Ende der Beschränkungen aber vor reject_rbl_clientDNSBL-Zeile:
/etc/postfix/main.cf
smtpd_recipient_restrictions=
    . ..
     permission_sasl_authenticated
     permission_mynetworks
     abgelehnt_unauth_destination
     check_policy_service unix:private/policy-spf

Laden Sie nun die neu postfixService.

Sie können Ihr Setup wie folgt testen:

/etc/python-policyd-spf/policyd-spf.conf
defaultSeedOnly = 0

Mit postfix-policyd-spf-perl

Gehen Sie mit postfix genauso mit python-postfix-policyd-spf , jedoch mit den folgenden Unterschieden:

Zeitüberschreitung für die Richtlinie main.cfDatei:

/etc/postfix/main.cf
policy_time_limit = 3600

Transport:

/etc/postfix/master.cf
policy unix - nn - 0 spawnen
     user=nobody argv=/usr/lib/postfix/postfix-policyd-spf-perl

Fügen Sie die Richtlinie zu der hinzu smtpd_recipient_restrictions:

Warnung
angeben check_policy_servicegemäß reject_unauth_destinationAndernfalls kann Ihr System zu einem offenen Relais werden.
/etc/postfix/main.cf
smtpd_recipient_restrictions=
    . ..
     abgelehnt_unauth_destination
     check_policy_service unix:private/policy
    . ..

Sender Rewriting Scheme

Um das Sender Rewriting Scheme mit Postfix zu verwenden, installieren Sie postsrsd AUR und passen Sie die Einstellungen an:

/etc/postsrsd/postsrsd
SRS_DOMAIN=ihredomain.tld
SRS_EXCLUDE_DOMAINS=ihreanderedomain.tld,noch.eineanderedomain.tld
SRS_SEPARATOR==
SRS_SECRET=/etc/postsrsd/postsrsd.secret
SRS_FORWARD_PORT=10001
SRS_REVERSE_PORT=10002
RUN_AS=postsrsd
CHROOT=/usr/lib/postsrsd

Aktivieren und starten Sie den Daemon und stellen Sie sicher, dass er auch nach dem Neustart ausgeführt wird.

  • Konfigurieren Sie dann Postfix entsprechend, indem Sie die folgenden Zeilen anpassen:
/etc/postfix/main.cf
sender_canonical_maps = tcp:localhost:10001
sender_canonical_classes = Umschlag_Absender
receiver_canonical_maps = tcp:localhost:10002
receiver_canonical_classes= Umschlag_Empfänger,Header_Empfänger

Starten Sie Postfix neu und starten Sie die Weiterleitung von E-Mails.

Fehlerbehebung

Warnung: "Datenbank /etc/postfix/*.db ist älter als Quelldatei. ."

Wenn Sie eine oder beide Warnungen mit journalctl erhalten :

Warnung: Die Datenbank /etc/postfix/virtual.db ist älter als die Quelldatei /etc/postfix/virtual
Warnung: Die Datenbank /etc/postfix/transport.db ist älter als die Quelldatei /etc/postfix/transport

Dann können Sie es mit diesen Befehlen beheben, je nachdem, welche Meldungen Sie erhalten:

postmap /etc/postfix/transport
postmap /etc/postfix/virtual

Und neu starten postfix.service.

Host- oder Domänenname nicht gefunden. Namensdienstfehler für name=...

Wenn Sie mit journalctl:

Host- oder Domänenname nicht gefunden.  Namensdienstfehler für name=...

Es könnte sein, dass Sie Postfix in einem ausführen chrootund /etc/resolv.confwird vermisst.

Wenn ja, können Sie dies beheben, indem Sie:

mkdir -p /var/spool/postfix/etc
cp /etc/resolv.conf /var/spool/postfix/etc/resolv.conf

Und neu starten postfix.service.

Siehe auch

Zum Thema passende Artikel

Mail-Server