Donnerstag, 30. August 2007

Sendmail, Spam und der wichtigste Teil der Welt !

Die letzten Tage hat mir meine Überwachungssoftware des öfteren einen SMTP-Fehler auf einem Server gemeldet. Meistens war der Ausfall nur von kurzer Dauer (ca. 10 Minuten). Erst heute konnte ich mir das Ausmaß in vollem Umfang ansehen.

Bei einer Prozessübersicht von sendmail bekamm ich z.B. folgendes Bild:

15:06 ? 00:00:00 sendmail: server [211.115.254.254] cmd read
15:07 ? 00:00:00 sendmail: server [211.115.254.254] cmd read
15:09 ? 00:00:00 sendmail: server [211.115.254.254] cmd read
15:10 ? 00:00:00 sendmail: server [211.115.254.254] cmd read
15:11 ? 00:00:00 sendmail: server [211.115.254.254] cmd read
15:12 ? 00:00:00 sendmail: server 189-29-155-199-nd.cpe.vivax.com.br [189.29.155.199] (may be forged) cmd read

Hmm, warum versucht ein Server aus Korea mit der IP: 211.115.254.254 mir eine bzw. mehrere Emails zu senden. Vermutlich schickt mir meine Bank über Korea eine Email, dass ich doch bitte meine Tan´s online zur Korrektur "eingeben" soll. Naja wird schon seine Richtigkeit haben... - Und der Server aus Brasilien (IP: 189.29.155.199) bestätigt mir wohl nur meine Bestellung des "orientalischer Teekocher", den ich schnäppchen-mässig für 161,30 Euro bestellt habe.

==> Hier ist auch das Problem meines SMTP-Servers zu suchen, die vielen Prozesse bzw. Anfragen die solche Server bei mir versuchen machen einfach die Zahl an erlaubten Sendmail-Prozessen dicht, und wirklich wichtige Mailserver können meinen SMTP-Server nicht mehr erreichen. Natütrlich kann ich die Anzahl an erlaubten Prozessen für sendmail hochsetzen, das hat aber sicher nur zur Folge das noch mehr Prozesse von Servern aus Korea und der Ukrainie eröffnet werden. Standardmäßig sind soviel ich weiß 15 Prozesse eingetragen. Dieser Wert erscheint mir etwas zu klein, und sollte an die jeweilige Hardware angepasst werden.

Mittels der Timeout - Parameter in der sendmail.cf kann das Timeout für solche Prozesse festgelegt (Timeout.command) werden. Per default sind hier soviel ich weiß 60 Minuten eingetragen, das ist meiner Meinung nach viel zu lang, besser wäre 1-2 Minuten, aber wir können auch großzügig sein, und den wert auf 5 Minuten stellen:

O Timeout.initial=5m
O Timeout.connect=5m
O Timeout.aconnect=0s
O Timeout.iconnect=30s
O Timeout.command=5m
(einfach die obigen Zeilen, die teilweise auskommentiert sind, ent-kommentieren, sendmail stoppen und neu-starten), und das Problem sollte sich erledigt haben.

Bei solchen Vorfällen wächst in mir die Wut, und ich würde am Liebsten den ganzen wichtigen Teil der Welt (Korea, Ukraine, Brasilien, Russland, Singapur) schon per Default von der Firewall blockieren. Leider sind die IP-Blöcke zwar schon irgendwie nach Ländern/Regionen vergeben, aber es gibt eben Ausnahmen, sodaß das leider nicht leicht nicht mit ein paar Regeln zu filtern ist.

Keine Kommentare:

Kommentar veröffentlichen