Fight against SPAM reloaded

Wie Ihr wisst, werden wir nicht müde, gegen den SPAM zu kämpfen — auch wenn das oftmals ein Kampf gegen die Windmühlen ist. Doch mit unseren Maßnahmen sind wir ganz vorne dabei, so dass wir keinen Kommentar-SPAM mehr bekommen und nur noch ab und zu Trackback– oder Pingback-SPAM. Anders sieht es da z. B. mit Referer-SPAM aus, aber schauen wir es uns im Einzelnen an:

Ihr wisst, dass wir einige Optionen so eingestellt haben, dass von vornerein SPAM schwer durch die Moderation zu bekommen ist — naja, eigentlich gar nicht. In den Einstellungen ist aktivert, dass der Kommentierer bereits einen zugelassenen Kommentar hinterlassen haben muss, bevor der nächste Kommentar ohne Prüfung durchgelassen wird. Das hat dann selbstverständlich zur Folge, dass jeder erste Kommentar moderiert wird — hier wird gnadenlos der SPAM, natürlich auch Beleidigungen von Leuten, die nur einmal auftauchen, als SPAM markiert. Auch ist aktiviert, dass, wenn eine Kommentar eine URL enthält, ebenfalls moderiert wird.

Dazu gibt es eine Liste mit Schlüsselwörtern — sollte eines der Wörter in einem Kommentar verwendet werden, wird ebenfalls moderiert, Viagra & Co. lassen grüßen, aber ebenso Domains, die z. B. rechtlich bedenklich sind. Mit diesen Maßnahmen und unserer Checkbox Spamschutz haben wir damit den Kommentar-SPAM fast auf Null gefahren, sehr feine Sache das.

Durch unsere Maßnahmen, siehe oben, ist der Kommentar-SPAM nicht wirklich das Problem. Das Problem ist der Trackback– und Referer-SPAM. Zum Trackback-SPAM: Jeder kennt ihn mittlerweile, unser Dialer-Freund, der zig Tausende Trackbacks in die Welt hinausschickt — der ist hier nicht wirklich das Problem: Ein ganz simpler Eintrag in der .htaccess auf dem Server und hier ist seit Wochen nicht ein Trackback von ihm angekommen:

deny from 213.203.193.143
deny from 213.203.193.163
deny from 213.131.229.234

Weitere IPs von ihm werden schnell eingetragen. Als weitere Maßnahme gegen die automatisierten Trackback-Bots, so will ich sie mal nennen, haben wir die wp-trackback.php im WordPress-Root-Verzeichnis umbenannt. Natürlich muss da noch in weiteren Dateien diese Änderung angepasst werden, um genau zu sein: In 2 Dateien im wp-includes–Verzeichnis.

Öffne die comment-functions.php und suche nach (Zeile 499):

$tb_url = get_settings(‘siteurl’) . ‘/wp-trackback.php?p=’ . $id;

Die URL muss dort ebenso angepasst werden, wie an zwei Stellen in der template-loader.php. Suche zweimal nach (Zeilen 8 & 62):

include(ABSPATH . ‘/wp-trackback.php’);

Dort jeweils den neuen Dateinamen eintragen.

Ein weitere, Möglichkeit, das direkte Ansteuern der wp-trackback.php zu verhindern, ist ebenso die .htaccess-Datei:

RewriteEngine On
RewriteRule ^wp-trackback\.php.*$ — [F,L]

Dieser Eintrag verhindert, dass Bots die Datei automatisch ansteuern können, normale Track– oder Pingbacks anderer Blogs haben keine Probleme, die Informationen werden weiterhin durchgelassen.

Natürlich gibt es auch Bots die der Trackback-URL im Artikel direkt folgen — dagegen ist wenig Kraut gewachsen, aber einige effiziente Mittel hat man doch zur Verfügung. Zum einen kann man, wenn solcher SPAM auftritt, die enstsprechenden IPs (IP-Ranges) per .htaccess sperren, das sieht dann wie folgt aus:

Order Deny,Allow

deny from 66.249.16.207

deny from 60.217.227.
deny from 201.36.208.250
deny from 200.117.208
deny from 195.225.172.

Die erste IP ist die der Datenkrake AboutUs.org, die 2 folgenden IPs und IP-Ranges sind die von Trackback-Spammern. Hier kann man praktisch nur sammeln, und die Liste kann anwachsen. Wenn es immer mehr wird, hilft evtl. bald nur nur die Lösung Spider-Trap — ein Punkt, der bei uns auf der To-Do steht, aber nicht nicht im Einsatz ist. Dafür sind für diesen Trackback– und Pingback-SPAM aber 2 Plugins im Einsatz, die uns das Arbeiten sehr vereinfachen: Moderate Trackbacks / Moderate Pingbacks. Diese Plugins haben zwar zur Folge, dass jeder Track-, bzw. Pingback moderiert wird, ist aber nicht zu ändern, da kein SPAM-Tool wie z. B. SPAM-Karma im Einsatz ist, es würde sonst zu viel SPAM direkt in den Kommentaren landen.

Mit der Zeit werden natürlich besonders ältere Artikel von SPAM-Bots gefunden. Folgen diese dann der Trackback-URL und pingen nicht direkt die nicht mehr vorhandene wp-trackback.php an, muss entweder Oli oder ich diesen Mist löschen. Wenn es immer mehr wird, kann es zusehens nerven. Dazu gibt es, wie oben beschrieben, die Möglichkeit, IPs (IP-Ranges) per .htaccess zu sperren. Es gibt da aber auch eine weitere, eher unangehme Möglichkeit, diesem zu entgegnen: Da es sehr oft die gleichen Artikel trifft, schaltet man die Bots für den jeweiligen Artikel mit einem einfachen Trick aus: Ändern der Titelform eines Artikels — das ist natürlich nur möglich, wenn eine Permalinkstruktur aktiviert ist, die die Artikelüberschrift in der URL des Artikels beinhaltet. Beispiel: Unseren Link Unter der Motorhaube im Footer habe ich heute das dritte Mal geändert. Das hat natürlich den extremen Nachteil, dass evtl. vorhandene Links auf anderen Seiten, die zu uns verweisen, nicht mehr passen. Das ist ein Punkt, der uns nicht gefällt, den ich aber in manchen extremen Fällen dann doch gerne in Kauf nehme. Eine kleine Hausnummer zum Trackback– und Pingback-SPAM: Ich habe heute nochmal IPs gesperrt, Titelformen geändert, die zwei Tage zuvor sind jeweils 3 SPAM-Kommentare noch durchgekommen. In den nächsten Tagen dürfte erstmal kpl. Ruhe sein.

Kommen wir zum letzten Punkt: Referer-SPAM. Gerade bei Projekten, die ihre Statistiken, insbesondere Referers veröffentlichen, eine gute Möglichkeit Links kostenlos zu setzen. Kommen wir zu unserem Freund, der oben schon wegen dem Trackback-SPAM ausgesperrt wurde. Besucher, die über seine Seite zu uns stoßen wollen, bekommen die 403 zu sehen. Dies geschieht wie folgt:

RewriteCond %{HTTP_REFERER} ^.*blog-vom-spammer.de.*$ [NC]
RewriteRule ^.* — [F]

RewriteCond %{HTTP_REFERER} ^.*vorsicht-geiler-spammer.de.*$ [NC]
RewriteRule ^.* — [F]

Jeder Besucher, der über einen Referer kommt, der obige Zeichenfolgen beinhaltet, blog-vom-spammer.de und vorsicht-geiler-spammer.de wird nun auf die 403 geleitet. Das ist fein, wir haben unsere Ruhe — Leute, die von den Seiten kommen, sind sowieso mit Vorsicht zu geniessen. In den letzten Wochen hat der Referer-SPAM aber an anderer Front extrem zugenommen, Beispiel zur Bekämpfung:

RewriteCond %{HTTP_REFERER} ^.*baccarat.*$ [NC]
RewriteRule ^.* — [F]

RewriteCond %{HTTP_REFERER} ^.*casino.*$ [NC]
RewriteRule ^.* — [F]

RewriteCond %{HTTP_REFERER} ^.*poker.*$ [NC]
RewriteRule ^.* — [F]

RewriteCond %{HTTP_REFERER} ^.*insurance.*$ [NC]
RewriteRule ^.* — [F]

Das ist nun eine *verdammt rabiate* Methode, ich hatte aber einfach die Nase voll. Jeglicher Referer, der, auf obiges Beispiel bezogen, die Begriffe baccara, casino, poker und insurance enthält, wird auf die 403 geleitet. Für uns hier im deutschsprachigen Raum, die so gut wie gar nicht mit solchen Dingen in Berührung kommen, ist es noch vertretbar — amerikanische Blogs z. B. sollten evtl., um nicht Besucher zu vergraulen, eine nicht so rabiate Löscung verwenden, man sollte da vielleicht die kpl. Domains eintragen, wie im ersten Beispiel des Referer-SPAM’s genannt.

Das sind sie auch schon, unsere derzeitigen Einstellungen, gegen den SPAM-Dreck vorzugehen. Man sollte immer noch ein, zwei Möglichkeiten in Hinterhand haben, das haben wir selbstverständlich, so dass wir auf neue Möglichkeiten der Spammer reagieren können. Ich denke da an Spider-Trap und mal keine Checkbox, sondern das händische Eintragen eines Begriffes — auch lässt sich mit der .htaccess noch viel anfangen. Nichtsdestotrotz sollte man immer auf dem Laufenden bleiben — wenn einem erstmal die SPAM-Welle überrollt, kann einem schnell das eigene Blog vermiest werden. Das muss nicht sein. Man hat Möglichkeiten, diese kann man nutzen, dazu benötigt es noch nichtmal überkandidelte Plugins wie SPAM-Karma o. ä. Haut rein, Fragen, Anregungen gerne hier in den Kommentaren.

, , ,

25 Antworten zu “Fight against SPAM reloaded”

  1. Maxx sagt:

    Ich mecker ja eigentlich ungerne über solche Dinge, aber: IP’s ist falsch, es heißt IPs.

    Sorry, aber ich bin militanter Gegner von Deppenapostrophen 😉

    (Müsste man solche Sachen nicht mit einem einfachen RegEx beheben könnnen?)

  2. Chris sagt:

    Ich habs mal geändert, obwohl kein Apostroph benutzt wurde. Des weiteren sind gerade bei solchen Artikeln, an denen man dann doch länger gesessen hat, solche Kommentare immer nett.

    Da überlegt man beim nächsten Mal dann zweimal, ob das noch Sinn macht, wenn nur sowas bei rumkommt. 😉

  3. gnokii sagt:

    Mmh Basic, hatte da gestern glaube ich ein interessantes Plugin, es ermöglicht das kommentieren nach einer gewissen Zeitspanne zu sperren. Was auf der einen Seite vernünftig ist, wenn ich meinen Spam so sehe, so geht der durchweg auf sehr alte Artikel, auf der anderen Seite weiss ich nicht ob das so vernünftig ist, ich kommentier ja manchmal selbst ältere Artikel. Dank Erstmoderation und Linkmoderation (also wie bei euch), sowie dem Plugin Math (wobei bei mir nicht nur bis 10 gerechnet werden muss) hält sich mein Spam in bewältigbaren Grenzen. Logischerweise hab ich auch eine Blacklist, die hat aber in ihrem Leben erst zwei-drei Mal zugeschlagen, ich mag Blacklists nicht so besonders.

  4. Chris sagt:

    Das Plugin ist Blödsinn. Wie oft schreibt man nen Artikel, man bezieht sich auf nen älteren, setzt also zu sich selbst nen Pingback, damit Leute, die auf den älteren Artikel stossen, bescheid wissen. Ausserdem will ich wegen ein paar Spammern keine Kommentare schließen. Bevor es soweit kommt, hab ich noch andere Pfeile im Köcher… 😀

    Und ne Blacklist haben wir *nicht* im Einsatz. Gewisse Begriffe stehen auf einer Moderationsliste — sprich der Kommentar muss moderiert werden. Blacklist wäre automatisches aussieben.

  5. kobalt sagt:

    Das ist ja ein Fulltimejob. Profitieren die Spammer finaziell von ihrem Treiben? Ruhm werden sie ja nicht ernten.

  6. Chris sagt:

    Sie werden davon sehr gut leben, kobalt. Es gibt Blogs in Deutschland, die haben die 6-stelligen Grenze überschritten, was SPAM-Kommentare angeht, still counting.

    Würden wir hier nichts machen, wären es mit Sicherheit auch 50 pro Tag…

  7. Newstube.de sagt:

    Fight against SPAM reloaded…

    Ich habe mal ein paar Tipps veröfffentlicht, wie insbesondere WordPress-Nutzer, effektiv gegen SPAM kämpfen können. Vielleicht ist ja für den einen oder anderen etwas dabei. :)…

  8. Maxx sagt:

    @Chris: Der Artikel war auch sonst intressant 😉

  9. Pepino sagt:

    Wann ist ein TB oder ein Referrer als Spam anzusehen: doch wohl genau dann, wenn in dem verlinkten Artikel/Seite kein Link auf Deine Seite existiert, oder?

    Also gibt es IMHO als einzig richtige Lösung nur den Weg, die TBs und die Referrer dahingehend zu überprüfen, ob ein Link auf Deine Seite vorhanden ist. Mehr muss man nicht tun.

  10. Ben sagt:

    Ja Pepino und genau dafür gibt es auch bereits schon ein WordPress Plugin, Simple Trackback Validation, kannst es ja mal ausprobieren Chris, bei mir ist noch nichts ohne Backlink durchgegangen … :-).
    Man kann auch einstellen ob ein Link auf die Seite oder direkt auf den Artikel vorhanden sein muss.

  11. Oli sagt:

    Wann ist ein TB oder ein Referrer als Spam anzusehen: doch wohl genau dann, wenn in dem verlinkten Artikel/Seite kein Link auf Deine Seite existiert, oder?

    Einspruch euer Ehren, warum soll das keine SPAM sein? Es gibt auch Daten-Sammelblogs die Content abgreifen, einbauen und mit Werbung durchwirken und last not least wieder einen TB bringen.
    Ergo ist auch dort der Link vorhanden und dennoch ist es SPAM. Merke: Spammer haben Fantasie!

  12. Oli sagt:

    Man kann auch einstellen ob ein Link auf die Seite oder direkt auf den Artikel vorhanden sein muss.

    …wie schon erwähnt, hatten wir auch SPAM wo dies der Fall war, das Plugin würde also ins Leere laufen.

  13. Pepino sagt:

    @Ben: dafür werde ich mir sicherlich nicht extra WordPress installieren… das hatte ich in meinem Weblog schon vor zig Jahren eingebaut.

    @Oli: Okay, wenn’s schon so weit ist, dann hilft IMHO am Besten eine Lösung auf Bayes-Basis.

  14. Ben sagt:

    @Pepino, war auch eher an diesem Blog orientiert, welcher über WordPress läuft :-).

  15. Chris sagt:

    Pepino und Ben — Ihr seid da ein wenig naiv, nicht böse sein. Mal zwei Beispiele vorweg. Trackback-Spam, wie sie noch ab und zu mal durchkommt. Ich hab dann folgende Mail im Postkasten:

    Trackback-Spam

    Und ja, die Zeichenfolgen sind authentisch. Auch für Referer-Spam gibt es simple Beispiele, http:// selbst dazu denken:

    best-car-insurance-quotes.urbanwatershed.org

    Solche Dinge hageln die Statistiken dann zu. Zum automatisierten Löschen, Überprüfen per Plugin, wie SpamKarma oder auch den oben angesprochenen Validator: Davon halte ich gar nichts, ich möchte solche Plugins nicht einsetzen. Zum ersten kommt der SPAM dann bis ins Backend durch, und man muss jeden Tag schauen, ob da normale Comments bei sein — und genau da liegt der Punkt:

    Ziel ist es, dass der SPAM gar nicht mehr bis ins Backend kommt, somit auch nicht überprüft werden muss von irgendwelchen Plugins.

    Plugins machen Fehler, jede Menge sogar — und jedes Plugin, besonders die Anti-Spam-Tools verbrauchen sehr viel Leistung. Das ist alles unnötig. Mit oben beschriebenen Wegen kommen bei uns zur Zeit 1–3 Trackback-Spams durch, der Rest bleibt vorher vor der Tür stehen. Die paar Dinger werden dann händisch gelöscht und gut. Damit können wir leben — aber jeden Tag unzählige Kommentare zu überprüfen und dann zu löschen, auch wenn sie ein Plugin abgefangen hat, dort dann im Spam-Ordner liegen, das ist einfach nur super nervig.

  16. Pepino sagt:

    *lach* … naiv bin ich in Fragen von Spam sicherlich nicht. Erst recht nicht, was Spam in meinem Weblog betrifft: seit einer sehr langen Zeit (und ich bin im Netz schon einige Tage unterwegs) hatte ich nicht einen automatisierten Spam-Kommentar in meinem Weblog. Somit musste auch nichts überprüft oder überwacht werden. Und das alles völlig ohne irgendwelche tollen Plugins oder Blacklists.

    Kommentare kann man IMHO nahezu 100% in den Griff bekommen (wie mein Blog sehr gut beweist).
    Referrer-Spam in meinen Apache-Logfiles interessiert mich nicht die Bohne. Und TBs habe ich Mangels Interesse und weil es (für mich) bessere Lösungen gibt abgeschaltet.

    Naiv ist jedoch was völlig anderes!

  17. Chris sagt:

    Und was willst Du jetzt damit sagen? Nichts anderes steht oben. Hast Du das überhaupt alles gelesen und *verstanden*?

    Und TBs habe ich Mangels Interesse und weil es (für mich) bessere Lösungen gibt abgeschaltet.

    Gut, was für Dich eine Lösung ist, ist es bei 99,95% aller anderen Blogs eben keine Lösung, da müssen andere Sachen ausprobiert, getestet, eingesetzt werden.

  18. Pepino sagt:

    *grins* … da wir auf der gleichen Seite im Kampf gegen die Spammer stehen, verstehe ich nicht, weshalb hier so ein «arroganter» Unterton mitschwingt… schon mal daran gedacht, daß es noch andere Leute mit Erfahrung in diesem Bereich geben könnte und diese Leute einem evtl. Helfen oder neue Impulse liefern könnten?

    Naja, will mich ja nicht einmischen… finde den obigen Beitrag gut! Weiter so!

  19. Chris sagt:

    Oki, dann sind wir ja einer Meinung. :)

  20. […] Nachtrag: Es wurde wohl ein neuer WordPress-Exploit veröffentlicht, für die Version 2.0.6. Einfach wie hier beschrieben die wp-trackback.php umbenennen und alles ist gut. […]

  21. […] Es ist wohl ein neuer WordPress-Exploit aufgetaucht, am besten wie auf fixmbr.de beschrieben vorgehen « FreeBSD unter 100 broken Ports   […]

  22. Mit DNS Blacklisten gegen Kommentar-Spammer…

    Jeder Weblog-Betreiber wird auf Dauer mit dem Problem des Kommentar-, Trackback– und Referer-Spam konfrontiert. Man kann allerlei dagegen Unternehmen, wie z.B. entsprechende Plugins wie SpamKarma für WordPress benutzen oder mit der .htaccess vom Apach…

  23. […] Wie wir hier auf F!XMBR den SPAM bekämpfen, haben wir schon zigmal geschrieben, beschrieben und immer wieder aktualisiert, so dass auch andere evtl. den einen oder anderen Tipp vielleicht bei sich auf dem Blog einsetzen können. Grundsätzlich werden z. B. Trackbacks sowie Pingbacks moderiert. Solltet Ihr uns also verlinken, einen Trackback senden, kann es mit der Freischaltung schon mal dauern, je nachdem ob einer von uns online ist, oder halt nicht (dieser Punkt, online oder nicht könnte gleich noch sehr wichtig werden). Mit dieser Vorabmoderation verhindern wir, dass widerlicher Trackback– und Pingback-SPAM auf F!XMBR erscheint, es sei dann, man schaltet ihn intelligenterweise frei und muss von den Nachbarn darauf hingewiesen werden. […]

  24. […] SPAM wird uns wohl ein bloggerlebenlang begleiten. Nachdem wir eigentlich alles im Griff hatten, ist es seit einer Stunde vorbei. Während sonst 3–5 Trackbacks pro Tag gelöscht werden mussten, waren es gerade 25 innerhalb einer knappen Stunde. Das nicht wirklich fein. Nun habe ich auch noch den Permalink der Trackback-URL umbenannt — es heißt also nicht mehr /trackback — das ist ja auch überhaupt nicht auffällig liebe WP-Programmierer — es heißt nun /trackback_fixmbr. Auf in die nächste Runde. […]

  25. F!XMBR sagt:

    Fight against SPAM Revolutions…

    Nach Fight against SPAM 1 & 2, Fight against SPAM reloaded nun also Fight against SPAM Revolutions. So mancher A-Blogger jammert da draußen rum, dass seine SPAM-Tools wie Spam Karma mehrere Tausend SPAM-Kommentare pro Tag auffangen und sie nic…

RSS-Feed abonnieren