Ich möchte Postfix so konfigurieren, dass E-Mails nur von bestimmten Absenderadressen weitergeleitet werden. Postfix sollte E-Mails abhängig von der Absenderadresse („MAIL FROM:“) an verschiedene Relayhosts (/Smarthosts) (Gmail, AOL, ...) weiterleiten.
Bisher funktioniert meine aktuelle Konfiguration wie folgt:
Benutzer authentifizieren sich grundsätzlich bei Postfix für Mail-Relay. Wenn sie sich nicht authentifizieren können, ist kein Relay möglich. Beachten Sie, dass sich diese Authentifizierung von der Authentifizierung für die Relayhosts unterscheidet.
Abhängig von der Absenderadresse ("MAIL FROM:") wird ein bestimmter Relayhost ausgewählt (
smtp_sender_dependent_authentication
,sender_dependent_relayhost_maps
,smtp_sasl_password_maps
). Auch das funktioniert einwandfrei.Kann sich der Benutzer jedoch authentifizieren und hat er eine Absenderadresse, die nicht in enthalten ist
sender_dependent_relayhost_maps
, versucht Postfix die Mail direkt weiterzuleiten, was jedoch aufgrund von IP-Adressbeschränkungen (Blacklists) oft nicht funktioniert.
Meine Frage ist nun: Wie lehne ich E-Mails ab, die direkt weitergeleitet worden wären (ohne Smarthost), d. h. bei denen die Absenderadresse nicht aufgeführt ist sender_dependent_relayhost_maps
? Gibt es irgendwelche Hinweise, wie das geht?
Antwort1
Sie würden einen Grenztest benötigenVor permit_sasl_authenticated
Voraussetzung hierfür wäre ein separater SMTP-Port 25
für eingehende Mails und ein weiterer SMTP-Port fürVorlageauf Port 587
. Andernfalls würde diese Einschränkung dazu führen, dass eingehende E-Mails abgelehnt werden, da sie den Test nicht bestehen. Entfernen Sie dann vollständig permit_sasl_authenticated
vom Port 25
und fügen Sie den Test zu Ihrer Übermittlungskonfiguration in hinzu master.cf
.
Um Ihre Frage wörtlich zu beantworten:
check_sender_access
wäre ein geeigneter Test, bei dem alle aufgeführten Domänen auf eine Whitelist gesetztsender_dependent_relayhost_maps
und E-Mails für die übrigen abgelehnt werden.check_sender_access type:table
Suchen Sie nach den angegebenenZugang(5)Datenbank für die
MAIL FROM
Adresse, Domäne, übergeordnete Domänen oderlocalpart@
und führen Sie die entsprechende Aktion aus.Dies kann entweder hinzugefügt werden zu
smtpd_sender_restrictions
odersmtpd_recipient_restrictions
.Das Gleiche würde passieren, aber die Benutzer zusätzlich daran hindern, die Adressen der anderen zu verwenden, indem
reject_sender_login_mismatch
. Dies erfordert eine zusätzlichesmtpd_sender_login_maps
Tabelle, aber wenn Ihrevirtual_alias_maps
Einträge bereits als formatiert sind[email protected] username
, können Sie dieselbe Datei verwenden und die zulässigen Absenderadressen werden automatisch aktualisiert, wenn Sie Ihre virtuelle Alias-Datenbank mit aktualisierenpostmap
. Ein Beispiel für eine solche Übermittlungskonfiguration in dermaster.cf
:submission inet n - - - - smtpd # Other parameters -o smtpd_sender_login_maps=hash:/etc/postfix/virtual -o smtpd_sender_restrictions=reject_sender_login_mismatch -o smtpd_client_restrictions=permit_sasl_authenticated,reject # Other parameters