Er ist wieder da: Bilderspam (auch image-spam genannt). Also Bilder als Mailinhalt (inline) oder als Anhang, mit Potenzmittelwerbung o.Ä.. Und leider kommt das Zeug von Servern, die mit Greylisting umgehen können. Der Spamfilter muss sich damit also befassen.
Das Elend an der Sache:
FuzzyOcr, das bewährte Plugin für Spamassassin, wird seit etwa zwei Jahren nicht mehr weiter entwickelt. Nicht einmal die Subversion Version funktioniert noch mit einem aktuellen spamd. Es ist also höchste Zeit, sich nach Ersatz umzuschauen, schließlich gibt es ja auch noch andere Plugins.
Eine Komplettübersicht aller Spamassassin-Plugins findet man auf
wiki.apache.org/spamassassin/CustomPlugins
Folgende habe ich erfolgreich getestet:
Mit den Plugins, mit denen ich aus verschiedenen Gründen keinen Erfolg hatte, möchte ich euch gar nicht erst langweilen.
UPDATE: inzwischen habe ich ein eigenes Plugin gegen Bilderspam geschrieben. Mehr dazu auf
spielwiese.la-evento.com/facileOCR/.
UPDATE 2: FuzzyOcr ist gar nicht tot, es hat nur ein bisschen gedöst:
fuzzyocr.own-hero.net/wiki
Und es funktioniert sehr wohl mit spamd.
Zum Ersten: Image Cerberus
Der Ansatz ist absolut interessant: Mustererkennung statt Texterkennung.
Der Vorteil: das dürfte etwas performanter sein (bei den Tests brauchte spamd etwa 2-3 Sekunden länger pro Mail zum Abarbeiten, als ohne das Plugin).
Der Nachteil: die Methode ist etwas anfälliger für
false positives, daher vielleicht anfangs die hohen Scores im
ImageCerberusPLG.cf etwas herabsetzen - nur so aus Vorsicht. Bei meinen Tests ist aber ohnehin nichts Böses passiert, es wurde also kein Ham aussortiert.
Die Installation auf einem aktuellen Server (Distribution) mit aktuellem Spamassassin ist quasi ein Spaziergang. Die Abhängigkeiten halten sich in Grenzen:
- Spamassassin
- Intel OpenCV library (Paket opencv)
- convert (Paket imagemagick)
Die Anleitung zur Installation auf der Projekt-Homepage ist übrigens nicht mehr aktuell, haltet euch einfach an das mitgelieferte
readme.txt.
Auf einer etwas älteren Distribution wird das Installieren des Plugins aber schwierig bis unmöglich. Auch mit einem selbst kompilierten opencv (Paket war keines aufzutreiben) klappte es wegen nicht erfüllter libc++ Abhängigkeiten von
imageCerberusEXE nicht. In diesem Fall nehmt einfach das BayesOCR Plugin (siehe unten) oder meines.
Bevor ihr nach der Plugininstallation spamd oder amavisd die Konfiguration neu laden lasst, solltet ihr natürlich noch testen.
Was nie schadet ist:
spamassassin --lint
Dann mit einem Spammail:
spamassassin -D ImageCerberusPLG < testmail.eml
bzw. bei
amavis
sudo -u vscan spamassassin -D ImageCerberusPLG < testmail.eml
(oder unter welchem User amavisd halt läuft).
Erst wenn das keine Fehlermeldungen bezüglich Code ausgibt
rcspamd restart
...Oder /etc/init.d/spamd reload, oder /etc/init.d/amavisd reload - Der zuständige Dienst eben.
Zum Zweiten: Bayes OCR
Wie der Name schon vermuten lässt, kommt die klassische Methode OCR (Texterkennung) zum Einsatz.
Allerdings nicht mit simplem Wörterzählen, sondern die Entwickler haben sich am (Spamassassin-)Bayes orientiert.
Zwar macht das ein Vorhersehen des Ergebnisses schwieriger, andererseits muss man nicht händisch Wortlisten aktualisieren.
Die Punktevergabe (Score) ist so vorsichtig eingestellt, dass keine false positives zu befürchten sind.
Abhängigkeiten:
- Spamassassin
- convert und identify (imagemagick)
- gocr
Das klappt auch auf einer nicht ganz so taufrischen Distribution.
Installation: denkbar einfach (zwei Dateien in /etc/mail/spamassassin kopieren).
Getestet werden kann wie oben bei ImageCerberus erwähnt.
Für beide Plugins gilt
Nur ein einzelnes Plugin genügt nicht, um alles auszusortieren. Erst die Mischung machts. Egal, für welches der beiden Plugins ihr euch entscheidet, als wunderbare Ergänzung möchte ich euch noch das
iXhash Plugin ans Herz legen:
wiki.apache.org/spamassassin/iXhash
Funktioniert prima, erzeugt keinerlei false positives. Darum könnt ihr die Scores im
iXhash.cf gleich höher setzen (0.9 bis zu 1.3 sind sinnvoll).
Aus Performancegründen würde ich die beiden Bilderspam-Plugins nicht gleichzeitig verwenden.
Wann immer man etwas an der Konfiguration eines Mailservers ändert, unbedingt die Logfiles im Auge behalten. Ist ja klar
Getestet und installiert wurde auf SuSE, es sollte aber bei Debian oder Fedora recht ähnlich funktionieren.