Nachdem ich ganz stolz war meinen E-Mail Server mit Postfix richtig aufgebaut zu haben, ihn stets aktuell zu halten und sicher auch noch dazu, konnten plötzlich keine E-Mails mehr von meiner Arbeitsstelle zugestellt werden. Folgender Fehler tauchte in den Logs auf:

Jun  7 21:10:32 lvps5-35-240-193 postfix/smtpd[1987]: NOQUEUE: reject_warning: RCPT from mx1.shgruppe.de[195.114.23.111]: 450 4.1.7 <[email protected]>: Sender address rejected: unverified address: host mx2.shgruppe.de[195.114.23.112] said: 550 5.1.1 Recipient address rejected: User unknown (in reply to RCPT TO command); from=<[email protected]> to=<[email protected]> proto=ESMTP helo=

Was ist passiert? Meine erste Vermutung, die Kollegen haben was geändert. Also die Header Informationen in einer alten E-Mail prüfen.

  1.  Die haben den Hostnamen verändert. Die E-Mails kommen nicht mehr von mx1.kreditwerk.de Ist dabei vielleicht etwas kaputt gegangen? Also den DNS Server und die hinterlegten Einträge geprüft. Es ist alles in Ordnung.
  2. Der Absender sieht irgendwie komisch aus. Was machen die ganzen Zeichen (prvs=8966b28c98=[email protected])vor der eigentlichen Adresse?  Google anwerfen, es bedeutet es wurde ein Schutz gegen Backscatter-Bounces eingeführt.

Jetzt habe ich gesehen, was sich geändert hat. Doch warum werden die Mails nun weggeworfen? Es ist klar, dass die Absenderadresse nicht existieren kann, so wie ich sie im Log sehe. An welcher Stelle sortiere ich sie jedoch aus? Welcher meiner vielen Restriktionen bewirkt es.

Eine Prüfung der Postfix main.cf mit postconf -n verrät es schnell:

smtpd_sender_restrictions = reject_non_fqdn_sender, reject_authenticated_sender_login_mismatch, reject_sender_login_mismatch, reject_unauthenticated_sender_login_mismatch, reject_unknown_sender_domain, reject_unlisted_sender, reject_unverified_sender, permit_sasl_authenticated, permit_mynetworks

Die fett markierte Option ist der Übeltäter. Jeder Sender wird geprüft und solche, die per Prüfung nicht verifiziert werden können, werden aussortiert.

Nun wollte ich die Regel jedoch nicht komplett entfernen. Stattdessen habe ich eine Option hinzugefügt, die mir zukünftig in den Logs anzeigt, welche Adressen ich mit „reject_unverified_sender“ ablehnen würde.

Nun sieht der Eintrag wie folgt aus:

smtpd_sender_restrictions = reject_non_fqdn_sender, reject_authenticated_sender_login_mismatch, reject_sender_login_mismatch, reject_unauthenticated_sender_login_mismatch, reject_unknown_sender_domain, reject_unlisted_sender, warn_if_reject reject_unverified_sender, permit_sasl_authenticated, permit_mynetworks

Um den Server nicht nur zu reparieren, sondern auch noch etwas positives zu bewirken, habe ich dann eine address_verify_map angelegt. Ziel ist es die bekannten Adressen zu speichern und später wieder auszulesen anstatt rechenintensive Überprüfungen durchzuführen. Der gesammte Eintrag sieht dann wie in der Dokumentation aus:

/etc/postfix/main.cf:
    address_verify_map = proxy:btree:$data_directory/verify_cache
    address_verify_cache_cleanup_interval = 0

Nun heißt es abwarten, ob der Fehler endgültig behoben ist und das mini Performancetuning einen messbaren Effekt hat.

Leave a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.