Postfix soll E-Mails an E-Mail-Adressen annehmen, deren Existenz es derzeit nicht feststellen kann
Hallo Kollegen.
Wir verwenden Postfix auch als Reserve-MX für Domänen, deren Haupt-MX wir selbst nicht betreiben. Damit haben wir auch keine Informationen darüber, welche E-Mail-Adressen in den jeweiligen Domänen existieren.
Wenn bekannt ist, welche E-Mail-Adressen in einer Domäne existieren, können diese in der Konfiguration von Postfix angegeben werden.
Wenn diese aber nicht bekannt sind, wird folgendes Szenario aktiv:
Postfix als Reserve-MX überprüft während des Erhalts einer E-Mail, ob die E-Mail-Adresse existiert, indem es beim Haupt-MX nachfragt und das Resultat in der Datei "verify_cache.db" speichert. Wenn der Haupt-MX positiv reagiert, nimmt Postfix die E-Mail an und leitet sie weiter. Wenn der Haupt-MX negativ reagiert, lehnt Postfix die E-Mail schon im SMTP-Dialog ab, damit kein potentieller "Müll" in der Queue entsteht, der zu potentiell gefälschten Absenderadressen retour gesendet werden muss.
Wenn nun aber der Haupt-MX nicht erreichbar ist oder beispielsweise den Verbindungsaufbau per ICMP ablehnt und gleichzeitig noch kein passender Eintrag in der Datei "verify_cache.db" existiert, kann der Backup-MX nicht feststellen, ob die Ziel-E-Mail-Adresse existiert.
In diesem Fall lehnt Postfix als Backup-MX die E-Mail ab. Das läuft entgegen der Funktion eines Backup-MX.
Ich würde Postfix gerne beibringen, dass er im Fall der Nichtfeststellbarkeit der Existenz einer Ziel-E-Mail-Adresse, die E-Mail trotzdem annimmt, in allen anderen Fällen aber wie oben beschrieben arbeitet. Mir ist bewusst, dass dadurch vereinzelt E-Mails angenommen werden könnten, die auch dann, wenn der Haupt-MX wieder erreichbar ist, nicht zugestellt werden können, da die Ziel-E-Mail-Adressen nicht existieren könnten. Insgesamt wäre das aber, meiner Ansicht nach, die wesentlich schönere Lösung bei einem Ausfall des Haupt-MX. Mit vielen solcher Nachrichten ist, denke ich, nicht zu rechnen, da die liste der existierenden bzw. nicht existierenden E-Mail-Adressen bereits zum Großteil in der Datei "verify_cache.db" abgebildet sein sollte.
Kennt jemand von Euch eine Möglichkeit, Postfix auf diese Art zu konfigurieren?
Betreff: Postfix soll E-Mails an E-Mail-Adressen annehmen, deren Existenz es derzeit nicht feststellen kann
Wenn nun aber der Haupt-MX nicht erreichbar ist oder beispielsweise den Verbindungsaufbau per ICMP ablehnt und gleichzeitig noch kein passender Eintrag in der Datei "verify_cache.db" existiert, kann der Backup-MX nicht feststellen, ob die Ziel-E-Mail-Adresse existiert.
In diesem Fall lehnt Postfix als Backup-MX die E-Mail ab. Das läuft entgegen der Funktion eines Backup-MX.
Ich würde Postfix gerne beibringen, dass er im Fall der Nichtfeststellbarkeit der Existenz einer Ziel-E-Mail-Adresse, die E-Mail trotzdem annimmt, in allen anderen Fällen aber wie oben beschrieben arbeitet. Mir ist bewusst, dass dadurch vereinzelt E-Mails angenommen werden könnten, die auch dann, wenn der Haupt-MX wieder erreichbar ist, nicht zugestellt werden können, da die Ziel-E-Mail-Adressen nicht existieren könnten. Insgesamt wäre das aber, meiner Ansicht nach, die wesentlich schönere Lösung bei einem Ausfall des Haupt-MX. Mit vielen solcher Nachrichten ist, denke ich, nicht zu rechnen, da die liste der existierenden bzw. nicht existierenden E-Mail-Adressen bereits zum Großteil in der Datei "verify_cache.db" abgebildet sein sollte.
Kennt jemand von Euch eine Möglichkeit, Postfix auf diese Art zu konfigurieren?
Schreib dir doch ein Script das bei nicht Erreichbarkeit des Zielservers diese Domain(s) nur mit 450 abweist bis das der Mailserver wieder erreichbar ist
Das ist wesentlich sauberer und verhindert auch Müll
Mit freundlichen Grüßen
Uwe Drießen -- Software & Computer
Netzwerke, Server. Wir vernetzen Sie und Ihre Rechner !
Uwe Drießen Lembergstraße 33 67824 Feilbingert
Tel.: 06708660045
"wenn Digitalisierung den Aufwand im Vergleich zur Analogen Arbeitsweise dermaßen erhöht, das wir nur noch am PC sitzen müssten, dann wird es Zeit sich zu überlegen zur Analogen Arbeitsweise zurückzukehren" "Programmierer müssen lernen wie Menschen denken. " "Digitalisierung heißt nicht das es WENIGER Arbeit wird. Es ist die Intelligente Art die erforderliche Arbeit auf den Kunden zu übertragen." Digitalisierung darf nicht zur Entmündigung und Benachteiligung der älteren brillentragenden Mitbürger führen." " Es gibt über 2000 Jahre alte Papierdokumente, 10000 Jahre alte Steindokumente, ich wette das älteste elektronische Dokument ist noch keine 100 Jahre."
Am 09.03.22 um 00:31 zitierte/schrieb Uwe Drießen:
Ich würde Postfix gerne beibringen, dass er im Fall der Nichtfeststellbarkeit der Existenz einer Ziel-E-Mail-Adresse, die E-Mail trotzdem annimmt, in allen anderen Fällen aber wie oben beschrieben arbeitet. Mir ist bewusst, dass dadurch vereinzelt E-Mails angenommen werden könnten, die auch dann, wenn der Haupt-MX wieder erreichbar ist, nicht zugestellt werden können, da die Ziel-E-Mail-Adressen nicht existieren könnten. Insgesamt wäre das aber, meiner Ansicht nach, die wesentlich schönere Lösung bei einem Ausfall des Haupt-MX. Mit vielen solcher Nachrichten ist, denke ich, nicht zu rechnen, da die liste der existierenden bzw. nicht existierenden E-Mail-Adressen bereits zum Großteil in der Datei "verify_cache.db" abgebildet sein sollte. Kennt jemand von Euch eine Möglichkeit, Postfix auf diese Art zu konfigurieren?
Schreib dir doch ein Script das bei nicht Erreichbarkeit des Zielservers diese Domain(s) nur mit 450 abweist bis das der Mailserver wieder erreichbar ist
[...]
Damit würde der Reserve-MX seinen Sinn verlieren. Wenn nur der Haupt-MX existieren würde und nicht erreichbar ist, müssen die sendenden Systeme auch mit deren Queue arbeiten. Der Sinn eines Reserve-MX wäre es doch, die E-Mails anzunehmen und abzuwarten, bis der Haupt-MX wieder verfügbar ist.
Von: postfix-users [mailto:postfix-users-
bounces+driessen=fblan.de@de.postfix.org] Im Auftrag von Rudolf E. Steiner Gesendet: Mittwoch, 9. März 2022 00:52 An: postfix-users@de.postfix.org Betreff: Re: Postfix soll E-Mails an E-Mail-Adressen annehmen, deren Existenz es derzeit nicht feststellen kann
Schreib dir doch ein Script das bei nicht Erreichbarkeit des Zielservers diese
Domain(s) nur mit 450 abweist bis das der Mailserver wieder erreichbar ist [...]
Damit würde der Reserve-MX seinen Sinn verlieren. Wenn nur der Haupt- MX existieren würde und nicht erreichbar ist, müssen die sendenden Systeme auch mit deren Queue arbeiten. Der Sinn eines Reserve-MX wäre es doch, die E-Mails anzunehmen und abzuwarten, bis der Haupt-MX wieder verfügbar ist.
Nö :-) Er lehnt mit einem Temporären Fehler ab und verschiebt die Entscheidung auf den Zeitpunkt an dem er es wieder entscheiden kann. 450 sagt nur "es gibt zur Zeit ein Problem komm später wieder" was in dem Fall der Nichterreichbarkeit des dahinterliegenden Systems auch so zutrifft. Erzeugst du ansonsten 2 Tage später latebounces an, im Falle von Spam, unbeteiligte Dritte ?
Ein Grundsatz ist schon immer auch der Backup MX muss über dieselben Informationen und Entscheidungsmöglichkeiten verfügen wie der Haupt MX. Ist einer "weicher" in den Restriktionen wirst du erleben das nur noch die Backup-MX angesteuert werden weil man da seinen Mist einfacher loswird.
Mit freundlichen Grüßen
Uwe Drießen -- Software & Computer
Netzwerke, Server. Wir vernetzen Sie und Ihre Rechner !
Uwe Drießen Lembergstraße 33 67824 Feilbingert
Tel.: 06708660045
"wenn Digitalisierung den Aufwand im Vergleich zur Analogen Arbeitsweise dermaßen erhöht, das wir nur noch am PC sitzen müssten, dann wird es Zeit sich zu überlegen zur Analogen Arbeitsweise zurückzukehren" "Programmierer müssen lernen wie Menschen denken. " "Digitalisierung heißt nicht das es WENIGER Arbeit wird. Es ist die Intelligente Art die erforderliche Arbeit auf den Kunden zu übertragen." Digitalisierung darf nicht zur Entmündigung und Benachteiligung der älteren brillentragenden Mitbürger führen." " Es gibt über 2000 Jahre alte Papierdokumente, 10000 Jahre alte Steindokumente, ich wette das älteste elektronische Dokument ist noch keine 100 Jahre."
Am 09.03.22 um 08:39 zitierte/schrieb Uwe Drießen:
Damit würde der Reserve-MX seinen Sinn verlieren.
[...]
Nö :-) Er lehnt mit einem Temporären Fehler ab und verschiebt die Entscheidung auf den Zeitpunkt an dem er es wieder entscheiden kann. 450 sagt nur "es gibt zur Zeit ein Problem komm später wieder" was in dem Fall der Nichterreichbarkeit des dahinterliegenden Systems auch so zutrifft. Erzeugst du ansonsten 2 Tage später latebounces an, im Falle von Spam, unbeteiligte Dritte ? Ein Grundsatz ist schon immer auch der Backup MX muss über dieselben Informationen und Entscheidungsmöglichkeiten verfügen wie der Haupt MX. Ist einer "weicher" in den Restriktionen wirst du erleben das nur noch die Backup-MX angesteuert werden weil man da seinen Mist einfacher loswird.
Ich verstehe die Argumentation. Jedoch verliert der Reserve-MX dabei seinen Sinn, da die sendenden Systeme sich dann genau so verhalten, wie wenn dieser nicht existiert.
Im Fall mit Reserve-MX:
1.: Sender erreicht Haupt-MX nicht. 2.: Sender kontaktiert Reserve-MX und wird abgelehnt. 3.: Nachricht landet in der Queue des Senders.
Im Fall ohne Reserve-MX:
1.: Sender erreicht Haupt-MX nicht. 2.: Nachricht landet in der Queue des Senders.
Wenn es dafür keine gute Lösung gibt, wird es wohl so sein, wie Du beschreibst, dass die Kenntnis über die vorhandenen E-Mail-Adressen auch am Backup-MX vorhanden sein muss. In der Realität(TM) wird ein Kunde das aber nicht oder nicht ausreichend sorgfältig pflegen.
Am 08.03.22 um 22:00 schrieb Rudolf E. Steiner:
Hallo Kollegen.
Wir verwenden Postfix auch als Reserve-MX für Domänen, deren Haupt-MX wir selbst nicht betreiben. Damit haben wir auch keine Informationen darüber, welche E-Mail-Adressen in den jeweiligen Domänen existieren.
Wenn bekannt ist, welche E-Mail-Adressen in einer Domäne existieren, können diese in der Konfiguration von Postfix angegeben werden.
Wenn diese aber nicht bekannt sind, wird folgendes Szenario aktiv:
Postfix als Reserve-MX überprüft während des Erhalts einer E-Mail, ob die E-Mail-Adresse existiert, indem es beim Haupt-MX nachfragt und das Resultat in der Datei "verify_cache.db" speichert. Wenn der Haupt-MX positiv reagiert, nimmt Postfix die E-Mail an und leitet sie weiter. Wenn der Haupt-MX negativ reagiert, lehnt Postfix die E-Mail schon im SMTP-Dialog ab, damit kein potentieller "Müll" in der Queue entsteht, der zu potentiell gefälschten Absenderadressen retour gesendet werden muss.
Wenn nun aber der Haupt-MX nicht erreichbar ist oder beispielsweise den Verbindungsaufbau per ICMP ablehnt und gleichzeitig noch kein passender Eintrag in der Datei "verify_cache.db" existiert, kann der Backup-MX nicht feststellen, ob die Ziel-E-Mail-Adresse existiert.
In diesem Fall lehnt Postfix als Backup-MX die E-Mail ab. Das läuft entgegen der Funktion eines Backup-MX.
Ich würde Postfix gerne beibringen, dass er im Fall der Nichtfeststellbarkeit der Existenz einer Ziel-E-Mail-Adresse, die E-Mail trotzdem annimmt, in allen anderen Fällen aber wie oben beschrieben arbeitet. Mir ist bewusst, dass dadurch vereinzelt E-Mails angenommen werden könnten, die auch dann, wenn der Haupt-MX wieder erreichbar ist, nicht zugestellt werden können, da die Ziel-E-Mail-Adressen nicht existieren könnten. Insgesamt wäre das aber, meiner Ansicht nach, die wesentlich schönere Lösung bei einem Ausfall des Haupt-MX. Mit vielen solcher Nachrichten ist, denke ich, nicht zu rechnen, da die liste der existierenden bzw. nicht existierenden E-Mail-Adressen bereits zum Großteil in der Datei "verify_cache.db" abgebildet sein sollte.
Kennt jemand von Euch eine Möglichkeit, Postfix auf diese Art zu konfigurieren?
Aus meiner Sicht ist "diese Form" von Backup MX tot, du solltest diesen Versuch nicht weiter verfolgen
Am 09.03.22 um 08:23 zitierte/schrieb Robert Schetterer:
Kennt jemand von Euch eine Möglichkeit, Postfix auf diese Art zu konfigurieren?
Aus meiner Sicht ist "diese Form" von Backup MX tot, du solltest diesen Versuch nicht weiter verfolgen
Vielen Dank für den Hinweis.
Was wäre dann eine sinnvolle Konfiguration, wenn Kunden eigene Haupt-MX in deren Infrastruktur betreiben und einen Reserve-MX beim Diensteanbieter wünschen?
Eine Variante, die mir einfällt wäre, dem Haupt-MX und dem Reserve-MX im DNS die selbe Priorität zu geben. Damit sollte gewährleistet sein, dass Postfix als Reserve-MX alle in Verwendung stehenden E-Mail-Adressen lernen kann. Jedoch würde ich dann bei 50 % der ankommenden E-Mails einen unnötigen Umweg produzieren.
Am 09.03.2022 um 13:35 schrieb Rudolf E. Steiner:
Am 09.03.22 um 08:23 zitierte/schrieb Robert Schetterer:
Kennt jemand von Euch eine Möglichkeit, Postfix auf diese Art zu konfigurieren?
Aus meiner Sicht ist "diese Form" von Backup MX tot, du solltest diesen Versuch nicht weiter verfolgen
Vielen Dank für den Hinweis.
Was wäre dann eine sinnvolle Konfiguration, wenn Kunden eigene Haupt-MX in deren Infrastruktur betreiben und einen Reserve-MX beim Diensteanbieter wünschen?
Das mindeste ist, dass der Kunde dir ein Liste der validen Adressen ueberlaesst, oder selbst pflegt ( das geht zb ganz gut ueber webmin ), aber auch dann bleibt es schwierig, weil im Grunde alle Antispam Dinge usw mit dem prime Server uebereinstimmen muessen auch Einstellungen zu SPF,DKIM, DMARC etc
Eine Variante, die mir einfällt wäre, dem Haupt-MX und dem Reserve-MX im DNS die selbe Priorität zu geben. Damit sollte gewährleistet sein, dass Postfix als Reserve-MX alle in Verwendung stehenden E-Mail-Adressen lernen kann. Jedoch würde ich dann bei 50 % der ankommenden E-Mails einen unnötigen Umweg produzieren.
Du wirst dich sehr ungluecklich machen damit, ich verstehe ohnehin nicht wozu man das braucht ( ausser in ganz bestimmten Ausnahmen und dann auch nur wenn man alle Server selber im Griff hat )
Ein Sender Server wird 5 Tage lang versuchen eine Mail zuzustellen das sollte ausreichen um einen Maildienst wieder in Betrieb zu nehmen und wenn nicht dann gibt es halt ein "nicht zustellbar", das ist nichts boeses
Der Kunde sollte daran arbeiten dass er Redundanz in seinen Mailservern hat, das ist kein Hexenwerk, das klassische Backup mx Konzept ist tot das gibt nur endlose Probleme
hier ein Blog, achtung schon sehr alt, aber zeigt ein Konzept mit load balancern bei mail
https://blog.sys4.de/loadbalancing-mit-keepalived-postfix-dovecot-de.html
Rudolf E. Steiner wrote:
Wir verwenden Postfix auch als Reserve-MX für Domänen, deren Haupt-MX wir selbst nicht betreiben. Damit haben wir auch keine Informationen darüber, welche E-Mail-Adressen in den jeweiligen Domänen existieren.
Schlecht. Der Betreiber des secondary sollte schon die gueltigen Adressen erfahren. Ich mach das so: * Auf dem primary lauft ein cronjob der alle gueltigen Adressen zusammensucht (mit awk aus /etc/postfix/virtual, /etc/aliases, /var/lib/mailman/data/aliases und /etc/passwd ) ein paar Ausnahmen und Sonderregelungen beachtet und via www dem primary zur Verfuegung stellt.
* Auf dem secondary lauft ein cronjob der die Liste per wget abholt, ein paar sanity checks macht und im richtigen Format in die Dateien schreibt die in der main.cf unter relay_recipient_maps aufgefuehrt sind.
Ein paar Dinge sind dabei zu beachten, zB laeuft der cronjob auf dem secondary mit deutlichem Zeitversatz, damit der auf dem primary sicher fertig ist, also nicht einfach ins cron.daily schmeissen. Wenn der primary kaputt ist und der secondary mal wirklich gebraucht wird geht wahrscheinlich auch der wget schief, deswegen die "sanity checks".
Die cronjobs laufen hier einmal am Tag, fuer meine Zwecke ist das ausreichend.
Postfix als Reserve-MX überprüft während des Erhalts einer E-Mail, ob die E-Mail-Adresse existiert, indem es beim Haupt-MX nachfragt und das Resultat in der Datei "verify_cache.db" speichert. Wenn der Haupt-MX
Wie fragt der denn nach? SMTP vrfy? SMTP Zustellversuch? Wer versuchts denn ueberhaupt beim secondary wenn der primary lauft? Wann expiren die Eintraege in verify_cache.db (E-mailadressen werden ja auch mal geloescht)?
Postfix als Reserve-MX überprüft während des Erhalts einer E-Mail, ob die E-Mail-Adresse existiert, indem es beim Haupt-MX nachfragt und das Resultat in der Datei "verify_cache.db" speichert. Wenn der Haupt-MX
Wie fragt der denn nach? SMTP vrfy? SMTP Zustellversuch? Wer versuchts denn ueberhaupt beim secondary wenn der primary lauft?
Das ist zu kurz gedacht:
1. Wenn der secondary im DNS publiziert ist, wird er auch angesteuert. 2. Prioritäten beim MX sind Hinweise, keine weltweite Routingregel, die zu 100% beachtet wird.
Spammer z.B. benutzen oft gezielt einen Eintrag mit niedriger Priorität, weil sie da auf weniger Schutzmaßnahmen hoffen. Und es kann ja auch immer mal Routingprobleme geben, so dass für den sendenden Mailserver XYZ der primary wirklich nicht erreichbar ist, obwohl er läuft. Deshalb sollte auch der Secondary nur Mails annehmen, die er später auch zustellen kann. Alles andere ist auch juristisch problematisch, da mit der Annahme die Mail in den Verantwortungsbereich des Empfängers übergeht. Wir haben bei uns den strikten Grundsatz, nur Mails anzunehmen, die wir auch dem Empfänger zustellen können und wollen.
Entweder muss ein Reserve-MX diese Informationen auch haben oder man läßt ihn besser weg und sorgt dafür, dass man den Haupt-MX möglichst schnell wieder ans laufen bekommen kann. Die meisten Mailserver speichern ja, wie schon früher geschrieben, für einige Tage zwischen. Wenn man das in der Zeit nicht hinbekommt, sollte man eh über das ganze Konzept nachdenken - dann gibt es ja auch keine Mails für den Kunden in der ganzen Zeit.
Je nach Konstellation kann es natürlich schwer oder unmöglich sein, diese Informationen mit Skripten usw. einzusammeln. Dann ist aber kein sekundärer MX besser als ein "Alles-Sammler". So sehe ich das.
JC
Am 10.03.22 um 20:11 schrieb Jürgen Dollinger:
Schlecht. Der Betreiber des secondary sollte schon die gueltigen Adressen erfahren. Ich mach das so:
[...]
Da gibt es auch Kunden, die z. B. "Microsoft Exchange" betreiben. Die haben zum Wort "Export" recht wenig Bezug. :-)
Aber die Meinung "hier" scheint recht eindeutig zu sein: Kein Reserve-MX ohne die Kenntnis über die in der Domäne bestehenden E-Mail-Adressen (ausnahmslos).
Wie fragt der denn nach? SMTP vrfy? SMTP Zustellversuch?
Das ist hier gut beschrieben:
http://www.postfix.org/ADDRESS_VERIFICATION_README.html
Wer versuchts denn ueberhaupt beim secondary wenn der primary lauft?
Hauptsächlich "Spammer".
Wann expiren die Eintraege in verify_cache.db (E-mailadressen werden ja auch mal geloescht)?
Das kann per "address_verify_positive_expire_time", "address_verify_positive_refresh_time", "address_verify_negative_expire_time" und "address_verify_negative_refresh_time" konfiguriert werden.
participants (5)
-
Jakob Curdes
-
Juergen Dollinger
-
Robert Schetterer
-
Rudolf E. Steiner
-
Uwe Drießen