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. Michael sagt:

    Moin, hat jemand schon etwas bezüglich rspamd fertig?
    Mir ist leider nicht klar, wie man das konvertieren kann.
    Immerhin wird rspamd ja schon breiter eingesetzt und auch von Heinlein gepusht ;)

  2. Max Hasi sagt:

    Tut sich jetzt nochmal was wegen dem Bug?
    https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7645

  3. Michael sagt:

    Hallo,
    gibt es eine Regel mit der man Mails ab einer bestimmten Anzahl von Links rausfiltern kann?

    Ich bekomme hunderte von Spam Mails die immer mehr als 10 Links enthalten.

    Leider kann ich hierzu nichts finden.

    Liebe Grüße Michael

  4. Siegfried Nagel sagt:

    Hallo an das Team!

    Wurde der Download der Regeln abgeschaltet?
    Klappt nicht mehr und beim manuellen Aufruf der Seite erscheint der Hinweis
    Please see: http://www.heinlein-support.de

    Viele Grüße von der Saar

  5. Pingback: Update Spamassassin – Allerstorfer.at

  6. René sagt:

    Gerade eben sa-update auf dem heinlein-support channel laufen lassen.

    Spuckt leider einen Fehler aus, daß die sha512 nicht stimmen würde!
    Ein manueller download der Regeldatei und ihrer Prüfsummen ergab, daß in beiden Prüfsummendateien ein Subdirectory angegeben ist!
    Wenn man dieses entfernt und dann sa-update mit ‚–install‘ aufruft klappt das ganze!

  7. Der Rico sagt:

    Hallo …
    … ich versuche nun auch gerade die Rules zu aktivieren, aber ich erhalte nach dem Aufruf von ./etc/cron.daily/spamassin immer die Meldung:
    root@kopano1:/etc/cron.daily# ./spamassassin
    error: error setting creation time of /var/lib/spamassassin/3.004002/spamassassin_heinlein-support_de/MIRRORED.BY: Operation not permitted
    Cannot open file /var/lib/spamassassin/3.004002/spamassassin_heinlein-support_de/1718.tar.gz: No such file or directory at /usr/bin/sa-update line 1600.

    Die Rechte auf den Ordnern sind identisch mit denen der originalen SA-Rules.

    habe ich was vergessen oder übersehen/überlesen?

Schreibe einen Kommentar

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