Freitag, 9. Februar 2007
Anti-Spam: Bitte um Mithilfe
Heute habe ich das hier im Hintergrund werkelnde Anti-Spam Plugin von Serendipity etwas gepimpt.
Personen deren Kommentare von entweder Akismet, der blogg.de blacklist, einem E-Mail Wortfilter oder bei doppelten Kommentaren erwischt werden, werden mit ihrer IP in in einer Datenbanktabelle aufgefischt.
Anhand der IPs in dieser Datenbanktabelle wird bei jedem Update die .htaccess Datei des Blogs aktualisiert und deren IP in einer "DENY FROM" Anweisung geblockt.
Das hat den Vorteil, dass ein derart spammendes System keinen Traffic im s9y Framework mehr verbrät, weil es komplett ausgeschlossen wird. Vom gesamten Blog..
Und das ist direkt auch der Nachteil: Derart geblockte IPs bleiben (derzeit hartkodiert) für 3 Tage im .htaccess Block und können nichts mehr machen. Daher ist diese Methode sehr anfällig für etwaige "unschuldige" Spammer.
Solltet ihr, liebe Leser, in den nächsten Tagen Opfer eines solchen Blocks werden, meldet euch bitte per E-Mail bei mir. Benutzt dazu die Adresse "mail@" und danach der Hostname meines Blogs (garv.in).
Diese Option wurde offiziell in die Snapshots von s9y committed und muss bewusst in der Konfiguration des Plugins aktiviert werden.
Personen deren Kommentare von entweder Akismet, der blogg.de blacklist, einem E-Mail Wortfilter oder bei doppelten Kommentaren erwischt werden, werden mit ihrer IP in in einer Datenbanktabelle aufgefischt.
Anhand der IPs in dieser Datenbanktabelle wird bei jedem Update die .htaccess Datei des Blogs aktualisiert und deren IP in einer "DENY FROM" Anweisung geblockt.
Das hat den Vorteil, dass ein derart spammendes System keinen Traffic im s9y Framework mehr verbrät, weil es komplett ausgeschlossen wird. Vom gesamten Blog..
Und das ist direkt auch der Nachteil: Derart geblockte IPs bleiben (derzeit hartkodiert) für 3 Tage im .htaccess Block und können nichts mehr machen. Daher ist diese Methode sehr anfällig für etwaige "unschuldige" Spammer.
Solltet ihr, liebe Leser, in den nächsten Tagen Opfer eines solchen Blocks werden, meldet euch bitte per E-Mail bei mir. Benutzt dazu die Adresse "mail@" und danach der Hostname meines Blogs (garv.in).
Diese Option wurde offiziell in die Snapshots von s9y committed und muss bewusst in der Konfiguration des Plugins aktiviert werden.
Kommentare
Ansicht der Kommentare:
(Linear | Verschachtelt)
Angesichts der Existenz dynamischer IP-Adressen - von denen die meisten Spambots aus kommen dürften - finde ich drei Tage etwas hart, zumal zumindest einer der größten Anbieter in D nach 24 h hart trennt. (Man könnte hier vielleicht eine DUL als Whitelist hernehmen und dynamisch vergebene Adressen früher entfernen?)
Zugleich finde ich einen sofortigen Block gleichfalls zu scharf. Ein versehentliches doppeltes Absenden oder ein false positive des Wortfilters ist schnell geschehen. Ein Block sollte m.E. erst bei der ersten oder zweiten Wiederholung greifen. Denn wenn der Block überhaupt sinnvoll ist - dann nämlich, wenn binnen der nächsten Stunden oder Tage weitere Versuche von derselben IP-Adresse zu erwarten sind -, wird es mehr als einen Trigger geben.
Man sollte bei Antispam-Maßnahmen das Kind nicht mit dem Bade ausschütten.
Zugleich finde ich einen sofortigen Block gleichfalls zu scharf. Ein versehentliches doppeltes Absenden oder ein false positive des Wortfilters ist schnell geschehen. Ein Block sollte m.E. erst bei der ersten oder zweiten Wiederholung greifen. Denn wenn der Block überhaupt sinnvoll ist - dann nämlich, wenn binnen der nächsten Stunden oder Tage weitere Versuche von derselben IP-Adresse zu erwarten sind -, wird es mehr als einen Trigger geben.
Man sollte bei Antispam-Maßnahmen das Kind nicht mit dem Bade ausschütten.
Ein Abgleich mit dynamischen IPs klingt ganz gut, aber ist das praxistauglich bei den vielen Dialups die es gibt?
Die Trojanerverseuchten PCs von denen Spams kommt sind wirklich ein großes Problem, da diese IP natürlich auch danach von "guten" Usern belegt sein könnten.
Der Wortfilter greift nur bei usernamen im E-Mail feld. Da kann man IMHO davon ausgehen dass matchende Sachen dort wirklich vom User "böse" sind. Versehentliche normale Wortfilter habe ich extra nicht als "Kriterum" herangezogen.
Mein Problem schien eher dass sich innerhalb von einer Stunde bereits 200 geblockte IPs in der .htaccess befanden und anscheinend Apache für jeden Request sehr lange zum parsen dieser IPs gebraucht hat.
Ich habe es daher derzeit wieder rausgenommen und schaue mir das nächste Woche nochmal an.
Die Trojanerverseuchten PCs von denen Spams kommt sind wirklich ein großes Problem, da diese IP natürlich auch danach von "guten" Usern belegt sein könnten.
Der Wortfilter greift nur bei usernamen im E-Mail feld. Da kann man IMHO davon ausgehen dass matchende Sachen dort wirklich vom User "böse" sind. Versehentliche normale Wortfilter habe ich extra nicht als "Kriterum" herangezogen.
Mein Problem schien eher dass sich innerhalb von einer Stunde bereits 200 geblockte IPs in der .htaccess befanden und anscheinend Apache für jeden Request sehr lange zum parsen dieser IPs gebraucht hat.
Ich habe es daher derzeit wieder rausgenommen und schaue mir das nächste Woche nochmal an.
Würde doch reichen, für 10 min zu sperren (genügend hits auf das blog vorausgesetzt und dann ggf. nochmal. Da hat das framework nur noch alle 10 min einen Request von "diesem" Spammer zu verkraften, und den verkraftet es.
Aber super Sache das, bei supersized und manchmal auch s9y.org kommt da manchmal spamtechnisch ziemlich Leben in die Bude (viele comments.php Requests/sec) und der Server wundert sich über Schweißbildung...
Aber super Sache das, bei supersized und manchmal auch s9y.org kommt da manchmal spamtechnisch ziemlich Leben in die Bude (viele comments.php Requests/sec) und der Server wundert sich über Schweißbildung...
Hi Garv,
hab mir mal das gestrige nightly vom svn gezogen und seitdem funzen bei mir die lokalen trackbacks nicht mehr. Kann das mit Deinen neuen Antispam maßnahmen zusammenhängen.
Das Problem mit dem Sperren der IPs funzt bei mir übrigens ganz gut mit fail3ban svtl. was, das man zumindest mit Linux-Versionen von s9y kombinieren könnte. Ich schau mal. Eigentlich müsste s9y nur ne Logdatei schreiben in der "verdächtige" Aktivitäten samt ipAdresse gespeichert würden. In fail2ban kann man dann einen regulären Ausdruck diese speziellen Einträge in der logdatei finden und f2b sperrt die dann automatisch über iptables.
hab mir mal das gestrige nightly vom svn gezogen und seitdem funzen bei mir die lokalen trackbacks nicht mehr. Kann das mit Deinen neuen Antispam maßnahmen zusammenhängen.
Das Problem mit dem Sperren der IPs funzt bei mir übrigens ganz gut mit fail3ban svtl. was, das man zumindest mit Linux-Versionen von s9y kombinieren könnte. Ich schau mal. Eigentlich müsste s9y nur ne Logdatei schreiben in der "verdächtige" Aktivitäten samt ipAdresse gespeichert würden. In fail2ban kann man dann einen regulären Ausdruck diese speziellen Einträge in der logdatei finden und f2b sperrt die dann automatisch über iptables.
Ich habe mal einen ganz anderen Ansatz probiert, schon alleine deshalb, weil ich mich nicht sorecht an die Innereien des s9y Systems rantraue. Ich verwende die Datenbankeinträge im spamblocklog direkt. Mir ist nämlich aufgefallen, das bei fast allen machinell erzeugten Trackbacks der useragent leer ist
Ich habe darauf basierend einen kleinen 6 Zeiler gestrickt, der stündlich die Terroristen blockt.
Mal sehen, wie effektiv dies ist, ich habe mehr als 130000 geblockte Einträge in den letzten 2 Monaten gehabt
Ich habe darauf basierend einen kleinen 6 Zeiler gestrickt, der stündlich die Terroristen blockt.
Mal sehen, wie effektiv dies ist, ich habe mehr als 130000 geblockte Einträge in den letzten 2 Monaten gehabt
Bei mir kommen täglich etwa 1200 Trackbacks an, bei denen der Blogtitel dem Titel des Eintrags entspricht, mit
DELETE from serendipity_comments WHERE title=author;
lässt sich das recht einfach ausmisten.
DELETE from serendipity_comments WHERE title=author;
lässt sich das recht einfach ausmisten.
Oder man sagt dem Antispam-Plugin gleich, daß es so etwas nicht annehmen soll...
http://wiki.mobbing-gegner.de/Linux/Internet/Serendipity/AktivePlugins?action=raw
ich habe online Abfragen eingbaut und schaue mir die Zuwächse an.
fail2ban wäre auch für mich eine gute Lösung! Hatte ich mal wegen ssh am laufen. geht gut!
http://wiki.mobbing-gegner.de/Linux/Internet/Serendipity/AktivePlugins
@Isotopp finde ich gut!
Den patch schaue ich mir an.
ich habe online Abfragen eingbaut und schaue mir die Zuwächse an.
fail2ban wäre auch für mich eine gute Lösung! Hatte ich mal wegen ssh am laufen. geht gut!
http://wiki.mobbing-gegner.de/Linux/Internet/Serendipity/AktivePlugins
@Isotopp finde ich gut!
Den patch schaue ich mir an.
Veni, Vidi, VISA am : Fwd: Anti-Spam: Bitte um Mithilfe
Vorschau anzeigen