Spamschutz mit Serendipity
Da das Thema immer mal wieder im Forum aufkommt hier nun auch einmal mein individuelles Spamschutz-Setup mit Serendipity (s9y). Wichtiger Hinweis: Dieses Setup funktioniert für mein Blog mit seinem individuellen Aufkommen an Spam. Es muss bei weitem nicht überall und in jedem s9y-Blog ideal sein, kann aber ggf. als Basis für eine eigene Konfiguration dienen.
Zudem sollte man erwähnen, dass diese Plugins „nur“ gegen Kommentar- und Trackback-/Pingback-Spam wirken, nicht aber im Kontaktformular oder gegen E-Mail-Adressen im Inhaltsbereich – allerdings kommt über beide Wege meiner Erfahrung nach heutzutage auch kaum Spam rein. Kommentare und Trackbacks sind schon das Hauptärgernis der Blog-Spams.
Die Wahl der Waffen
Ich setze hier im Blog derzeit drei Spamschutz-Plugins ein. Es gibt insgesamt sieben Plugins für s9y, die im weitesten Sinne unter Spamschutz fallen. Wichtig auch zu erwähnen: Die Reihenfolge, in der diese Plugins im Backend in der Liste stehen ist wichtig! In dieser Reihenfolge durchläuft Spam die Plugins nacheinander, es kann also durchaus entscheidend für die Effizienz der Spamschutzes wie auch für die erzeugte Serverlast sein, welches Plugin zuerst „angreift“.
In meinem Fall sieht das so aus:
- Spamschutz Biene (serendipity_event_spamblock_bee, kurz: Biene)
- Spamschutz (serendipity_event_spamblock, kurz: Standard)
- Spamschutz Bayes (serendipity_event_spamblock_bayes, kurz: Bayes)
Dies sind die ersten drei Plugins überhaupt in der Liste meiner Event-Plugins. Ihre Aufgaben und Konfigurationen sind wie folgt:
Biene
Die Biene bietet zwei Möglichkeiten, Spam abzuwehren:
- „Honeypot“: ein verstecktes Kommentarfeld, das nicht ausgefüllt werden soll, von Bots aber trotzdem gesehen und ausgefüllt wird, wodurch der Kommentar abgewiesen wird
- „Verstecktes Captcha“: eine Rechenaufgabe oder Frage, die für Menschen simpel, für Bots aber gar nicht zu lösen ist; mit aktiviertem JavaScript wird es automatisch gelöst
Ich verwende nur den Honeypot, weil das versteckte Captcha teilweise in bestimmten Browsern nicht funktioniert und somit „echten“ Kommentatoren Probleme bereitet hat. So simpel der Honeypot auch klingt, so effektiv ist er (derzeit zumindest) hier im Blog – im Februar fischte das alleine 92,3% aller Spamkommentare weg. Das ist insbesondere deshalb interessant, weil die Last, die diese Methode serverseitig erzeugt, vergleichsweise gering ist.
Standard
Das Standard-Spamschutz-Plugin für s9y bietet eine Vielzahl von Maßnahmen, die ich größtenteils gar nicht nutze; einige davon sind auch gar nicht für den Dauereinsatz vorgesehen, so gibt es z.B. eine „Notfallblockade“, um vorübergehend alle Kommentare abzuweisen, wenn das Blog mal drastisch unter Beschuss steht (noch nie gebraucht, toitoitoi). Was ich davon benutze:
- Wortfilter: ohne große Konfiguration einfach z.B. alles abweisen, was „casino“ oder „poker“ enthält
- Automatische Moderation: alles, was 14 Tage nach Veröffentlichung der Artikels reinkommt, wird moderiert; ebenso alles, was mindestens drei Links enthält oder Trackbacks, bei denen die IP nicht validiert
- Pflichtfelder: Name, E-Mail und Kommentar sind Pflichtfelder; das ist noch nicht mal primär Spamschutz, zumal die Felder als Pflichtfelder gekennzeichnet sind; zudem werden E-Mail-Adressen auf syntaktische Korrektheit geprüft
Sehr simple Methoden also, die aber 7,5% des Spams erwischen. Auf Spamseite sind das Meiste tatsächlich nicht ausgefüllte Pflichtfelder, fast immer die E-Mail-Adresse. Moderation nach 14 Tagen betrifft inzwischen fast nur noch „echte“ Trackbacks von eigenen Artikeln oder später erstellten Linksammlungen.
Bayes
Der Bayes-Filter steht als „letzte Absicherung“, u.A. weil das Plugin durch eine gewisse Rechenarbeit tatsächlich Serverressourcen benötigt. Ich verwende es mit manuellen Grenzen: Moderation ab 60%, Abweisen ab 80% und lernendem Filter. IP und Referrer ignoriert Bayes bei mir, alles ab 98% Spambewertung wird direkt abgewiesen.
Im gesamten Monat Februar ist noch genau ein(!) Kommentar im Bayes-Filter gelandet. Es gibt durchaus Monate, in denen das Bayes-Plugin überhaupt nicht zum Einsatz kommt.
Weitere Tipps
Wer seine eigenen Spamschutz-Maßnahmen in Serendipity jetzt entsprechend anpassen will, dem sei zusätzlich zum o.g. Hinweis, dass das nicht überall funktioneren muss, noch Folgendes empfohlen:
- Immer erst mit Moderation testen, möglichst nicht direkt abweisen, bis man sich sicher ist, dass alles so funktioniert, wie es soll. Der effizienteste Spamschutz nützt wenig, wenn keine legitimen Kommentare mehr durchkommen.
- Logfile-Funktion nutzen! Alle hier genannten Plugin können in eine Textdatei oder Datenbank loggen, die Textdateien können zudem z.B. nach Monaten aufgeteilt werden. Nur so kann man falsche eingeschätzte Kommentare finden und das Funktionieren der Spamschutz-Plugins überprüfen.
- Mein Erfahrungswert sagt, dass Blacklisting eher Ärger macht und Captchas nicht nur Besucher mit Screenreadern in den Wahnsinn treiben, was meine Plugin-Wahl auch beeinflusst hat.