3 Monate Spam-Mail-Auswertung, ein Resümee

Postfix/rspamd-Regeln aus Spam-Mails mit AI statt Handarbeit

Nach drei Monaten kann man mal kurz ein Resümee ziehen, wie es bis jetzt gelaufen ist.

tl;dr: Klar denkt man am Anfang: „Hoffentlich wird nichts geblockt, was ankommen muss.“ Aber das war überhaupt nicht der Fall.

Es wurde sehr schnell still im Postfach. Spam wurde schon sehr früh abgelehnt, was natürlich dazu führt, dass man denkt, irgendetwas ist schiefgelaufen. Das war überhaupt nicht der Fall. Regelmäßige Checks in den Mailserver-Logs, dig, host, whois und Abgleich mit den Regeln zeigten immer: "Alles perfekt."

Kein False Positive in der Zeit

Obwohl es einmal danach ausgesehen hat. Aber es stellte sich auch dabei schnell heraus: Dieser Block war legitim.

Eine Mail ging an einen Account auf einer meiner Domains. Der Local-Part der Absenderadresse passte aber nicht zur Absender-Domain. Verwirrend war das Ganze auch nur, weil die Domain, von der die Mail versendet wurde, mit der Person zusammenhängt. Zusätzlich passte aber auch die Message-ID überhaupt nicht zu anderen E-Mails, die sonst von der Domain kommen.

Der Mailserver selbst war korrekt konfiguriert, und da sich der User auch am Mailserver authentifiziert hatte, war es erst einmal komplett undurchsichtig. Daher wurden der Inhaber der Domain und der Betreiber des Mailservers kontaktiert. Denn entweder ist der MX etwas unsicher konfiguriert oder der Account wurde gekapert. Beides unschön, weil damit auch Schaden angerichtet werden kann.

Zusätzlich habe ich gleich noch kurz dazugepackt, was sie wegen DKIM und SPF machen können. Aber auch DKIM/DMARC wäre verbesserungswürdig, weil damit so etwas sichtbar gemacht werden könnte und man mitbekommt, wenn versucht wird, die Domain für Spam und Co. zu verwenden.

Auswertung der letzten Mails

Zusätzlich gibt es jetzt auch noch ein Script, mit dem man das letzte mail.log, die letzten zwei Tage oder den letzten Monat auswerten kann.

So sieht man schnell, für welche Empfänger Mails blockiert wurden, mit welcher Spam-ID in den Filtern und von welcher Absenderadresse.

Das Ganze sieht dann so aus:

...
bea4e52b-58f9-421d-af86-785d39910006@9it.de 2026-10-11T13:01:23 Spam detected ID-1127248 ymvejpj@coust-wels.baby
bea4e52b-58f9-421d-af86-785d39910006@9it.de 2026-10-11T18:19:54 Spam detected ID-1131054 ibciycz@beauty-room.bond
bea4e52b-58f9-421d-af86-785d39910006@9it.de 2026-10-11T20:58:13 Spam detected ID-1127173 ytsyyky@kaufen.coupons
bea4e52b-58f9-421d-af86-785d39910006@9it.de 2026-10-12T14:14:59 Spam detected ID-1127248 yxkejld@coust-wels.baby
bea4e52b-58f9-421d-af86-785d39910006@9it.de 2026-10-12T18:28:45 Spam detected ID-1131054 obkefbm@beauty-room.bond
bea4e52b-58f9-421d-af86-785d39910006@9it.de 2026-10-13T13:57:46 Spam detected ID-1127248 eslitfs@coust-wels.baby
bea4e52b-58f9-421d-af86-785d39910006@9it.de 2026-10-13T20:53:43 Spam detected ID-1131054 ulxummd@beauty-room.bond
bea4e52b-58f9-421d-af86-785d39910006@9it.de 2026-10-14T16:53:39 Spam detected ID-1127248 anfifmv@coust-wels.baby
bea4e52b-58f9-421d-af86-785d39910006@9it.de 2026-10-15T01:28:46 Spam detected ID-1131054 edbukql@beauty-room.bond
bea4e52b-58f9-421d-af86-785d39910006@9it.de 2026-10-15T17:04:19 Spam detected ID-1127248 ojtubkx@coust-wels.baby
bea4e52b-58f9-421d-af86-785d39910006@9it.de 2026-10-15T22:58:56 Spam detected ID-1131054 ikcodwt@beauty-room.bond
bea4e52b-58f9-421d-af86-785d39910006@9it.de 2026-10-18T12:03:12 Spam detected ID-1127248 inyuyly@coust-wels.baby
bea4e52b-58f9-421d-af86-785d39910006@9it.de 2026-10-18T16:23:12 Spam detected ID-1131054 acficbs@beauty-room.bond
bea4e52b-58f9-421d-af86-785d39910006@9it.de 2026-10-19T13:27:56 Spam detected ID-1127248 yncafxy@coust-wels.baby
bea4e52b-58f9-421d-af86-785d39910006@9it.de 2026-10-19T19:06:03 Spam detected ID-1131054 ictiqws@beauty-room.bond
d92548d40be523f3825d668aeffec2cc@9it.de 2026-10-15T23:19:14 Spam detected ID-1131069 yzwupfb@instella-art.shop
d92548d40be523f3825d668aeffec2cc@9it.de 2026-10-19T04:45:58 Spam detected ID-1131069 akkabwn@instella-art.shop
d92548d40be523f3825d668aeffec2cc@9it.de 2026-10-19T23:10:55 Spam detected ID-1131069 eflyfhd@instella-art.shop
domain@9it.de 2026-10-14T19:56:56 Spam detected ID-1124393 mohdjamil.eshak@cogent.my
dream@9it.de 2026-10-11T15:54:14 Spam detected ID-1131039 yvfudvt@beauty-labs.beauty
dream@9it.de 2026-10-11T19:54:12 Spam detected ID-1131055 yjsuhnd@women-flowers.homes
dream@9it.de 2026-10-12T16:49:11 Spam detected ID-1131039 inyiwbn@beauty-labs.beauty
dream@9it.de 2026-10-12T18:45:12 Spam detected ID-1131055 oyrywzy@women-flowers.homes
dream@9it.de 2026-10-13T16:05:00 Spam detected ID-1131039 uhjetwp@beauty-labs.beauty
dream@9it.de 2026-10-13T20:07:09 Spam detected ID-1131055 uvhuxyp@women-flowers.homes
dream@9it.de 2026-10-14T21:27:40 Spam detected ID-1131039 ifkivqw@beauty-labs.beauty
dream@9it.de 2026-10-15T02:38:55 Spam detected ID-1131055 eyyapfq@women-flowers.homes
dream@9it.de 2026-10-15T21:57:52 Spam detected ID-1131039 aljaylj@beauty-labs.beauty
dream@9it.de 2026-10-16T01:05:31 Spam detected ID-1131055 appedzx@women-flowers.homes
dream@9it.de 2026-10-19T03:08:12 Spam detected ID-1131055 uyzaqzs@women-flowers.homes
dream@9it.de 2026-10-19T03:56:55 Spam detected ID-1131039 istiqqz@beauty-labs.beauty
dream@9it.de 2026-10-19T09:40:15 Spam detected ID-1131039 yjjisrw@beauty-labs.beauty
dream@9it.de 2026-10-19T12:35:05 Spam detected ID-1131055 yqsyjyw@women-flowers.homes
...

Damit sieht man schön, nach Empfänger sortiert, was geblockt wurde und welcher Filter gegriffen hat. Viele Accounts gibt es auf dem Mailserver überhaupt nicht. Und wieso sollte ich sie dann überhaupt durchlassen, nur damit dann auch noch zurückgeliefert wird: "Sorry, den Account gibt es gar nicht." Nö, das sollen sie gar nicht wissen.

Das Ganze läuft also sehr gut. Und das Beste ist: Es kostet kaum noch Zeit. Die Menge an Regeln, die in den letzten drei Monaten entstanden ist, wäre vorher gar nicht zu schaffen gewesen, selbst wenn man sich mal hingesetzt und angefangen hat, Mails auszuwerten. Domains, Subject, IPs und weitere Mail-Header auswerten, Muster von mehreren Mails zusammenfassen, passende Regeln erstellen usw.

Das Ganze ist aufwändig. Jetzt heißt es einfach: 1–x Tage lang Mails in die Spam-Ordner verschieben. Wenn man genug hat, einfach Claude sagen: "Die nächsten E-Mails analysieren", und Claude schnappt sich die E-Mails aus dem Ordner und arbeitet sie ab. Am Ende fallen die Blocklisten und Regeln raus, und der Report landet als PDF in Slack. Blick drauf werfen -> passt -> Rollout und das Frontend neu bauen und deployen lassen.

Wann ich Mails analysiere, hängt davon ab, wie viele Spam-Mails durchkommen. An manchen Tagen sind es kaum Spam-Mails, an anderen Tagen merkt man dann, dass irgendwo mal wieder eine Spamfarm ihre Schleusen geöffnet hat. Dann wird auch mal an einem Tag schnell eine Rutsche hinterhergeschoben.

Weil Muster sich mit KI einfach schneller erkennen und blocken lassen.