Damit die Spamfilterung mit spamassassin erfolgreich ist/bleibt, muss der Filter trainiert werden bzw. die Regeln für die Bewertung müssen aktuell gehalten werden. Dies konnte man früher über das script rules_du_jour erledigen. Leider ist die Wartung/Weiterentwicklung dieses scriptes eingestellt worden. Statt dessen kann jetzt sa-update verwendet werden.

    Doch was hilftes, den Spamfilter aktuell zu halten, wenn man keine Rückmeldung über die false/positiv Erkennung bekommt? Rückmeldungen von Usern sollten hier kein Maßstab sein. Für einige User arbeitet der Spamfilter schon nicht mehr richtig, wenn von 100 Spam-Mails eine durchkommt.

    Um sich also selber ein Bild zu machen, kann man die Log-Dateien von Spamassassin auswerten. Wenn noch kein logging aktiviert ist, sollte dies jetzt eingerichtet werden:

    Spamassassin Logging

    Erweitern Sie dazu in der Datei /etc/default/spamassassin die Zeile Options um den Eintrag

    -s ${SAHOME}spamd.log

    SAHOME sollte am Anfang der Datei definiert worden sein:

    SAHOME="/var/lib/spamassassin/"

    Um die Log-Datei auszuwerten, kann nun sa-stats verwendet werden. Das Perl-Skript ließt die Logdatei ein und liefert eine wesentlich übersichtlichere Ausgabe als die reine Log-Datei jemals bieten könnte.

    Auswertung mit sa-stats

    ./sa-stats.pl < /var/lib/spamassassin/spamd.log

    Logrotation aktivieren

    Damit die Logdatei spamassassin nicht irgendwann überläuft, sollte logrotate entsprechend konfiguriert werden:

    /etc/logrotate.d/spamassassin
    /var/lib/spamassassin/spamd.log {
            weekly
            missingok
            rotate 12
            compress
            delaycompress
            notifempty
            create 640 root root
            sharedscripts
            postrotate
            /etc/init.d/spamassassin reload >/dev/null
            endscript
    }

    Weitere Regeln

    Das built-in Regelwerk von Spamassassin ist an für sich schon relativ gut. Es lässt sich meiner Meinung nach jedoch noch ein wenig verfeineren. Als relativ gut haben sich die Regeln von RulesEmporium erwiesen. Wie bereits erwähnt, wird das script rules_du_jour leider nicht mehr weiter entwickelt. Daryl O’Shea bietet jedoch eine Hand voll Regeln an, die die Standard Regeln von Spamassassin gut erweiteren. Bervor diese Regeln automatisch geupdatet werde können, muss der entsprechende PGP-Key installiert werden.

    Vorher noch sa-update aufrufen, da sa-update sonst evtl. die Schlüssel nicht importieren kann, weil der Ordner /etc/spamassassin/sa-update-keys/ noch nicht exisitert.

    sa-update

    anschließend

    wget http://daryl.dostech.ca/sa-update/sare/GPG.KEY
    gpg --import GPG.KEY
    sa-update --import GPG.KEY
    rm GPG.KEY
    wget http://spamassassin.apache.org/updates/GPG.KEY
    gpg --import GPG.KEY
    sa-update --import GPG.KEY
    rm GPG.KEY
    wget http://yerp.org/rules/GPG.KEY
    gpg --import GPG.KEY
    sa-update --import GPG.KEY

    Anschließend wird eine Channel-Date für sa-update angelegt

    touch /etc/spamassassin/sare-sa-update-channels.txt

    In dieser werden dann die zusätzlichen Channels eingebunden:

    updates.spamassassin.org
    70_sare_stocks.cf.sare.sa-update.dostech.net
    70_sare_adult.cf.sare.sa-update.dostech.net
    70_sare_spoof.cf.sare.sa-update.dostech.net
    70_sare_bayes_poison_nxm.cf.sare.sa-update.dostech.net
    70_sare_genlsubj_x30.cf.sare.sa-update.dostech.net
    70_sare_oem.cf.sare.sa-update.dostech.net
    70_sare_random.cf.sare.sa-update.dostech.net
    70_sare_specific.cf.sare.sa-update.dostech.net
    70_zmi_german.cf.zmi.sa-update.dostech.net
    88_FVGT_Bayes_Poison.cf.sare.sa-update.dostech.net
    88_FVGT_Tripwire.cf.sare.sa-update.dostech.net
    88_FVGT_rawbody.cf.sare.sa-update.dostech.net
    88_FVGT_subject.cf.sare.sa-update.dostech.net
    chickenpox.cf.sare.sa-update.dostech.net
    sought.rules.yerp.org

    Um nun die Channels automatisch update zu können, muss noch ein key-file mit den Fingerprints angelegt werden.

    touch /etc/spamassassin/keys
    echo 856AA88A >> /etc/spamassassin/keys
    echo 5244EC45 >> /etc/spamassassin/keys
    echo 6C6191E3 >> /etc/spamassassin/keys

    Anschließend können die Regel aktualisiert werden

    sa-update -D --channelfile /etc/spamassassin/sare-sa-update-channels.txt --gpgkeyfile /etc/spamassassin/keys

    Die Aktualisierung der Regeln sollten Sie von Zeit zu Zeit kontrollieren, um zu vermeiden

    spamassassin -D --lint

    Bilder Spam

    Damit Spamassassin Bilderspam auch als solchen erkennt, kannt der ToolFuzzyOCR eingesetzt werden. Eine sehr gute funktionierende Anleitung finden Sie hier oder eine zweite hier. Das nützliche Tool "pamthreshold" ist leider nicht in dem Debian-Paket von "netpbm" (zu alt). Auf http://www.morbitzer.de gibt es jedoch schon eine compilierte Version.

    cd /usr/bin
    wget http://www.morbitzer.de/downloads/pamthreshold
    chmod 755 pamthreshold

    Links: Heinlein-Support Präsentation zum Thema Clustering/Postfix/Spam

    3 Kommentare

    Reply To Christian Scholz Cancel Reply