Template Fehler: Recipient Check steht in sender-policy

ivenae

Renowned Member
Feb 11, 2022
211
102
63
42
Mir ist aufgefallen, dass im default template der main.cf(.in) von Proxmox 9.1 folgende Fehlkonfiguration zu finden ist:

smtpd_sender_restrictions =
permit_mynetworks
reject_non_fqdn_sender
check_client_access cidr:/etc/postfix/clientaccess
check_sender_access regexp:/etc/postfix/senderaccess
check_sender_access hash:/etc/pmg/tls_inbound_domains
check_recipient_access regexp:/etc/postfix/rcptaccess
[%- IF pmg.mail.rejectunknown %] reject_unknown_client_hostname[% END %]
[%- IF pmg.mail.rejectunknownsender %] reject_unknown_sender_domain[% END %]

smtpd_recipient_restrictions =
permit_mynetworks
reject_unauth_destination
reject_non_fqdn_recipient
check_recipient_access regexp:/etc/postfix/rcptaccess


Der Eintrag check_recipient_access ist doppelt vorhanden und bei der sender_restrictions gelistet.
In der sender restrictions darf aber gar nicht auf Basis eines 5.1.1. (mailbox unknown) zurückgewiesen werden.

Hab ich was übersehen, oder ist das ein Fehler?
 
In der sender restrictions darf aber gar nicht auf Basis eines 5.1.1. (mailbox unknown) zurückgewiesen werden.
abseits davon, dass die info über den recipient noch nicht da ist - warum _darf_ das nicht sein? (will nur sichergehen, dass wir hier nichts uebersehen)

Führt das derzeitige Template zu Problemen? - Wenn ja wo?
Basierend auf der Postfix Dokumentation - https://www.postfix.org/SMTPD_ACCESS_README.html#timing - nehme ich an, dass der eintrag dort nicht stoert.

Ich hoffe das hilft!
 
Das Template führt insofern zu Problemen, als dass eine E-Mail, die eigentlich in einer sender_policy korrekt gefiltert wird, hier dennoch einen receiver_check beim zuständigen Mailserver durchführt. Das belastet bei gewissen Mail-Fluten sowohl den PMG als auch den nachfolgenden Mailserver grundlos: Es führt zu sehr vielen bounce-Nachrichten bei einer bestimmten Klasse an Sendern, die exzessives Empfängerraten betreiben.

Nehme ich den receiver Check aus der sender_policy heraus und belasse sie in ausschließlich in der receiver_policy, fallen diese Nachrichten alle weg, weil bei mir ein eigener sender policy check diese Nachrichten erkennt und nicht durchlässt.

Es würde ebenfalls helfen, dass ich diesen sender_policy check vor diese receiver policy schreibe. Das hatte ich damals übersehen. Aber der richtige Weg ist, die doppelt und fehlerhaft platzierte receiver policy zu löschen.

Hab ich so gemacht, Problem ist weg und ich gebe den Fehler hiermit an das Entwickler-Team weiter.

ksnip_20260917-132051.png
ksnip_20260917-132051.png


Fun Fact am Rande: Ich finde Postfix ja sehr kompliziert. Meinem Verständnis nach sind das historisch gewachsene Konfigurationen. Der Postfix führt die entsprechenden Checks erst am Ende durch, wenn alle Informationen bereits vorhanden sind. So existiert im Rahmen der sender_policy bereits der Receiver Eintrag und wird auch genutzt, weshalb die bounce-Nachricht korrekt zum Ziel-Server gesendet werden kann.

Postfix wertet auch nur einmalig aus, trotz doppelter Policy Einträge – er sendet ja nur eine bounce-Nachricht.
Aber im Rahmen dier Auswertung berücksichtigt er bei der Antwort, ob er entsprechende Informationen schon hätte haben _können_. Sofern der receiver_check sowohl in der sender_policy, als auch in der receiver_policy steht, antwortet er zum Zeitpunkt der Sender Policy mit einem korrekten "receiver unknown".
Nehme ich den Check aber aus der receiver_policy heraus, und belasse ihn nur in der sender_policy, wird die bounce Nachricht korrekt abgeschickt, aber er verweigert einen receiver basierten Antwort Code und antwortet stattdessen mit einem 5.0.0 Code.

All das spielt hier keine Rolle, weil die receiver_policy sowohl als sender_policy, als auch als receiver_policy auftaucht, aber mich stört die bounce-Nachricht, die zu früh erfolgt.
 
Last edited: