Spambekämpfung ein paar Lichtpunkte
Nachdem auch “Nur ein Blog” unter Spam und Co. zu leiden hat, habe ich in den letzten Tagen Folgendes interessant gefunden:
- Grischa hat einen langen Artikel über die Möglichkeit der Abwehr von Trackback SPAM Bots mittels .htaccess geschrieben, der auch für S9y BloggerInnen passend ist.
- In der Version 1.2 Beta von Serendipity gibt es die Möglichkeit IPs von Spammern mittels .htaccess zu sperren. Dazu aktiviert man im Spamschutz der Verwaltungsoberfläche diese Funktion. Die IPs werden automatisch monatlich dem .htaccess hinzugefügt.
- Ebenfalls seit der 1.2: Ich erhalte für jeden Kommentar den es zu moderieren gilt eine E-Mail. Auch per Akismet abgefangene Kommentare habe ich auf moderieren gestellt, da hin und wieder doch ein “false positive” dabei ist. Nunmehr wird per E-Mail angezeigt, wenn das Kommentar von Akismet abgefangen wurde. So sieht man gleich ob Akismet überhaupt einen nutzen hat und welche Kommentarspams ins Netz geraten.
4 Trackbacks
Trackback-URL für diesen Eintrag
/home/matthias am 30.07.2007: Block bad IPs via HTaccess?
Ein interessanter Ansatz um Spambots vom eigenen Blog fernzuhalten beschreibt Grischa in seinem Artikel TrackBack SPAM Bots
abwehren.
Die Idee die dahinter steckt ist simpel, aber doch genial.
Und in der aktuellen Beta Version von s9y gibt es die Option
Grischa am 30.07.2007: Trackback IP Validierung
Nach meinem Artikel TrackBack SPAM Bots abwehren enstand auf Roberts Blog eine interessante Diskussion über die Methoden zur Trackback SpamBot Abwehrung. Robert schrieb mir, dass er die unfassbare Menge von knapp 3 Millionen Spam Trackbacks in seinem Log
Nur ein Blog am 31.07.2007: Serendipity: Wissensplattform, Spambekämpfung...ein Update
Zwei kurze Info-Updates zu Serendipity:Nachdem ich gestern über Serendipity als Wissensplattform schrieb, hat Robert Basic meinen Artikel anscheinend gelesen und S9y trotzdem weiterhin im Auge für den Aufbau eines neues Projekts.Mein kurzer Artikel über
Grischa am 21.08.2007: Kleiner Server Umzug
Letzte Nacht war mein Blog eine längere Zeit nicht zu erreichen, beim Aufruf bekam man nur ein "Zugriff verweigert". Dafür erst einmal: Entschuldigung. Und woran lag es?Ich hatte in letzter Zeit gehäuft beobachtet, dass mein Blog












37 Kommentare
Ansicht der Kommentare: Linear | Verschachtelt
#1 - Grischa am 29.07.2007 um 21:59:
#1.1 - Robert Lender am 29.07.2007 um 22:09:
#1.2 - Grischa am 29.07.2007 um 23:10:
Und nebenbei: Ich wüsste sofort, wie ich die bei mir genannte Methode als Botprogrammierer komplett aushebeln könnte. Ist eigentlich ziemlich einfach, um ehrlich zu sein (ich sag jetzt nicht wie.. ;-)). Aber es ist rein wirtschaftlich offenbar unsinnig. Es kostet mehr, den Bot zu ändern, als die paar wenigen gesicherten Blogs Verluste bringen.
#2 - Michael am 30.07.2007 um 00:30:
Bei mir (und jedem anderen der das Plugin einsetzt) kommt dadurch nahezu kein einziger Trackback-Spam mehr durch, z.B. alleine die letzte Stunde kamen fast 50 Trackback-Spam-Versuche rein.
Das umgesetzt, dann braucht es auch keine manuelle Filterung per .htaccess oder Blacklist-Einträge mehr. Trackback-Spam hat einfach keine Chance mehr. In der 2. Stufe prüft das Plugin optional noch, ob die Ausgangs-Webseite auch wirklich das Ziel-Blog verlinkt…
Gerne kann der Quellcode von meinem Plugin als Basis dienen (steht eh unter GPL ;), ich kann mir gut vorstellen dass nicht viel geändert werden muss, damit es auch unter Serendipity läuft.
#2.1 - Grischa am 30.07.2007 um 00:42:
Au Backe.. Das muss dann natürlich unbedingt noch rein.
Aber hast Du keine Timeout Last Probleme? Ich muss ja für alle SPAM Trackbacks eine DNS Abfrage durchführen, dass kann bei Roberts 3 Millionen SPAM Trackbacks schon recht Server fordernd sein, oder?
#2.1.1 - Michael am 30.07.2007 um 00:58:
Die Prüfung in PHP erfolgt BTW via gethostbyname(), wobei mir ein Blogger noch eine evtl. zuverlässigere PHP-Function geschickt hat, die ich aber (noch) nicht einbaute, da es mit gethostbyname() wirklich zuverlässig läuft was ich die letzten Wochen so beobachten konnte…
#2.1.1.1 - Robert Lender am 30.07.2007 um 01:06:
#2.1.1.2 - Grischa am 30.07.2007 um 02:34:
Ich warte mal die kommende Nacht ab und hoffe nun dringlichst auf Bots um den Code zu verifizieren! ;-)
Danke noch einmal für den Tipp, Michael!
An Robert: Wenn Du mutig bist, kann ich Dir natürlich mal meine erweiterte Version des Plugins zukommen lassen. Ist aber definitiv ALPHA WARE. Sollte funktionieren, aber ich hatte mangels Bot Zugriffen noch keine Chance, das zu testen.
#2.1.1.2.1 - Robert Lender am 30.07.2007 um 17:55:
Aber mit Unterstützung würde ich es ev. wagen. Mailen wir halt mal drüber.
#2.1.1.2.2 - Grischa am 01.08.2007 um 12:03:
Leider ist das bei dem Spamschutz Plugin so, dass immer nur die letzte Methode, die gegriffen hat, als Ursache in der Moderationsmail gelistet wird (im Logfile hingegen dann alle), somit selten die IP Validierung. Ich musste z.B. erst einmal das Moderieren nach X Tagen ausschalten, um die neue Funktion korrekt beobachten zu können.
#3 - Jochen Hoff am 30.07.2007 um 06:57:
braucht es diese Maßnahmen noch neben akismet. Weißt du wo der Spam bleibt den Akismet abweist um false positive herauszuholen. Denn die Moderation per E-Mail kostet einfach zuviel Zeit.
#3.1 - Robert Lender am 30.07.2007 um 17:58:
Zur Zeitfrage. Ich lasse mein Mailprogramm diese Moderationsankündigungen in ein eigenes Postfach legen. Die meisten sind schon in ein, zwei Sekunden identifiziert. Daher braucht das “durchscannen” der Mails ein bis drei Minuten. Das schaffe ich noch.
#3.1.1 - Matthias am 30.07.2007 um 19:27:
#3.1.1.1 - Robert Lender am 30.07.2007 um 20:10:
#4 - Martin am 31.07.2007 um 23:11:
Einfach das php-script einbinden und schluß ist’s mit SPAM und content-klau-bots.
Ich hab’s zwar in wordpress eingebaut, aber in s9y dürfte das genauso einfach gehen.
#5 - Martina am 03.08.2007 um 20:21:
Gibt es nicht ein Script, das diese Sessions beendet? Meinetwegen beschränkt auf etwa 500 Sekunden sleepy time?
Ich glaube nämlich langsam, dass es manchen Bots gar nicht mehr um das Absetzen von Trackbacks geht, sondern dies eine Vorstufe zum generellen Hack von Websites (=Foren + Blogs) sein wird.
#5.1 - Robert Lender am 03.08.2007 um 20:25:
Aber vielleicht weiß wer anderer Rat. Grischa?
#5.2 - Grischa am 03.08.2007 um 20:29:
#5.2.1 - Martina am 03.08.2007 um 20:57:
#6 - Martina am 03.08.2007 um 20:52:
Die Tmp-Datei, die mir der Hoster zur Kontrolle auf mein Verzeichnis legte, zeigte eine Latte von Sessions, die nur so einprasselten. Und hier vermute ich, liegt u.a. ein Problem mit der Serverlast.
Ich kann es im Augenblick nicht zeigen, aber ich bekam die Angriffwellen dann mit, wenn ich bei einer Aktion im Admin-Bereich auf einmal die Meldung bekam, dass zuviele Sessions offen wären, was dann zum Abbruch führte.
Meine Geschichte mit den Spams ist wirklich schon recht alt, schon seit letztem Jahr kämpfe ich mit den Dingern und versuche auch nur ansatzweise Jemanden zu finden, der mir wirklich hilft! Aber bis jetzt habe ich immer noch das Gefühl, allein als Ruferin im Wald zu stehen, und die anderen ganz schnell Land ergreifen, wenn es darum geht, hier mal einzugreifen.
#6.1 - Grischa am 03.08.2007 um 22:09:
Bei Dir scheint aber irgendein spezielles Problem zu sein, dass die Session bei irgendeinem Aufruf nicht geschlossen wird.
1.) Kannst Du mal das Logfile posten (oder einen Ausschnitt daraus), welcher Aufruf eigentlich diese nicht schließende Session produziert?
2.) Das Temp File des Hosters: Was ist das? Eine Logdatei? Dort waren viele Sessions gelistet. Waren die alle ca. 1,5 Stunden offen?
3.) Du erzählst von einer BotTrap. Diese ist für sich erst einmal nicht befähigt, Spam Bots auszuschließen, sondern nur dazu, Spam Bots zu erkennen. Was für eine BotTrap hast Du denn wie genau installiert?
4.) Du beschreibst, dass Du “Bots gelöscht hast”. Was meinst Du damit? Was hast Du getan? Ihnen den Zugriff verwehrt? Oder nur die Posts dieser Bots gelöscht?
5.) Hast Du Dein Problem eigentlich schon mal im s9y Forum beschrieben? Dort sind einige sehr fähige Leute dabei, die meist extrem schnell Ideen haben, was man auf welche Weise bei Problemen machen kann.
#6.1.1 - Martina am 03.08.2007 um 23:38:
ich kann dir, wenn du magst, nur aus den Logfiles etwas zu den Bots posten. Zu den Sessions muss ich sagen, dass ich da nicht daran gedacht hatte, Screenshots zu machen. Ich hatte auch ihre gefakten IPs anschließend über die htaccess per deny from IP-Range gesperrt.
Ich hatte sie in PhpMyAdmin gekillt, also “beendet”, um wieder Raum für neue Besucher zu schaffen. Bemerkt hatte ich diese Attacken immer dann, wenn ich entweder nicht auf meine Domain kam oder im Adminbereich keine Aktion vollziehen konnte.
Eine Bottrap hatte ich nicht installiert, sondern immer nur meine Logfiles, die ich mir sehr genau diesbezüglich angesehen hatte. Um die “angeblichen” Herkünfte der IPs zu finden, verwende ich div. Tools aus dem Web.
Hier mal ein Auszug aus einem Log vom 29.7.:
[quote]www.martina-kausch.de Bangkok – - [29/Jul/2007:05:23:47 +0200] “POST /comment.php?type=trackback&
www.martina-kausch.de Bangkok – - [29/Jul/2007:05:23:48 +0200] “POST /comment.php?type=trackback&
www.martina-kausch.de Bangkok – - [29/Jul/2007:05:23:51 +0200] “POST /comment.php?type=trackback&
www.martina-kausch.de Bangkok – - [29/Jul/2007:05:23:53 +0200] “POST /comment.php?type=trackback&
(...)
www.martina-kausch.de Bangkok – - [29/Jul/2007:05:24:06 +0200] “POST /comment.php?type=trackback&entry_id=1345 HTTP/1.1” 200 196 “
“ ““www.martina-kausch.de Taiwan – - [29/Jul/2007:05:24:30 +0200] “POST /comment.php?type=trackback&entry_id=854 HTTP/1.1” 200 196 “
“ ““ www.martina-kausch.de Bangkok – - [29/Jul/2007:05:24:59 +0200] “POST /comment.php?type=trackback&entry_id=854 HTTP/1.1” 200 196 ““ ““ www.martina-kausch.de Taiwan – - [29/Jul/2007:05:25:11 +0200] “POST /comment.php?type=trackback&entry_id=1345 HTTP/1.1” 200 – ““ ““ www.martina-kausch.de Bangkok – - [29/Jul/2007:05:25:37 +0200] “POST /comment.php?type=trackback&entry_id=1345 HTTP/1.1” 200 196 ““ ““(...)[/quote]Die IP aus “Bangkok” war / ist: 202.29.240.14
Bei diesem quote handelt es sich wirklich nur um einen kleinen Ausschnitt meines Logs vom 29.7., der txt-Datei rund 600 kb groß ist. Mag sein, dass diese Größe im Vergleich zu manch anderen Logs noch recht winzig ist, aber mir reicht(e) es.
Und ja (zu 5.) Ich hatte es mehrfach im Forum beschrieben.
#6.1.2 - Grischa am 03.08.2007 um 23:53:
Wie man diese Bots aus seinem System heraus hält, habe ich bei mir recht ausführlich beschrieben, der Artikel ist hier auf dieser Seite gleich als erstes verlinkt. Die in dem Artikel beschriebene Methode wird die in Deinem Log zu erkennenden Bots alle vom System fern halten, es wird für diese gar nicht erst eine Session geöffnet!
Hattest Du meinen Artikel bereits gelesen? An dem Log kann man erkennen, dass Du diese Methode jedenfalls noch nicht benutzt. Falls Du Probleme beim Realisieren dieser Methode in Deinem Blog hast, dann sag noch einmal Bescheid, dann können wir (ich) Dir sicher helfen.
Zu 5.): Komisch, das ist wohl an mir vorbei gegangen, ich hätte sicher sofort geantwortet, weil ich mich gerade etwas ausführlicher mit dem Thema beschäftigt hatte.
#6.1.2.1 - Robert Lender am 03.08.2007 um 23:58:
Aber nun zurück zum Hauptproblem. Hoffe, die Lösung passt auch für Martina.
#6.1.2.2 - Martina am 04.08.2007 um 00:27:
Dein Artikel erschien erst, NACHDEM ich die Attacken verspürte. Inzwischen habe ich bei meiner anderen Website (der des Bouleclubs) die htaccess entsprechend deinen Anweisungen geändert. Hoffentlich ist die Seite erstmal sicher.
Um meine anderen Domains kümmere ich mich per htaccess dann, wenn es soweit ist, wenn sie aktiv sind und laufen.
Was mich an der ganzen Sache ärgert, ist, dass erstmal die Schuld bei uns Bloggern gesucht wird anstatt sich die Hoster zusammenschließen und offensiv gegen die Spammer vorgehen!
Ich bin nun eine Leidtragende, und das ganze Geschehen heute hat mir wirklich den Tag verhagelt! Bis vorhin, also bis ich der Linkliste von Robert gefolgt bin, wusste ich mir wirklich nicht zu helfen!
Soll ich bei allen Blogs, die mir unterstehen, nun doch nochmal vorsichtshalber das Spam-Plugin ausschalten?
#6.1.2.2.1 - Robert Lender am 04.08.2007 um 00:35:
Wie ich schon schrieb: Einzelne Blogger “rauszuschmeißen” wird über kurz oder lang sinnlos werden, da es immer wieder andere treffen wird. Meine Blogsoftware sitzt ja ganz am Schluss der Kette vor der noch Hoster etc. ihre Server,.. plaziert haben. Daher würde ich mir ein entsprechendes umdenken wünschen. Aber vielleicht müsste der Druck der User hier noch stärker werden.
#6.1.2.2.2 - Grischa am 04.08.2007 um 02:54:
Das Spam Plugin ausschalten würde ich nicht. Nein, auf keinen Fall! Ich persönlich würde nur diese eine AntiSpam Methode nicht verwenden, aus unten beschriebenen Gründen. Wenn Du die Möglichkeit hast, würde ich Dir empfehlen, das AntiSpam Plugin aus der 1.3 Version zu installieren und statt dessen die IP Validierung einzuschalten. Die produziert im Prinzip keine Last (dazu habe ich bei mir auch einen Artikel).
Ansonsten: Wenn Du die .htaccess Modifikation, die bei mir beschrieben wurde, bereits vollzogen hast, hast Du wahrscheinlich 99% aller Trackback Spam komplett draußen, ohne irgendwelche Last zu produzieren. Bei mir sind es sogar 100%. Ich würde dann noch dringend Captchas aktivieren, um den Spam auch aus den normalen Kommentaren los zu werden. Diese beiden Methoden alleine (User Agent Check für Trackbacks und Captchas für Kommentare) haben mich seit dem Einbau 100% vor SPAM geschützt, ohne dass ich irgendwie (auch nicht per Moderation) eingreifen musste.
Zu Captchas muss man allerdings sagen, dass die (im Ggs zur UA Modifikation) keine Last verhindern (aber auch nicht extra erzeugen), sondern nur verhindern, dass der Spam Bot in Deine DB posten kann. Deine Seite aufrufen kann er natürlich weiterhin.
#6.1.2.2.2.1 - Robert Lender am 04.08.2007 um 07:34:
Zu den grafischen Captchas von S9y muss man jedoch erwähnen, dass sie die Kriterien der Acccessibility (wie fast alle anderen grafischen C.) nicht erfüllen. Sprich Blinde und ev. auch Sehbeeinträchtigte Menschen haben keine Chance an dieser Sperre vorbeizukommen. Das sollte man nur wissen bevor man diese Entscheidung trifft. Um nicht künstlich ein Hindernis aufzubauen moderiere ich halt den Rest der noch reinkommt (dies ist meine persönliche Entscheidung). Ist natürlich Arbeit. Daher hoffe ich doch noch ein paar weitere Unterstützungsmöglichkeiten zu finden. Nebstbei: Akismet leistet hier recht gute Arbeit, ist aber natürlich auch nicht fehlerfrei.
#6.1.3 - Grischa am 04.08.2007 um 00:00:
#6.1.3.1 - Martina am 04.08.2007 um 00:06:
Das Spam-Plugin war versionsmäßig schon vorinstalliert. Welche Einstellung ich hatte, kann ich jetzt nicht mehr nachvollziehen, da mir auch der Zugang zum Admin-Bereich gesperrt wurde.Da ich aber eine Neuinstallation durchgeführt hatte (wg. der bekannt gewordenen Sicherheitslücke) wird es sich dabei wohl um die aktuellste Version gehandelt haben. Und die Neuinstallation führte ich etwa 2 Tage nach der ebigen Freigabe durch.
#6.1.3.2 - Robert Lender am 04.08.2007 um 00:08:
#6.1.3.2.1 - Martina am 04.08.2007 um 00:15:
(Ich hatte für ein großes mittelständisches Unternehmen die komplette Webstruktur weltweit incl. der Schulung der künftigen Onlineredakteure im CMS gemacht. Ich weiß also, was CMS eigentlich können (sollten).) ;)
#6.1.3.2.2 - Grischa am 04.08.2007 um 02:40:
Diese Methode verursacht auf jeden Fall einen Aufruf beim Spam Server (bzw. beim Server des beworbenen Kunden). Hier ist zwar bei den neueren Versionen des Spam Plugins ein Timeout eingestellt, aber jeder Aufruf benötigt dann mindestens die Zeit dieses Timeouts, wenn der Werbeserver nicht korrekt reagiert. Mal ganz abgesehen davon, dass das Blog dann auch die (beliebig große) vorgefundene Seite herunter laden und nach Links durchsuchen muss.
Ich habe aus diesem Grund diese Methode schon immer abgeschaltet gehabt. Die neue IP Validierung ist nun deutlich effizienter (und nebenbei auch schlagkräftiger!), weil sie den Werbehost gar nicht aufrufen muss, sondern nur einen DNS Server. DNS Server sind aber darauf ausgelegt, besonders schnell zu antworten , sie benutzen z.B. geeignete Caching Strategien.
Unterm Strich: In Deinem Fall mit den vielen Spam Bot Attacken würde ich dieses Feature ausschalten. Allerdings kommen inzwischen ja die Trackback Bots bei Dir gar nicht mehr durch (wegen dem UA Test in der .htaccess), wenn ich das richtig in Erinnerung habe, sondern nur die normalen Kommentar Bots, weil Du auf ein Captcha verzichtest. Die genannte kritische AntiSpam Methode schlägt aber nur bei Trackback Spam zu, somit macht das (inzwischen) bei Dir keinen Unterschied mehr. Sie dürfte aber vorher ohne den UA Check zur erheblichen Last bei Dir beigetragen haben.
#6.1.3.3 - Martina am 04.08.2007 um 10:34:
Ich habe mir eben mal das serendipity_event_spamblock angesehen und bin recht ratlos aufgrund der knappen Beschreibung. Wie z.B. hier: [quote]Falls aktiviert, wird ein spezieller Hash-Wert sicherstellen, dass nur Benutzer Kommentare hinterlassen dürfen , die eine gültige Session-ID haben. Dies wird Spam etwas eindämmen und es unmöglich machen, dass Sie ungewollt Kommentare via CSRF-Angriffen hinterlassen, aber es wird auch dazu führen dass nur Benutzer mit aktivierten Cookies kommentieren können.[/quote]Was das andere Spam-Event (RBL) anbelangt, ist es bei mir noch nicht aktiv, da ich die Beta 1.2 noch nicht installiert habe.
#6.1.3.3.1 - Grischa am 04.08.2007 um 12:00:
Und was ist das RBL Spam Plugin? Das (oder den Namen) kenne ich glaube ich noch nicht..
#6.1.3.3.1.1 - Robert Lender am 04.08.2007 um 14:40:
[quote]Spamschutz (RBL) Blockiert SPAM Anhand von IP-Blacklists. Wird diese Option aktiviert, werden Kommentare abgewiesen die von IPs stammen, die in einer RBL/Blacklist geführt werden. Die Aktivierung hiervon kann Dial-Up oder Proxy-User betreffen![/quote]
Und dann gibt es noch
[quote]Spamschutz (SURBL) URL abweisen die als SPAM geblacklistet sind.[/quote]
Sofern man Akismet verwendet sollte man aber – soweit ich es gelesen haben – anderweitige “Blacklists” deaktivieren. Aber ob das der Stand der Dinge ist ist mir nicht geläufig.
#6.1.3.3.1.1.1 - Martina am 21.08.2007 um 20:44:
Aber seit ich die htaccess bearbeitet habe, habe ich zwar noch viel Zugriffe, aber die werden inzwischen nicht mehr mitgezählt, da “403”.
Endlich habe ich eine halbwegs bereinigte Logfile-Datei und halbwegs echte Zugriffszahlen. :) Und damit glaube ich, zu einer der Wenigen zu gehören, die einen Überblick über ihre “echten” Besucher hat. :)