Aktuelle SpamAssassin-Regeln von Heinlein Support

spamassassinAuf den Webseiten zu unserem Postfixbuch veröffentlichen wir seit jeher tagesaktuelle Header-/Bodychecks für aktuell kursierende Spam-Mails. Viele Leser und Kunden von uns haben diese Checks in ihre jeweilige Postfix-Konfiguration eingebunden und aktualisieren die Scripte per Cron-Job. Jetzt haben wir unsere Checks umgebaut und veröffentlichen sie ab sofort als SpamAssassin-Ruleset — bequem aktualisierbar über sa-update.

Das Problem an Header-Body-Checks in Postfix: Sie wirken final. Treffen sie zu, wird die jeweilige Mail sofort abgelehnt und hat keine weitere Chance. Fast immer ist das kein Problem, sind unsere Pattern doch absichtlich sehr konkret gehalten und können oft kaum auf eine andere Mail unberechtigterweise passen. Aber „oft“ und „kaum“ ist eben nicht „nie“ und so kam es immer wieder mal dazu, daß diese Checks auch zu einem False Positive führen konnten.

Aktuelle SpamAssassin-Regeln direkt aus unserem Live-Betrieb

Seit einem Jahr nutzen wir unsere Checks für unsere hauseigenen Spamfilter bei Heinlein Hosting, dem Hosted Anti-Spam-Service oder unserem Provider JPBerlin.de darum bereits als SpamAssassin-Ruleset. Die meisten Regeln haben dabei eine Gewichtung von 5, so daß sie extrem stark in die Gewichtung eingehen, aber trotzdem immer noch weitere verdächtige Faktoren hinzukommen müssen. Oder andersherum formuliert: Ist eine E-Mail ansonsten sehr sauber, wird sie auch bei einem normalen Treffer unserer Body-/Header-Checks nicht gleich herausgefiltert werden.

Gute SpamAssassin-Regeln, keine False Positives

Die neuen SpamAssassin-Regeln haben sich bewährt: Sehr gute Filterergebnisse, keine False Positives-Querschläger.

Mit dem heutigen Tag werden wir die bisherigen Body-/Header-Checks von http://www.postfixbuch.de darum nicht mehr weiter pflegen, sondern zeigen lieber hier die Anleitung, wie automatisiert über sa-update unsere Regelsätze in Amavis/SpamAssassin eingebunden werden.

Jede SpamAssassin-Installation sollte so oder so täglich per Cron-Job einen Aufruf des Tools „sa-update“ durchführen. Fehlt das Tool, so muß bei einigen Distributionen noch das Paket „spamassassin“ ausdrücklich installiert werden.

SpamAssassin Regeln von Heinlein Support über sa-update

sa-update prüft über eine DNS-Abfrage sehr performant, ob neue Regelsätze vorliegen und lädt ggf. die jeweiligen Regelsätze per http-Download herunter. Wird sa-update ohne Parameter aufgerufen, lädt es automatisch die Regeln von updates.spamassassin.org.

Über den Aufruf

sa-update --nogpg --channel spamassassin.heinlein-support.de

werden parallel zu den normalen SpamAssassin-Regeln auch unsere Heinlein-eigenen Regeln installiert. Sie finden sich dann in /var/lib/spamassassin/<version>/spamassassin.heinlein-support.de wieder.

Profis, die compilierte SA-Regeln einsetzen, müssen nun re2c ausführen. In allen Fällen aber muß der spamd, bzw. der Amavis neu gestartet werden, je nachdem, was eingesetzt wird.

Die üblichen Distributionen bringen jedoch bereits fertige Cron-Scripte in /etc/cron.daily mit, in denen sich mit wenigen Handgriffen auch der Aufruf unserer Regeln ergänzen läßt. Achten Sie natürlich darauf, daß ein http-Connect zu http://www.spamassassin.heinlein-support.de/ möglich ist!

Die Einrichtung von sa-update unter Debian

Das Cron-Script liegt in /etc/cron.daily/spamassassin, dort findet sich ungefähr in Zeile 64 der Aufruf von sa-update:

# Update
umask 022
sa-update

Hier wird nun der zweite Aufruf unserer Regelsätze wie folgt ergänzt:

# Update
umask 022
sa-update
sa-update --nogpg --channel spamassassin.heinlein-support.de

ansonsten kann alles so bleiben, wie es ist. Bitte achten Sie darauf, daß der Cron-Job in /etc/default/spamassassin aktiviert ist:

# Cronjob
# Set to anything but 0 to enable the cron job to automatically update
# spamassassin's rules on a nightly basis
CRON=1

Die Einrichtung von sa-update unter OpenSUSE/SLES

Das Script liegt hier als /etc/cron.daily/suse.cron-sa-update vor, der Aufruf von sa-update sieht per Default so aus:

if [ "$SPAM_SA_UPDATE" = "yes" ]
then
        /usr/bin/sa-update &> /dev/null
        result=$?

Und kann wie folgt ergänzt werden:

if [ "$SPAM_SA_UPDATE" = "yes" ]
then
        /usr/bin/sa-update --nogpg --channel spamassassin.heinlein-support.de &> /dev/null    
        /usr/bin/sa-update &> /dev/null
        result=$?

Auch hier ist darauf zu achten, daß der Cron-Job in /etc/sysconfig/spamd wie folgt aktiviert ist:

# Set this varible to yes if you want the daily cron job
# to call sa-update. 
SPAM_SA_UPDATE="yes"

sowie ggf. auch die anderen Parameter in dieser Datei den Neustart von Amavis etc. regeln.

Häufigere Updates

SpamAssassin veröffentlicht nur sehr selten, wenige Male im Jahr, neue Regelupdates, so daß ein täglicher Cron-Job hier ausreichend ist. Wir veröffentlichen jedoch fortlaufend neue Updates, wann immer unser Support-Team unerkannte Spamwellen entdeckt und eingepflegt hat. Aus diesem Grunde können bei unseren Regelsätzen auch stündliche Cron-Jobs sehr sinnvoll sein. In diesem Fall sollte man die Script-Datei von /etc/cron.daily einfach nach /etc/cron.hourly verschieben.

sa-update prüft eh anhand eines sehr schnellen DNS-Lookups die Seriennummer und wird so bei unveränderten Regelsätzen gar keine TCP-Verbindung zum jeweiligen Update-Server aufbauen. Der stündliche Cron-Job hat also keine tiefergehenden Beeinträchtigungen zur Folge.

  •  Die von uns veröffentlichten SpamAssassin-Regeln sind absolut identisch zu den von uns im Livebetrieb genutzten Regeln. Ggf. sind kurzzeitig eingebaute Fehler oder Irrtümer nicht ausgeschlossen. Verwendung daher auf absolut eigene Gefahr.

 

 

Dieser Beitrag wurde unter Blog, Mailserver, News, Spam abgelegt und mit , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

57 Antworten zu Aktuelle SpamAssassin-Regeln von Heinlein Support

  1. Pingback: Update Spamassassin – Allerstorfer.at

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.