Postfix/Extras: Unterschied zwischen den Versionen

Aus Foxwiki
K Dirkwagner verschob die Seite Postfix:Extras nach Postfix/Extras, ohne dabei eine Weiterleitung anzulegen: Textersetzung - „:“ durch „/“
 
(34 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
= Postfix  =
[https://en.wikipedia.org/wiki/Postfix_(software) Postfix] ist ein [https://wiki.archlinux.org/title/Mail_transfer_agent Mail-Transfer-Agent] , der laut [http://www.postfix.org/ seiner Website] :
versucht, schnell, einfach zu verwalten und sicher zu sein, während es gleichzeitig Sendmail-kompatibel genug ist, um bestehende Benutzer nicht zu verärgern.
* Daher hat das Äußere einen sendmail-artigen Beigeschmack, aber das Innere ist völlig anders.
Dieser Artikel baut auf dem [https://wiki.archlinux.org/title/Mail_server Mail-Server].  Das Ziel dieses Artikels ist es, Postfix einzurichten und zu erklären, was die grundlegenden Konfigurationsdateien tun.
* Es gibt Anweisungen zum Einrichten der Bereitstellung nur für lokale Systembenutzer und einen Link zu einer Anleitung für die Bereitstellung durch virtuelle Benutzer.
== Aufbau  ==
Siehe [http://www.postfix.org/BASIC_CONFIGURATION_README.html Postfix-Basiskonfiguration].  Konfigurationsdateien sind drin <tt>/etc/postfix</tt>standardmäßig.
* Die beiden wichtigsten Dateien sind:
* <tt>master.cf</tt>, definiert, welche Postfix-Dienste aktiviert sind und wie sich Clients mit ihnen verbinden, siehe [https://man.archlinux.org/man/master.5 master(5)]
* <tt>main.cf</tt>, die Hauptkonfigurationsdatei, siehe [https://man.archlinux.org/man/postconf.5 postconf(5)]
Konfigurationsänderungen erfordern a <tt>postfix.service</tt> [https://wiki.archlinux.org/title/Reload laden] , um wirksam zu werden.
=== Aliase  ===
Siehe [https://man.archlinux.org/man/postfix/aliases.5 Aliase(5)].
Sie können Aliase (auch als Weiterleitungen bezeichnet) in angeben <tt>/etc/postfix/aliases</tt>.
Sie sollten alle an root einem anderen Konto zuordnen, da es keine gute Idee ist, E-Mails als root zu lesen.
Kommentieren Sie die folgende Zeile aus und ändern Sie sie <tt>you</tt>auf ein echtes Konto.
Wurzel: du
Sobald Sie mit der Bearbeitung fertig sind <tt>/etc/postfix/aliases</tt>Sie müssen den Postalias-Befehl ausführen:
postalias /etc/postfix/aliase
Für spätere Änderungen können Sie verwenden:
neue Aliase
'''Tipp'''
Alternativ können Sie die Datei erstellen <tt>~/.forward</tt>, z.B <tt>/root/.forward</tt>für Wurzel.
* Geben Sie den Benutzer an, an den Root-Mail weitergeleitet werden soll, zB user@localhost.
/root/.forward
Benutzer@lokalerHost
=== Lokale Post  ===
Um E-Mails nur an lokale Systembenutzer (die sich in <tt>/etc/passwd</tt>) aktualisieren <tt>/etc/postfix/main.cf</tt>um die folgende Konfiguration widerzuspiegeln.
* Entkommentieren, ändern oder fügen Sie die folgenden Zeilen hinzu:
meinhostname = lokalerhost
meinedomain = lokaledomain
mydestination = $myhostname, localhost.$mydomain, localhost
inet_interfaces = $myhostname, localhost
mynetworks_style = host
default_transport = Fehler: Externe Post ist nicht zustellbar
Alle anderen Einstellungen können unverändert bleiben.
* Nachdem Sie die obige Konfigurationsdatei eingerichtet haben, möchten Sie vielleicht einige [https://wiki.archlinux.org/title/Postfix#Aliases #Aliasnamen einrichten] und dann [https://wiki.archlinux.org/title/Postfix#Start_Postfix #Postfix starten].
=== Virtuelle Post  ===
Virtuelle Mail ist Mail, die keinem Benutzerkonto zugeordnet ist ( <tt>/etc/passwd</tt>).
Siehe [https://wiki.archlinux.org/title/Virtual_user_mail_system_with_Postfix,_Dovecot_and_Roundcube 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 <tt>postfix check</tt>Befehl.
* Es sollte alles ausgeben, was Sie möglicherweise in einer Konfigurationsdatei falsch gemacht haben.
Geben Sie Folgendes ein, um alle Ihre Konfigurationen anzuzeigen <tt>postconf</tt>.
* Um zu sehen, wie Sie sich von den Standardeinstellungen unterscheiden, versuchen Sie es <tt>postconf -n</tt>.
== Postfix starten  ==
'''Hinweis: '''Sie müssen laufen <tt>newaliases</tt>mindestens einmal, damit Postfix ausgeführt wird, auch wenn Sie keine [https://wiki.archlinux.org/title/Postfix#Aliases #Aliases].
[https://wiki.archlinux.org/title/Start/enable Starten/aktivieren Sie] die <tt>postfix.service</tt>.
== TLS  ==
Weitere Informationen finden Sie unter [http://www.postfix.org/TLS_README.html Postfix-TLS-Unterstützung].
=== Sicheres SMTP (Senden)  ===
Standardmäßig sendet Postfix/Sendmail keine verschlüsselten E-Mails an andere SMTP-Server.
* Um TLS zu verwenden, wenn verfügbar, fügen Sie die folgende Zeile hinzu <tt>main.cf</tt>:
; /etc/postfix/main.cf
smtp_tls_security_level = kann
Um erzwingen (und fehlschlägt, wenn der Remoteserver es nicht unterstützt), ändern Sie <tt>may</tt>zu <tt>encrypt</tt>.
* Beachten Sie jedoch, dass dies gegen [https://tools.ietf.org/html/rfc2487 RFC:2487] wenn auf den SMTP-Server öffentlich verwiesen wird.
=== Sicheres SMTP (Empfangen)  ===
'''Warnung: '''Wenn Sie [https://en.wikipedia.org/wiki/TLS TLS] , befolgen [https://weakdh.org/sysadmin.html Sie unbedingt die Anleitung von Weakdh.org] , um FREAK/Logjam zu verhindern.
* Seit Mitte 2015 sind die Standardeinstellungen gegen [https://en.wikipedia.org/wiki/POODLE POODLE].  Weitere Informationen finden Sie unter [https://wiki.archlinux.org/title/Server-side_TLS Serverseitiges TLS].
Standardmäßig akzeptiert Postfix keine sichere E-Mail.
Sie müssen [https://wiki.archlinux.org/title/Obtain_a_certificate ein Zertifikat erwerben].  Verweisen Sie Postfix auf Ihre TLS-Zertifikate, indem Sie die folgenden Zeilen zu hinzufügen <tt>main.cf</tt>:
; /etc/postfix/main.cf
smtpd_tls_security_level = kann
smtpd_use_tls = ja
smtpd_tls_cert_file = /Pfad/zu/cert.pem
smtpd_tls_key_file = /path/to/key.pem
Es gibt zwei Möglichkeiten, sichere E-Mails zu akzeptieren.
* STARTTLS über SMTP (Port 587) und SMTPS (Port 465).
* Letzteres war zuvor veraltet, wurde aber durch [https://tools.ietf.org/html/rfc8314 RFC:8314].
Um STARTTLS über SMTP (Port 587) zu aktivieren, kommentieren Sie die folgenden Zeilen aus <tt>master.cf</tt>:
; /etc/postfix/master.cf
Übermittlung inet n - n - - smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=verschlüsseln
  -o smtpd_sasl_auth_enable=ja
  -o smtpd_tls_auth_only=ja
  -o smtpd_reject_unlisted_recipient=nein
# -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,ablehnen
  -o milter_macro_daemon_name=URSPRUNG
Die <tt>smtpd_*_restrictions</tt>Optionen bleiben kommentiert, weil <tt>$mua_*_restrictions</tt>sind standardmäßig nicht in main.cf definiert.
* Wenn Sie sich entscheiden, eine von einzustellen <tt>$mua_*_restrictions</tt>, kommentieren Sie auch diese Zeilen aus.
Um SMTPS (Port 465) zu aktivieren, kommentieren Sie die folgenden Zeilen aus <tt>master.cf</tt>:
/etc/postfix/master.cf
smtps inet n - n - - smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=ja
  -o smtpd_sasl_auth_enable=ja
  -o smtpd_reject_unlisted_recipient=nein
# -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,ablehnen
  -o milter_macro_daemon_name=URSPRUNG
Die Begründung rund um die <tt>$smtpd_*_restrictions</tt>Linien ist die gleiche wie oben.
== Tipps und Tricks  ==
=== Eingehende E-Mails auf die schwarze Liste setzen  ===
=== Eingehende E-Mails auf die schwarze Liste setzen  ===
Das manuelle Blacklisting eingehender E-Mails nach Absenderadresse ist mit Postfix problemlos möglich.
Das manuelle Blacklisting eingehender E-Mails nach Absenderadresse ist mit Postfix problemlos möglich.


Erstellen und öffnen <tt>/etc/postfix/blacklist_incoming</tt>Datei und E-Mail-Adresse des Absenders anhängen:
<tt>/etc/postfix/blacklist_incoming</tt>
  user@example.com ABLEHNEN
  user@example.com REJECT


Dann nutzen Sie die <tt>postmap</tt>Befehl zum Erstellen einer Datenbank:
Dann nutzen Sie die <tt>postmap</tt> Befehl zum Erstellen einer Datenbank:
  # Postmap-Hash: blacklist_incoming
  # postmap hash:blacklist_incoming


Fügen Sie den folgenden Code vor der ersten Zulassungsregel ein <tt>main.cf</tt>:
Fügen Sie den folgenden Code vor der ersten Zulassungsregel ein  
 
<tt>main.cf</tt>:
  smtpd_recipient_restrictions = check_sender_access hash:/etc/postfix/blacklist_incoming
  smtpd_recipient_restrictions = check_sender_access hash:/etc/postfix/blacklist_incoming


Endlich [https://wiki.archlinux.org/title/Restart neu starten] <tt>postfix.service</tt>.
Endlich [https://wiki.archlinux.org/title/Restart neu starten] <tt>postfix.service</tt>.


=== Blenden Sie die IP des Absenders und den Benutzeragenten im Received-Header aus  ===
=== IP-Adresse und Benutzeragenten ausblenden  ===
Dies ist vor allem ein Datenschutzproblem, wenn Sie Thunderbird verwenden und eine E-Mail senden.
* im Received-Header des Absenders
* 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: [https://askubuntu.com/questions/78163/when-sending-email-with-postfix-how-can-i-hide-the-senders-ip-and-username-in AskUbuntu] ) Wir möchten den Received-Header aus ausgehenden E-Mails entfernen.
* Der empfangene Header enthält Ihre LAN- und WAN-IP und Informationen über den von Ihnen verwendeten E-Mail-Client. (Originalquelle: [https://askubuntu.com/questions/78163/when-sending-email-with-postfix-how-can-i-hide-the-senders-ip-and-username-in AskUbuntu] ) Wir möchten den Received-Header aus ausgehenden E-Mails entfernen.
* Dies kann durch die folgenden Schritte erfolgen:
 
Dies kann durch die folgenden Schritte erfolgen:


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


Erstellen <tt>/etc/postfix/smtp_header_checks</tt>mit diesem Inhalt:
Erstellen <tt>/etc/postfix/smtp_header_checks</tt> mit diesem Inhalt:
  /^Empfangen:. */ IGNORIEREN
  /^Received: .*/     IGNORE
  /^User-Agent:. */ IGNORIEREN
  /^User-Agent: .*/   IGNORE


Zum Schluss [https://wiki.archlinux.org/title/Restart neu starten] <tt>postfix.service</tt>.
Zum Schluss [https://wiki.archlinux.org/title/Restart neu starten] <tt>postfix.service</tt>.
=== Postfix in einem Chroot-Gefängnis  ===
Postfix wird standardmäßig nicht in ein Chroot-Gefängnis gesteckt.
* Die Postfix-Dokumentation [http://www.postfix.org/BASIC_CONFIGURATION_README.html#chroot_setup [1]] liefert Details darüber, wie man ein solches Jail bewerkstelligen kann.
* Die Schritte sind unten beschrieben und basieren auf dem chroot-setup-Skript, das im Postfix-Quellcode bereitgestellt wird.
Gehen Sie zuerst in die <tt>master.cf</tt>Datei im Verzeichnis <tt>/etc/postfix</tt>und ändern Sie alle Chroot-Einträge auf 'yes' (y) mit Ausnahme der Dienste <tt>qmgr</tt>, <tt>proxymap</tt>, <tt>proxywrite</tt>, <tt>local</tt>, und <tt>virtual</tt>
Erstellen Sie zweitens zwei Funktionen, die uns später beim Kopieren von Dateien in das Chroot-Gefängnis helfen (siehe letzter Schritt).
CP="cp -p"
cond_copy() {
  # Dateien nach Muster in $1 finden
  # Falls vorhanden, in Verzeichnis $2 kopieren
  dir=`dirname "$1"`
  pat=`Basisname "$1"`
  lr=`find "$dir" -maxdepth 1 -name "$pat"`
  wenn testen!  -d "$2" ;  dann Ausfahrt 1 ;  fi
  if test "x$lr" != "x" ;  dann $CP $1 "$2" ;  fi
  }
Erstellen Sie als Nächstes die neuen Verzeichnisse für das Gefängnis:
setze -e
Maske 022
POSTFIX_DIR=${POSTFIX_DIR-/var/spool/postfix}
cd ${POSTFIX_DIR}
mkdir -p etc lib usr/lib/zoneinfo
test -d /lib64 && mkdir -p lib64
Suchen Sie die localtime-Datei
lt=/etc/localtime
wenn testen!  -f $lt ;  dann lt=/usr/lib/zoneinfo/localtime ;  fi
wenn testen!  -f $lt ;  dann lt=/usr/share/zoneinfo/localtime ;  fi
wenn testen!  -f $lt ;  then echo "cannot find localtime" ;  Ausgang 1 ;  fi
rm -f etc/Ortszeit
Kopieren Sie localtime und einige andere Systemdateien in die Chroots etc
$CP -f $lt /etc/services /etc/resolv.conf /etc/nsswitch.conf usw
$CP -f /etc/host.conf /etc/hosts /etc/passwd usw
ln -s -f /etc/localtime usr/lib/zoneinfo
Stellen Sie sicher, dass resolv.conf root gehört:
chown root /var/spool/postfix/etc/resolv.conf
Kopieren Sie die erforderlichen Bibliotheken mit der zuvor erstellten Funktion in die Chroot <tt>cond_copy</tt>
cond_copy '/usr/lib/libnss_*.so*' lib
cond_copy '/usr/lib/libresolv.so*' lib
cond_copy '/usr/lib/libdb.so*' lib
Und vergessen Sie nicht, [https://wiki.archlinux.org/title/Reload laden] Postfix
=== DANE (DNSSEC)  ===
==== Ressourceneintrag  ====
'''Warnung'''
Dies ist kein trivialer Abschnitt.
* Seien Sie sich bewusst, dass Sie sicherstellen, dass Sie wissen, was Sie tun.
* Lesen Sie besser [https://dane.sys4.de/common_mistakes Häufige Fehler] vorher [https://wiki.archlinux.org/title/DANE DANE] unterstützt mehrere Arten von Datensätzen, jedoch sind nicht alle für Postfix geeignet.
Zertifikatsverwendung 0 wird nicht unterstützt, 1 wird 3 zugeordnet und 2 ist optional, daher wird empfohlen, einen „3“-Eintrag zu veröffentlichen.
* Mehr zu [https://wiki.archlinux.org/title/DANE#Resource_Record Resource Records].
==== Aufbau  ====
Dieser Artikel oder Abschnitt muss erweitert werden.
Begründung: Was bedeutet tempfail ? (Diskutieren Sie im [https://wiki.archlinux.org/title/Talk:Postfix Talk: Postfix] )
Opportunistic DANE ist folgendermaßen konfiguriert:
; /etc/postfix/main.cf
smtpd_use_tls = ja
smtp_dns_support_level = dnssec
smtp_tls_security_level = Däne
;/etc/postfix/master.cf
dane unix - - n - - smtp
  -o smtp_dns_support_level=dnssec
  -o smtp_tls_security_level=dane
Um domänenspezifische Richtlinien zu verwenden, z.&nbsp;B.
* opportunistisches DANE für example.org und obligatorisches DANE für example.com, verwende so etwas:
; /etc/postfix/main.cf
indexed = ${default_database_type}:${config_directory}/
# TLS-Richtlinie pro Ziel
#
smtp_tls_policy_maps = ${indexed}tls_policy
# default_transport = smtp, aber einige Ziele sind speziell:
#
transport_maps = ${indexed}transport
Transport
example.com-Daten
example.org-Daten
tls_policy
example.com nur für Dänen
'''Hinweis'''
Für global obligatorisches DANE ändern <tt>smtp_tls_security_level</tt>zu <tt>dane-only</tt>.
* Beachten Sie, dass dadurch Postfix tempfail wird (antworten Sie mit a <tt>4.X.X</tt>Fehlercode) auf alle Lieferungen, die überhaupt kein DANE verwenden!
Die vollständige Dokumentation finden Sie [http://www.postfix.org/TLS_README.html#client_tls_dane hier].
== Extras  ==
* [https://wiki.archlinux.org/title/PostfixAdmin PostfixAdmin] — Eine webbasierte Verwaltungsschnittstelle für Postfix.
[http://postfixadmin.sourceforge.net/ http://postfixadmin.sourceforge.net/] || [https://archlinux.org/packages/?name=postfixadmin postfixadmin]
=== Postgrau  ===
Dieser Artikel oder Abschnitt benötigt Sprach-, Wiki-Syntax- oder Stilverbesserungen.
* Siehe [https://wiki.archlinux.org/title/Help:Style Hilfe:Stil] als Referenz.
Grund: Siehe [https://wiki.archlinux.org/title/Help:Style Help:Style] (Diskutieren in [https://wiki.archlinux.org/title/Talk:Postfix Talk:Postfix] )
[https://postgrey.schweikert.ch/ Postgrey] kann verwendet werden, um [https://en.wikipedia.org/wiki/Greylisting_(email) Greylisting] für einen Postfix-Mailserver zu aktivieren.
==== Installation  ====
[https://wiki.archlinux.org/title/Install Installieren Sie] das [https://archlinux.org/packages/?name=postgrey postgrey] -Paket.
* Um es schnell zum Laufen zu bringen, bearbeiten Sie die Postfix-Konfigurationsdatei und fügen Sie diese Zeilen hinzu:
; /etc/postfix/main.cf
smtpd_recipient_restrictions =
check_policy_service inet:127.0.0.1:10030
Dann [https://wiki.archlinux.org/title/Start/enable starten/aktivieren Sie] die <tt>postgrey</tt>Service.
* Laden Sie anschließend die <tt>postfix</tt>Service.
* Jetzt sollte Greylisting aktiviert sein.
==== Aufbau  ====
Konfiguration erfolgt durch [https://wiki.archlinux.org/title/Extend_the_unit Erweiterung der Einheit] <tt>postgrey.service</tt>.
==== Weiße Liste  ====
Um eine automatische Whitelist hinzuzufügen (erfolgreiche Zustellungen werden auf die Whitelist gesetzt und müssen nicht mehr warten), fügen Sie die hinzu <tt>--auto-whitelist-clients=N</tt>Option und ersetzen <tt>N</tt>um eine angemessen kleine Zahl (oder belassen Sie es auf dem Standardwert von 5).
; /etc/systemd/system/postgrey.service.d/override.conf
[Service]
ExecStart=
ExecStart=/usr/bin/postgrey --inet=127.0.0.1:10030 \
        --pidfile=/run/postgrey/postgrey.pid \
        --group=postgrey --user=postgrey \
        --daemonize \
        --greylist-text="Für %%s Sekunden auf der Greylist" \
        --auto-whitelist-clients
Erstellen Sie die Datei, um zusätzlich zu den Standardclients Ihre eigene Liste mit Whitelist-Clients hinzuzufügen <tt>/etc/postfix/whitelist_clients.local</tt>und geben Sie einen Host oder eine Domäne pro Zeile ein und starten Sie dann neu <tt>postgrey.service</tt>damit die Änderungen wirksam werden.
==== Fehlerbehebung  ====
Wenn Sie angeben <tt>--unix=/path/to/socket</tt>und die Socket-Datei nicht erstellt wird, stellen Sie sicher, dass Sie die Standardeinstellung entfernt haben <tt>--inet=127.0.0.1:10030</tt>aus der Servicedatei.
Eine vollständige Dokumentation möglicher Optionen finden Sie unter <tt>perldoc postgrey</tt>.
=== SpamAssassin  ===
Dieser Abschnitt beschreibt, wie [https://wiki.archlinux.org/title/SpamAssassin Sie SpamAssassin].
==== Eigenständiges generisches SpamAssassin-Setup  ====
'''Hinweis'''
Wenn Sie SpamAssassin und Dovecot Mail Filtering kombinieren möchten, ignorieren Sie die nächsten beiden Zeilen und fahren Sie stattdessen weiter unten fort.
Bearbeiten <tt>/etc/postfix/master.cf</tt>und fügen Sie den Inhaltsfilter unter smtp hinzu.
smtp inet n - n - - smtpd
  -o content_filter=Spamassassin
Fügen Sie außerdem den folgenden Diensteintrag für SpamAssassin hinzu
spamassassin unix - nn - - pipe
  flags=R user=spamd argv=/usr/bin/vendor_perl/spamc -e /usr/bin/sendmail -oi -f ${sender} ${recipient}
Jetzt können Sie [https://wiki.archlinux.org/title/Start starten] und [https://wiki.archlinux.org/title/Enable aktivieren] <tt>spamassassin.service</tt>.
==== SpamAssassin kombiniert mit Dovecot LDA / Sieve (Mailfilterung)  ====
Richten Sie LDA und das Sieve-Plugin wie in [https://wiki.archlinux.org/title/Dovecot#Sieve Dovecot#Sieve].
* Aber ignoriere die letzte Zeile <tt>mailbox_command... </tt>.
Fügen Sie stattdessen ein Rohr hinzu <tt>/etc/postfix/master.cf</tt>:
dovecot unix - nn - - pipe
        flags=DRhu user=vmail:vmail argv=/usr/bin/vendor_perl/spamc -u spamd -e /usr/lib/dovecot/dovecot-lda -f ${sender} -d ${recipient}
Und aktivieren Sie es in <tt>/etc/postfix/main.cf</tt>:
virtual_transport = Taubenschlag
Wenn Sie keine virtuellen Transporte verwenden möchten, können Sie alternativ die verwenden [http://www.postfix.org/postconf.5.html#mailbox_command mailbox_command].  Das läuft mit dem lokalen Benutzer und der lokalen Gruppe, während die Pipe mit dem angegebenen Benutzer unter Verwendung von läuft <tt>user</tt>Einstellung.
mailbox_command = /usr/bin/vendor_perl/spamc -u spamd -e /usr/lib/dovecot/dovecot-lda -f "$SENDER" -a "$EMPFÄNGER"
==== SpamAssassin kombiniert mit Dovecot LMTP / Sieve  ====
Richten Sie das LMTP und Sieb wie in [https://wiki.archlinux.org/title/Dovecot#Sieve Dovecot#Sieve].
; /etc/dovecot/conf.d/90-plugin.conf
sieve_before = /etc/dovecot/sieve.before.d/
sieve_extensions = +vnd.dovecot.filter
sieve_plugins = sieve_extprogramme
sieve_filter_bin_dir = /etc/dovecot/sieve-filter
sieve_filter_exec_timeout = 120s #dies wird oft für lange laufende Spamassassin-Scans benötigt, Standard ist ansonsten 10s
Erstellen Sie das Verzeichnis und fügen Sie spamassassin als Binärdatei ein, die von dovecot ausgeführt werden kann:
# mkdir /etc/dovecot/sieve-filter
# ln -s /usr/bin/vendor_perl/spamc /etc/dovecot/sieve-filter/spamc
Erstellen Sie eine neue Datei, <tt>/etc/dovecot/sieve.before.d/spamassassin.sieve</tt>was beinhaltet:
require [ "vnd.dovecot.filter"] ;
  filter "spamc" [ "-d", "127.0.0.1", "--no-safe-fallback"] ;
Stellen Sie die Siebregeln zusammen <tt>spamassassin.svbin</tt>:
# cd /etc/dovecot/sieve.before.d
  # sievec spamassassin.sieve
Zum Schluss [https://wiki.archlinux.org/title/Restart neu starten] <tt>dovecot.service</tt>.


=== 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:
Zeile 392: Zeile 45:
* Achten Sie darauf, es vor der ersten Erlaubnisanweisung zu platzieren, um alle eingehenden Nachrichten abzufangen.
* Achten Sie darauf, es vor der ersten Erlaubnisanweisung zu platzieren, um alle eingehenden Nachrichten abzufangen.


=== Sender Policy Framework  ===
[[Kategorie:Postfix]]
Um das [https://wiki.archlinux.org/title/Sender_Policy_Framework Sender Policy Framework] mit Postfix zu verwenden, können Sie [https://wiki.archlinux.org/title/Install spf] [https://aur.archlinux.org/packages/python-spf-engine/ -engine] AUR , [https://aur.archlinux.org/packages/python-postfix-policyd-spf/ python-postfix-policyd-spf] AUR oder [https://aur.archlinux.org/packages/postfix-policyd-spf-perl/ postfix-policyd-spf-perl] AUR.
 
==== Mit spf-engine oder python-postfix-policyd-spf  ====
Bearbeiten <tt>/etc/python-policyd-spf/policyd-spf.conf</tt>zu Ihren Bedürfnissen.
* Eine ausführlich kommentierte Version finden Sie unter <tt>/etc/python-policyd-spf/policyd-spf.conf.commented</tt>.
* Achten Sie besonders auf die HELO-Prüfrichtlinie, da die Standardeinstellungen HELO-Fehler strikt ablehnen.
 
In <tt>main.cf</tt>Datei, 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 <tt>smtpd_recipient_restrictions</tt>.
* Um die Belastung zu minimieren, legte man am Ende der Beschränkungen aber vor <tt>reject_rbl_client</tt>DNSBL-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 <tt>postfix</tt>Service.
 
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 [https://wiki.archlinux.org/title/Postfix#With_spf-engine_or_python-postfix-policyd-spf mit python-postfix-policyd-spf] , jedoch mit den folgenden Unterschieden:
 
Zeitüberschreitung für die Richtlinie <tt>main.cf</tt>Datei:
; /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 <tt>smtpd_recipient_restrictions</tt>:
 
'''Warnung'''
angeben <tt>check_policy_service</tt>gemäß <tt>reject_unauth_destination</tt>Andernfalls 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 [https://wiki.archlinux.org/title/Sender_Rewriting_Scheme Sender Rewriting Scheme] mit Postfix zu verwenden, [https://wiki.archlinux.org/title/Install installieren] [https://aur.archlinux.org/packages/postsrsd/ 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 [https://wiki.archlinux.org/title/Journalctl 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 [https://wiki.archlinux.org/title/Restart neu starten] <tt>postfix.service</tt>.
 
=== 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 <tt>chroot</tt>und <tt>/etc/resolv.conf</tt>wird 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 [https://wiki.archlinux.org/title/Restart neu starten] <tt>postfix.service</tt>.
 
== Siehe auch  ==
* [http://www.postfix.org/documentation.html Offizielle Dokumentation]
* [https://help.ubuntu.com/community/Postfix Postfix Ubuntu-Dokumentation]
 
Zum Thema passende Artikel
* [https://wiki.archlinux.org/title/Postfix_with_SASL Postfix mit SASL]
* [https://wiki.archlinux.org/title/Virtual_user_mail_system Mailsystem für virtuelle Benutzer]
* [https://wiki.archlinux.org/title/OpenDMARC OpenDMARC]
* [https://wiki.archlinux.org/title/OpenDKIM OpenDKIM]
 
[https://wiki.archlinux.org/title/Category:Mail_server Mail-Server]

Aktuelle Version vom 29. März 2023, 12:17 Uhr

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.

IP-Adresse und Benutzeragenten ausblenden

  • im Received-Header des Absenders
  • 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.

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.