Skip to content

TrackBack SPAM Bots abwehren

Mittlerweile geht es auch bei mir los, dass regelmäßig Bots SPAM TrackBacks hinterlassen. Dass diese SPAM online geht, kann man bei Serendipity ziemlich leicht verhindern, indem man das Spam Plugin geeignet einstellt. Bei mir werden TrackBacks auf Artikel mit einem bestimmten Alter nur noch moderiert zugelassen. Mein hartnäckigster SPAM Bot versucht es immer wieder mit dem Eintrag 1, der dann definitiv alt genug ist.

Nervig ist dabei allerdings, dass man diese Kommentare noch moderieren muss. Sie erscheinen weiterhin in der Administrationsoberfläche der Kommentare und man muss sie manuell löschen. Dabei hatte ich schon oft die Befürchtung, aus Versehen auch normale und erwünschte Trackbacks gelöscht zu haben.

Wie es viel eleganter geht, beschreibt Isotopp recht ausführlich. Er manipiliert die .htaccess Datei des Serververzeichnisses sehr clever, so dass erkannte Spammer erst gar nicht die comment.php aufrufen können, die für den Eintrag eines TrackBacks zuständing ist. Dadurch gelangen die SPAM TrackBacks gar nicht erst in die Datenbank.

Mir war bisher bekannt, dass man einzelne IP Adressen von der ganzen Site oder von einzelnen Dateien mittels der <Files> Direktive in der .htacces Datei ausschließen kann. Mit dieser Methode kann man bereits sehr erfolgreich Spammer Requests verhindern. Der Nachteil ist dabei, dass man neu gefundene IPs immer nachtragen muss, was recht mühsam werden kann. Da ist die Methode von Isotopp schon deutlich cleverer: Bots werden anhand der User Agent Angabe identifiziert. Nach Überprüfen meiner Logdateien stelle ich auch fest, dass Spammer Bots gerne die IP Adresse wechseln, aber eher selten den Namen, den sie als User Agent mitliefern.

Isotopp beschreibt bei sich einen Bot, der sich mit "TrackBack/1.02" meldet. Diesen habe ich auch in meinen Logfiles, zusätzlich noch zwei weitere, die sich als "TrackBack Checker" und einfach ohne Namen melden. Isotopps Methode nimmt nun diese Namen und benutzt sie in einer <FilesMatch> Anweisung:

<FilesMatch "comment\.php">
  SetEnvIfNoCase User_Agent TrackBack spammer=yes
  deny from env=spammer
</FilesMatch>

FilesMatch interpretiert im Gegensatz zu Files den Ausdruck für den Filenamen immer als regulären Ausdruck, deshalb muss man hier den Punkt escapen. Man könnte in dem Fall aber auch problemlos die Files Direktive benutzen. Die Anweisung SetEnvIfNoCase (die mir neu war) setzt eine beliebige Variable, wenn eine bestimmte Eigenschaft zutrifft. Isotopps Code bedeutet also: "Wenn der User Agent das Wort 'TrackBack' enthält, dann setze die Variable spammer auf yes. Die nächste Zeile bewirkt dann, dass der aktuelle Request abgewiesen wird, wenn vorher die Variable spammer gesetzt wurde, wobei es laut Isotopp unerheblich ist, welchen Wert diese Variable bekommen hat. Sie muss einfach nur gesetzt worden sein.

Geniale Idee! Damit kann man nun - unabhängig davon von wem oder wo sie gerade eingesetzt werden - alle SPAM Bots ausschalten, die die Software namens "TrackBack/1.02" und spätere Versionen benutzen. Auch mein "TrackBack Checker" sollte so außen vor bleiben. Meinen Dauer-SpamBot, der sich immer ohne User Agent Angabe meldet, traue ich mich noch nicht auf diese Weise auszuschalten, da werde ich wohl vorerst auf das Aussperren per IP Adresse zurück greifen.

Die Methode ist auch deshalb so charmant, weil man hier beliebige Server Variablen abtesten kann und sie bei beliebiger Blog Software funktioniert.. Bei anderer Software muss man nur den Namen der Datei austauschen, die gesperrt werden soll.

Eine weitere Beschreibung zu diesem Thema gibt es auch im Artikel "Böser Bot, guter Bot" von Jan Schmager, der dann mehr auf SetEnvIf eingegeht, bzw. die Alternative BrowserMatch. Nebenbei: Um SetEnvIf und BrowserMatch benutzen zu können, muss der Apache Server das Modul mod_setenvif geladen haben.

Nach dem Lesen beider Artikel sieht mein Teil in der .htaccess, der für die Botabwehr zuständig ist, nun also wie folgt aus:

# BEGIN ANTI SPAM
<Files comment.php>
 # knappe 403 Error-Message
 ErrorDocument 403 "403 Forbidden
 
 # Bots, deren Namen mit TrackBack beginnen, markieren
 BrowserMatch ^TrackBack is_trackback_spammer
# Bots, die keinen Namen angeben, markieren
BrowserMatch ^$ is_trackback_spammer
 
 # Aussperren
 Order Allow,Deny
 Allow from all
 deny from env=is_trackback_spammer
</Files>
# END ANTI SPAM

Dann habe ich einfach mal ein paar Tage abgewartet und danach die Logfile überprüft. Beide Bots mit User Agent Angaben ("TrackBack/1.02" und  "TrackBack checker") haben inzwischen mal vorbei geschaut:

"POST /comment.php?type=trackback&entry_id=22 HTTP/1.0" 403 13 "-" "TrackBack checker"
"POST /comment.php?type=trackback&entry_id=12 HTTP/1.0" 403 13 "-" "TrackBack/1.02"

Sie haben also einen 403 erhalten, und in meiner Adminoberfläche ist tatsächlich kein Trackback um diese Uhrzeit eingetroffen. Klappt! :-) Jetzt kam nur noch der Bot ohne User Agent Angabe durch, den habe ich nach diesem Erfolg nun auch mal ausgesperrt. Die Regel dafür ist dann "BrowserMatch ^$ is_trackback_spammer". In einem regulärem Ausdruck bedeutet das ^ Zeilenanfang und $ Zeilenende, in diesem Fall also Anfang bzw. Ende der User Agent Angabe. Der Ausdruck ^$ identifiziert also alle User Agents, die zwischen Anfang und Ende nichts haben, sprich: Die keinen User Agent liefern. Wieder einen Tag gewartet und meine Logfiles kontrolliert:

"POST /comment.php?type=trackback&entry_id=1 HTTP/1.1" 403 25 "-" "-"

Auch der fleißigste Bot bei mir bekommt nun ein 403! Seit dem ich diese beiden BrowserMatches in meiner .htaccess enthalten habe, habe ich nicht einen einzigen SPAM TrackBack mehr erhalten! Somit kann man sich nun auch das Verbieten über IP Adressen Listen sparen. Super Erfolg! Ich bin zuerst übrigens auf das "-" reingefallen und dachte, er sendet ein "-" als User Agent. Im Logfile beschreibt das aber einfach eine leere Angabe.

Schön wäre es natürlich noch, wenn diese Technik gleich in das AntiSpam Spam Plugin von Serendipity eingebaut wäre, damit man nicht immer direkt an der .htaccess Datei editieren muss, was man wohl sicher nur den wenigsten Blogbesitzern zumuten kann. Serendipity bearbeitet diese Datei ja sowieso schon. Hmm... Mal darüber nachdenken.. :-)

Danke Isotopp für diese Idee! :-)

Als nächstes mache ich mir evtl. mal Gedanken zu den Bots, die hier zwar nicht als SPAMmer auftreten, aber trotzdem unnötig Bandbreite verursachen. Davon entdecke ich in letzter Zeit immer öfters Einträge in meinen Logfiles...

Trackbacks

Nur ein Blog

Nur ein Blog on : Spambekämpfung ein paar Lichtpunkte

Continue reading "Spambekämpfung ein paar Lichtpunkte"
Nachdem auch &quot;Nur ein Blog&quot; 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, de
/home/matthias

/home/matthias on : Block bad IPs via HTaccess?

Continue reading "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

Grischa on : Trackback IP Validierung

Continue reading "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
SchnuttenSALAT

SchnuttenSALAT on : &#8220;Trackback-SPAM&#8221; beliebt&#8230;?

Continue reading "&#8220;Trackback-SPAM&#8221; beliebt&#8230;?"
Diesen Eindruck erlange ich jedenfalls, wenn ich mir meine Statistik anschaue. Der Beitrag &#8220;Kampf dem Trackback-SPAM&#8221; ist mit großem Abstand der meist gelesene Artikel hier im Blog. Wie kommt das? Nun, zum einen wahrscheinlich durch die ...
Kausch & Friends

Kausch & Friends on : Spammer en masse!

Continue reading "Spammer en masse!"
Sorry, aber zur Zeit schlagen wieder massig Spammer hier auf. Sie suchen immer noch nach den alten Einträgen aus WordPress. Wahrscheinlich liegt es wirklich daran, dass WordPress eine der am meist verwendeten Blogsoftwares ist. Deshalb scheint es für Spam
Grischa

Grischa on : Kleiner Server Umzug

Continue reading "Kleiner Server Umzug"
Letzte Nacht war mein Blog eine l&auml;ngere Zeit nicht zu erreichen, beim Aufruf bekam man nur ein &quot;Zugriff verweigert&quot;. Daf&uuml;r erst einmal: Entschuldigung. Und woran lag es?Ich hatte in letzter Zeit geh&auml;uft beobachtet, dass mein Blog
Blog TXT

Blog TXT on : Good by Spam

Continue reading "Good by Spam"
Kaum bin ich mal für ein paar Tage in Düsseldorf und schon kommen die Spam-Triaden und zwingen den Server in die Knie, genau dann wenn ich eh keine Zeit und auch keinen richtigen Zugriff habe. Ein zwangsläufiger Ausweicher auf einen Tagesserver war die ei
Grischa

Grischa on : Neuer Trackback SPAM Bot

Continue reading "Neuer Trackback SPAM Bot"
Nur kurz: Bei mir tritt seit heute ein neuer Track Back SPAM Bot auf, der als User Agent Eintrag &quot;USERAGENT&quot; angibt. Wie man Trackback Bots anhand ihrer User Agent Angabe von seinem Blog ausschlie&szlig;t, habe ich im Artikel&nbsp; &quot;TrackBa
BlogTopf.de

BlogTopf.de on : Wordpress Spamschutz mit geringer Kommentarl&#228;nge

Continue reading "Wordpress Spamschutz mit geringer Kommentarl&#228;nge"
Der Angriff von manuellem oder automatisiertem Spam in Blogs ist nur schwer einzudämmen. Spam-Plugins für Wordpress wie Akismet oder Codeschnipsel um Trackback-Spambots abzuwehren helfen dabei den Blog sauber zu halten für Besucher un...
derMicha

derMicha on : Trackback-Spam los werden

Continue reading "Trackback-Spam los werden"
Auch mein kleiner Miniblog wurde nun schon seit einiger Zeit von Spammern per Trackback-Anfragen genervt. Wie so oft hat ein kurzer Plausch mit Grischa sehr geholfen. Seine Hinweise hier und dort waren sehr hilfreich. Danke! In den letzten Wochen sind da
blog.huebel-online.de

blog.huebel-online.de on : Trackback-Spam – massiver Anstieg zu verzeichnen | Kim Huebel - Online

Continue reading "Trackback-Spam – massiver Anstieg zu verzeichnen | Kim Huebel - Online"
In den vergangenen Tagen wird mein Blog regelrecht bombardiert mit Trackbacks – manchmal habe ich schon fast das Gefühl, man möchte mein Blog testen, ob es irgendwann einem Denial of Service (DoS)[..]

Comments

Display comments as Linear | Threaded

Robert Lender

Robert Lender on :

Danke für den Beitrag. Ich werde ihn 1. in Kürze im fragmentarischen...S9y Manual verlinken und 2. mir erlauben ebenfalls einen Beitrag zu schreiben (nicht so ausführlich, so viel weiß ich nicht) und natürlich ebenfalls auf deinen Artikel veweisen.

Grischa

Grischa on :

Hi Robert. Klar, gerne!

Und nebenbei: Ich habe immer noch keinen SPAM Trackback erhalten, ohne irgendein Akismet oder ähnliches aktiviert zu haben. Scheint also wirklich eine sehr effektive Methode zu sein, die das Blog auch nicht all zu sehr mit Traffic belastet.

Robert Lender

Robert Lender on :

Ich werde das ganze jetzt auch live probieren. Wäre fein, wenn du mit Garvin und Co darüber reden könntest ob dieser Mechanismus Teil der Spamabwehr von S9y werden könnte.

Grischa

Grischa on :

Ja. Wie geschrieben: Ich bin schon am Grübeln darüber, wie man das am sinnvollsten integriert. :-)

Werde mal mit Garvin quatschen, was er davon hält, der hat immer ein ziemlich gutes Gespür dafür, was Probleme bereiten könnte, und was man gut einbauen kann.

Wie es im Prinzip implementiert werden müsste, ist mir eigentlich schon klar..

Martina

Martina on :

Ich hatte heute Garvin eine PN zu dem Problem geschrieben. Mal sehen, was und wie er antwortet. Ich weiß nämlich, dass ein Tag zuvor einem schweizer Bekannten (auf einem anderen Hoster) genau das selbe wie mir passiert ist. Mehr dazu auf Bedarf drüben bei Robert, sonst haben wir zuviel Cross-Postings.. ;-)

Martina

Martina on :

Super! Nun landen alle auf der 403!!! ich danke dir für den letzten Hinweis bei mir.

Grischa

Grischa on :

Sehr gern geschehen. :-) Ich muss wohl am besten mal die .htacces oben um die Zeile erweitern, die ich unten nur beschreibe. Sonst wird das offenbar immer übersehen.

Martina

Martina on :

Grischa, die htaccess funktioniert einwandfrei, nur scheint es die Spammer inzwischen zu ärgern, denn sie beschossen meinen Blog gestern nacht mit einem Dauerfeuer... im Schnitt mit 39 Trackback-Requests pro Sekunde (!!!!!!!!!), der Höhepunkt der Welle war zwischen 01:00 und 13:00 Uhr gestern.

Immer von einer IP ausgehend, die es logischerweise eigentlich gar nicht gibt.. Dieser Idiot bekam immer die 303 zu sehen, aber dies schien ihn zu ärgern, weshalb er seine "Bemühungen" verstärkte.

Die Italiener schauen inzwischen nicht mehr vorbei, die sind als Range komplett ausgesperrt.

Meine Logs kann ich zur Zeit aufgrund dieser massigen Einträge nicht mehr auswerten.... :-(

Martina

Martina on :

ich meine natürlich "403" und nicht "303"

Peter

Peter on :

Vielen Dank Grischa. Dies hilft mir hoffentlich den eingehenden Trackback-Spam der letzten Tage zu minimieren. Müsste dann nur noch mein Problem der ausgehenden beheben, da das serendipity_event_trackback plugin bei mir irgendwie nicht funktiniert und die Kommunikation mit WP einfach nicht will. Hättest Du dazu evtl. noch einen Tipp?

Grischa

Grischa on :

Hi Peter,

kann es sein, dass Du eine ältere Version von S9Y fährst? Ich hatte mal einiges an der Kommunikation zwischen WP und S9Y verbessert, meines Wissens funktioniert das inzwischen.

Hatte hier auch mehrere Artikel dazu geschrieben, musst mal suchen..

Peter

Peter on :

Hallo Grischa,

vielen Dank für deine Antwort. Du hast richtig vermutet, fahre aktuell noch 1.1. Werde dann mal updaten. Mal schaun, ob es daran liegt...

btw: Wollte mal alle S9y Artikel bei dir durchblättern, aber nach Seite 2 erhalte ich eine Fehlermeldung. Die Seite ist nicht aufzurufen:

http://blog.brockha.us/index.php?/plugin/tag/Serendipity/P3.html

Grischa

Grischa on :

An der Seitenproblematik beim Tag Plugin hat sich wohl zwischendurch was getan. Hatte ich lange nicht mehr getestet, gerade erst wieder: Klappt inzwischen! :-)

Grischa

Grischa on :

Zu dem Seitenproblem: Mist, da scheint aktuell ein Problem im Tag Plugin vorhanden zu sein. :-/ Habe leider gerade keine Zeit, mich darum zu kümmern.

Zur s9y Version: Ja, wenn Du 1.1 hast, dann ist da noch gar nichts gemacht. Da ging ja nicht mal Pingback (die bevorzugte Methode für WP). Wenn Du auf die aktuelle 1.3 gewechselt hast, dann sollten alle Probleme mit Trackbacks auf WP behoben sein.

Uwe

Uwe on :

Hi Grischa,

wenn ich das so lese, hast du es ähnlich aufgebaut wie http://www.spider-trap.de/

Dieses kleine Tool hat einen ähnlichen Ansatz und sperrt selbst gefakte MSN- oder Yahoo-Bots.

Es sperrt alle Bots, die sich nicht an die Standard for Robot Exclusion halten und auf das in der robots.txt gesperrte Verzeichnis zugreifen und in die Falle tappen.

Ob die Methode auch auf Trackbacks anwendbar ist, kann ich nicht beurteilen. Vielleicht kann man sich aber mit den Codern zusammentun und voneinander profitieren!?

Ciao,

Uwe

Sven

Sven on :

Klasse.Super! Nun landen alle auf der 403!!! Die Hinweise sind der letzte Schrei. Danke

Klaus

Klaus on :

Ich lese hier sehr viele Anregungen und auch Vorschläge. Kennt auch jemand eine Möglichkeit die man beim Burning Board einsetzen/einbauen kann?

Add Comment

E-Mail addresses will not be displayed and will only be used for E-Mail notifications.
This blog allows you to add audio comments using audioboo.fm. Create a new boo and enter the link to the page into the boo field.
record
If you enter your twitter name, your timeline will get linked to your comment.
Promote one of your recent articles
This blog allows you to announce one of your recent blog articles with your comment. Please enter your the corresponding URL as homepage and a selection box will pop up letting you choose an article. (Javascript needed)
(Requirements: 1 comments written)
Standard emoticons like :-) and ;-) are converted to images.
tweetbackcheck