Das habe ich auch noch nicht erlebt. Da schreibt der Herr Bischof, er könne keine Mails versenden und was muss ich sehen? Der arme Postfix hatte 2024 Mails in der Queue. Alles MAILER-DAEMON Nachrichten. Da hat jemand Mails an einen nicht existierenden Account diese Domain gesendet und das in sehr kurzer Zeit. Wird Zeit dem Postfix mal ein paar Rate Limits mitzugeben. Das hätte ich schon sehr viel früher machen sollen. Verdammt …
Eine kleine Schleife aller:
for i in `mailq | grep MAILER-DAEMON | cut -c 1-12`; do postsuper -d $i; done;
… hat den gröbsten Mist beseitigt. Mal schauen was der Markus noch so findet.
Deine IP ist:
38.107.179.208

14 Kommentare
Ich ärgere mich seit Tagen mit qmail rum, dort hat ein Spammer einer Lücke in irgendeinem PHP Sendmail Skript gefunden, der schafft es innerhalb von wenigen Sekunden knapp 100k Mails in die Queue zu drücken, die zu entfernen dauert mehrere Stunden.
Am besten bringt man Postfix dazu, Mail an nicht existierende Accounts gar nicht erst anzunehmen (Parameter »local_recipients_map« & Co.), sondern sie gleich im SMTP-Dialog zurückzuweisen. In diesem Fall müssen auch keine Bounces erzeugt werden, die dann, wenn nicht sofort zustellbar, die Queue verstopfen. Rate-Limits doktern an den Symptomen herum, ohne die Ursache anzugehen.
Was PHP angeht … wer sowas benutzt, der verdient alles, was ihm passiert :^) Dito für qmail.
Stimme zu. Mail an nicht existierende Accounts anzunehmen ist nicht DoS, sondern Dummheit. Das geht heute überhaupt nicht mehr, und da gelten keine Ausreden.
Davon abgesehen hat Postfix keinen Rate-Limiter, der für die beschriebene Anwendung verwendbar wäre.
@Anselm: ich wollte nicht, aber Kollegas hat mich dazu gezwungen, ich bin nur derjenige der es ausbaden darf.
zumindest was qmail betrifft
Ich habe es nur flüchtig überflogen, aber mir war, als wenn ich Postfix mitteilen kann, wie viele Mails von der IP pro Minute/Stunde abgeliefert werden dürfen. Ich muss da noch mal genauer nachschauen.
Was das Ablehnen von Mails für nicht existierend Accounts angeht, da stimme ich ebenfalls zu. Allerdings läuft alles über Cyrus und ich habe es schlicht versäumt nachzuschauen, ob es mittlerweile möglich ist, diese Funktion zwischen Postfix und Cyrus (MySQL) zu verwenden. Als das System aufgesetzt wurde, gab es einfach keine Möglichkeit (laut Postfix User Liste). Das ist aber schon ein weilchen her.
Wenn die Mailbox-Informationen in einer MySQL-Datenbank liegen, kann Postfix gerade genauso Mail an unbekannte Accounts ablehnen wie bei normalen Accounts. Dafür muss nur »virtual_mailbox_maps« passend konfiguriert sein. (Wir machen das in der Firma so.)
Das ist wohlgemerkt ein Feature von Postfix 2.x.
Anselm
Das ist richtig und Postfix holt bereits Informationen aus der DB, um zu wissen, für welche Domains er zuständig ist.
Selbst wenn das Problem irgendwie gelöst wurde, habe ich immer noch UUCP im Rücken. Die Spooldatei wird vom Kundenrechner abgerufen und dann Vorort dem User zugestellt.
“These limits must not be used to regulate legitimate traffic: mail will suffer grotesque delays if you do so. The limits are designed to protect the smtpd(8) server against abuse by out-of-control clients.”
Mach kein Scheiß, sondern mach es richtig. Du brauchst vorne eine Liste mit gültigen Mailadressen, alles andere ist Zeitverschwendung.
Nunja, das alles wurde vor Jahren eingerichtet. Ich denke, das UUCP werden wir auch abschaffen, um das mit der DB geregelt zu bekommen. Sonst wäre es echt abstrus geworden.
Man lernt eben immer dazu.
UUCP???!!??? Sag, dass das nicht wahr ist.
Anselm
Doch. Das läuft seit dem Jahr 2001. Irgendwann im Feb. 2005 schrieb ich sogar eine Anleitung hier.
Oh Graus. Wenn Du schon den Server und den Client kontrollierst — was ist falsch an ETRN?
Oh, das ist einfach erklärbar: Ich kannte es schlicht nicht. Jetzt kenne ich es