Inhaltsverzeichnis

Die letzten 5%

SPAM-Blocking auf der letzten Meile

Jeder gute Admin hat auf seinen Systemen verschiedene Stapel von Spam-Schutz Mechanismen eingebaut. Amavis, Spamassassin, etc. und daneben natürlich auch: Aktuelle Verschlüsselung, Zugangsbeschränkungen, automatische Blocklisten (Spamhouse und Co.), DKIM, etc. PP…

Trotzdem schaffen es einige Spammer doch immer wieder mal ihrem Müll durchzubringen. Ist nicht viel, aber den lieben Admin nerft es dann doch, weil es ihn einfach ärgert.

Was tun?

Man könnte … Nur sind die meisten Maßnahmen entweder nicht überzeugend oder einfach viel zu händisch, und Admin hasst unnötige Arbeit.

Eine Lösung

Für Postfix gibt es Blocklisten. Das sind primär einfache Textfiles, die in binäre DB überführt werden, damit Postfix sie schneller verarbeiten kann.

Dann brauchen wir noch die Spam-Domains, und die liegen sogar schon als gesammelter Spam in Spam-Ordner vor. 🙂

Muss Admin also nur noch rauspulen, einfaches Bash-Scripting reicht dafür. Beispiel für MBox-Format:

find $PATH_TO_SPAM_EMAILS -iname '*Junk*' -not -iname '*.msf' | while read F ; do grep -e 'Received: from' "${F}" ; done | awk '{print $3}' | sort | uniq -ci | sort -h

Das gibt uns dann z.B. sowas:

      5 blabla.com
      6 blabla.at
 [...]
     16 bindoof.li
     22 undgemein.es
 [...]
    972 meineserver.tdl

Coool! 😃

Klar meine Server, localhost, etc. nehmen wir über eine Filterliste noch raus und aus den übrigen Ergebnissen, alle ab einer Startzahl - die richtet sich ja nach Vorlieben aber vor allen nach Aufwand, schließlich wollen wir ja keinen sperren der da nur zufällig mal draufgeraten ist. Halt ein möglichst sinnvoller Schwellenwert.

Nun brauchen wir nur noch die Domain'en davon nach /etc/postfix/bogus_senders in der Form:

spamdomain.tdl    REJECT You may a Spammer

zu schreiben und mit:

#- erzeugen der binär DB's
cd /etc/postfix
postmap bogus_senders
rcpostfix restart
#- ggf.
# rcpostfix status

das Ganze zu aktivieren. Ab dann werden alle eingetragenen Domain'en von Postfix (mit genanntem Grund) abgewiesen. Und so gut sie auch waren und sich viell^Whoffentlich richtig viel Arbeit gemacht haben… Ätsch! 😛

Der Lösung zweiter Teil

Den Prozess automatisieren. Ist, je mach Umgebung immer anders, darum nur grob beschrieben.

Der Lösung dritter Teil

Um das noch effektiver zu machen, braucht es: Mehr Daten!

Naja, eigentlich mehr Teilnehmer. Was ja auf manchem Hosting durchaus vorkommen soll, dass es viele, möglicherweise sogar als IMAP, betriebene Email-Konten gibt.

Dann kann Admin das nämlich auch als zentralen Spam-Drop allen Nutzern zu Verfügung stellen. (!) Achtung! Sollte gegen Automatismen möglichst gesperrt sein. Dadurch werden es mehr Treffer und in der Folge sinkt die Rate der False-Posivives, so die Schwellenwerte richtig angepasst werden.

Fazit

Alles nicht so schwer. Bildung hilft. Nachdenken auch.

Viel Spaß damit!