Ich konfiguriere ein Postfix-Relay, das bei einem Cloud-Anbieter gehostet wird. Ich möchte den Relay-Zugriff nur den öffentlichen IPs meines Unternehmens und einer genauen Liste von Absendern erlauben. Hier sind meine main.cf-Konfigurationen:
mynetworks = 127.0.0.0/8 1.2.3.4/23 4.5.6.7/32 7.8.9.1/24
smtpd_recipient_restrictions = permit_mynetworks,
check_sender_access hash:/etc/postfix/allowed_senders,
reject_unauth_destination
allowed_senders sieht folgendermaßen aus:
[email protected] OK
[email protected] OK
[email protected] OK
Wenn ich diese Einstellungen beibehalte, wird allowed_senders ignoriert, egal ob ich es vor oder nach den allow_mynetworks-Einstellungen einfüge. Wenn ich allow_mynetworks entferne, funktioniert allowed_senders normal.
Wie kann ich also den Zugriff auf dieses Relay nach Quell-IP-Adresse und Absender-E-Mail-Adresse einschränken?
Antwort1
Habe eine Antwort auf meine Frage an die Postfix-Mailingliste erhalten. Hier ist die funktionierende Konfiguration:
main.cf
mynetworks = 127.0.0.0/8 1.2.3.4/23 4.5.6.7/32 7.8.9.1/24
# No relaying from untrusted networks
smtpd_relay_restrictions =
permit_mynetworks,
reject_unauth_destination
# Also, no relaying by unauthorized senders
smtp_sender_restrictions =
check_sender_access hash:/etc/postfix/allowed_senders,
reject_unauth_destination
# Apply UCE controls to remote clients
smtpd_recipient_restrictions =
permit_mynetworks,
... anti-spam rules if any ...
erlaubte Absender:
# Just in case, reject relay attempts from untrusted networks
#
[email protected] permit_mynetworks, reject_unauth_destination
[email protected] permit_mynetworks, reject_unauth_destination
[email protected] permit_mynetworks, reject_unauth_destination