Gegen Spam: Postfix + SPF (Sender Policy Framework)
Seit ein paar Wochen (?) hat sich in meinen selbstgehosteten Mailboxen das Spamaufkommen rapide gesteigert und zwar dummerweise durch meinen eigenen Mailserver. Abgesehen von den aktuellen Weihnachtsspammails bekomme ich eine Reihe von Mails mit meinen eigenen Adressen im Absender. Dämlicher geht’s eigentlich nicht, aber es hat den nachteiligen Effekt, dass die Mails erst gar nicht durchkommen, sondern vorher ungültig (BAD_HEADER etc) aussortiert werden. Da ich selbst der vermeintliche Absender bin, schickt mir mein Server aber eine Nachricht (“nondelivery report”), dass “meine” Email nicht zu gestellt werden konnte.
Da das tierisch nervt, habe ich meinen Server nun mittels der so genannten “Sender Policy Framework“-Technik (kurz SPF) erweitert. SPF wird zwar relativ kritisch betrachtet, aber in meinem Fall stellt die Kritik kein Problem dar, da ich ja mein eigener Anbieter bin. Zu beachte ist, dass SPF eigentlich nicht gegen Spam, sondern gegen Adressfälschung gedacht ist.
Die Idee bei SPF ist, dass der Server bei einer eingehenden Email wie mail@example.org den Mailserver example.org fragt, ob die IP des einliefernden Mailservers dazu überhaupt authorisiert ist. Dazu wird ein entsprechender DNS-Eintrag überprüft. Wenn die IP ok ist (oder keine SPF-Infos vorhanden sind), wird die Email normal weiter verarbeitet. Liegt ein Missbrauch vor, wird die Email abgewiesen. Auch diverse Emailanbieter wie z.B. GMX setzen auf SPF. Ob dein Mailanbieter auf SPF setzt, kannst du überprüfen, indem du den TXT-Record der Maildomain abfragst.
Den SPF-Eintrag für meine Domains hatte ich schon vor einer Weile angelegt, nun musste ich meinen eigenen Mailserver (Postfix) noch die Kontrolle beibringen. Praktischerweise gibt es da bereits ein passendes Debianpaket, was ich einfach mit ein paar Abhängigkeiten via
-
apt-get install postfix-policyd-spf-perl
installieren konnte. Dann noch schnell Postfix passend konfigurieren. Eine fluxe Anleitung liefert HowtoForge. Zu beachten ist, dass man tunlichst auf den genauen Pfad für die policy in der master.cf achten sollte. Da ich keine Ahnung hatte, wo das Skript gelandet war, hab ich auch gleich apt-file zum Suchen installiert.
Bei meinem Debian sieht das nun so aus:
-
policy unix - n n – – spawn
-
user=nobody argv=/usr/sbin/postfix-policyd-spf-perl
Nachdem ich mein Pfadproblem gelöst hatte, ging es auch gleich los. Nach kurzer Zeit waren die ersten Erfolge im Log zu finden:
mail.log:
Jun 13 18:28:41 server postfix/policy-spf[8620]: : SPF fail (Mechanism ‘-all’ matched): Envelope-from: awotwiackart@warhammerportal.de.
Jun 13 18:28:41 server postfix/policy-spf[8620]: handler sender_policy_framework: is decisive..
Jun 13 18:28:41 server postfix/policy-spf[8620]: : Policy action=550 Please see http://www.openspf.org/Why?…
Take this evil spam scumback!
Auch wenn es für die Allgemeinheit nicht so viel bringt… mein persönlicher Frieden ist erstmal wieder gesichert. Immerhin wurden in den letzten vier Stunden schon 71 Emails abgewiesen.
















