Wer in der letzten Woche mitgelesen hat wird meine Spambotprobleme bemerkt haben. Zur Erinnerung:

Ich bin möchte euch nun eine absolut geile Lösung vorstellen: NoSpamNX!

Das Plugin für WordPress installiert sich so simpel wie jedes andere auch, einfach herunterladen, in das Pluginverzeichnis schieben und dann aktivieren.

Die Funktionen sind überschaubar, reichen aber aus. Man kann die Spambots entweder komplett sperren, ihre Kommentare als Spam markieren und sie auch für einen bestimmten Zeitraum sperren.
nospamnx-funktionen

Das Ganze funktioniert wunderbar, ich habe das Plugin gestern Mittag aktiviert und seitdemnicht einen Spamkommentar bekommen. Und die Funktion bestätigt sich auch an den Zahlen.
nospamnx-statistik

Ihr könnt zusätzlich noch einige Ausnahmen hinzufügen aber das kommt seltener vor.

Eine Empfehlung für Jedermann. Und damit ihr euch die Mühe erspart, hier der direkte Download:

Download section
nospamnx.1.7 [.zip]

Der Plugin-Tipp kommt übrigends von Caschy, thx.

Irgendwie ist es überall und immer die selbe Frage aber ich bin bis jetzt noch nicht wirklich fündig geworden.

Google Analytics – hatte ich früher mal getestet; war aber aus irgendwelchen Gründen nicht zufrieden. Habe früher (vor 1, 2 Jahren) auch gelesen, Analytics sei rechtliche Grauzone (wegen IP Logging und so), ist das mittlerweile anders?
Ich hab Analytics gerade für meinen Blog eingerichtet und schau mir das die nächsten Tage nochmal an.

Woopra – ist wie ich finde ein schöner Dienst. Die dazugehörige Java-Desktop Anwendung sowieso ein Knaller. Die wichtigsten Daten auf einen Blick, gute Live Statistik, Chatfunktion (naja, wers braucht), schöne Aufmachung. Der Ruf schwächelt jedoch, hab ich das Gefühl. Zudem ist das Einbinden von Woopra mangelhaft, sehr viele .js Scripts werden dafür generiert und ich habe die Vermutung, dass Woopra nicht sehr performant ist. Weiß jemand mehr dazu?

eTracker – wie ich schonmal in einem Post erwähnt habe ist eTracker in der kostenlosen Variante nicht schlecht, allerdings auch nicht ausreichend, wenn man sich die Konkurrenten (überwiegend kostenlos) mal ansieht. Teste ich gerade aber werde ich wahrscheinlich wieder absetzen.

StatCounter – habe ich von gelesen, soll brauchbar sein. Allerdings nur 100 Referrer, keine PI Anzeige und solche Sachen, das trübt das Bild leider sehr. Andere Meinungen?

AWStats – nutze ich bei einem anderen Webprojekt, sieht gut aus. Die Installation war mir bisher aber zu kompliziert und ich hab mich da noch nicht rangemacht. Wäre das eine Alternative?

SiteMeter – habe ich hier und dort auch gesehen aber mich noch nicht mit befasst. Brauchbar?

BBClone – habe ich bis vor kurzen verwendet aber es loggt viel zu viele Bots und andere Nicht-Besucher. Selbst wenn man das loggen dieser Nicht-Besucher in den Einstellungen deaktiviert bessert sich die Situation nicht spürbar.

Webalizer – ist sogar noch schlimmer als BBClone und loggt mindestens das Doppelte von diesem. In den letzten Monaten hatte ich beide Dienst bei meinem Blog und die Zahlen waren nicht realistisch.

Eure Meinung würde mich brennend interessieren. Welchen Service nutzt ihr? Nutzt ihr mehrere, 2 zum Vergleichen oder so?

Nun ist es endlich geschafft.
Alle Daten sind zum neuen Webhoster All-Inkl gewandert. Es gibt noch einige Fragen, kleine Problemchen aber im großen und Ganzen kann der Spaß nun weitergehen. 🙂
Ich hoffe die Performance ist jetzt lückenlos zufriedenstellend, vielleicht könnt ihr das ja mal etwas im Auge behalten und Rückmeldung geben.

Gestern habe ich in einem Beitrag die grundlegende Botabwehr via .htaccess beschrieben.
Einige Quellen behelfen sich auch noch anders, ich habe einige Kleinigkeiten übernommen und stelle sie jetzt mal vor.

1. Sichern der wp-config.php
Es gibt sicher hunderte Tipps, WordPress mit der .htaccess zu sicher. Ich finde das alles recht übertrieben aber ein Tipp ist schnell gemacht und hebt die Sicherheit ein wenig an:


Order deny,allow
deny from all

Hiermit wird die wp-config.php vor Zugriffen geschützt. Möglich, dass es mir irgendwann mal den Blog rettet, weiß nicht. 🙂

2. Fehlerdokument bei 403 – Forbidden
Mein Botabwehr-Post zeigt, wie man sich die schlimmsten Bots durch IP-Sperrungen vom Hals halten kann. Sollte durch diese über 80 IP-Adressen/Ranges mal ein unschuldiger Besucher geblockt werden, kann man ihn wenigstens darauf aufmerksam machen, warum.


order allow,deny
allow from all

ErrorDocument 403 /403.php

Zuästzlich erstellt ihr eine 403.php, in der ihr bisschen was textet. Möglich wäre etwas wie „Du wurdest aufgrunf von Sicherheitseinstellungen geblockt. Wenn du glaubst, dies sein ein Missverständnis, dann schreibe an [email-adresse]“. Das ganze noch auf Englisch und fertig.

3. Spamboterkennung durch UserAgent String
Viele Spambots kommen – warum auch immer – mit eigenen UserAgents. Diese hat mal jemand zusammengetragen (also so die bekanntesten) und nun kann man sich damit einige Plagegeister vom Blog fernhalten:

SetEnvIfNoCase User-Agent "^Anarchie" bad_bot
SetEnvIfNoCase User-Agent "^ASPSeek" bad_bot
SetEnvIfNoCase User-Agent "^attach" bad_bot
SetEnvIfNoCase User-Agent "^autoemailspider" bad_bot
SetEnvIfNoCase User-Agent "^Xaldon\ WebSpider" bad_bot
SetEnvIfNoCase User-Agent "^Xenu" bad_bot
SetEnvIfNoCase User-Agent "^Zeus.*Webster" bad_bot
SetEnvIfNoCase User-Agent "^Zeus" bad_bot
SetEnvIfNoCase User-Agent "^CherryPicker" bad_bot
SetEnvIfNoCase User-Agent "^Extreme\ Picture\ Finder" bad_bot
SetEnvIfNoCase User-Agent "^HTTrack" bad_bot
SetEnvIfNoCase User-Agent "^JoBo" bad_bot
SetEnvIfNoCase User-Agent "^JOC\ Web\ Spider" bad_bot
SetEnvIfNoCase User-Agent "^MSIECrawler" bad_bot
SetEnvIfNoCase User-Agent "^ninja" bad_bot
SetEnvIfNoCase User-Agent "^Offline\ Explorer" bad_bot
SetEnvIfNoCase User-Agent "^SiteCopy" bad_bot
SetEnvIfNoCase User-Agent "^SiteSnagger" bad_bot
SetEnvIfNoCase User-Agent "^SiteSucker" bad_bot
SetEnvIfNoCase User-Agent "^teleport" bad_bot
SetEnvIfNoCase User-Agent "^WebBandit" bad_bot
SetEnvIfNoCase User-Agent "^WebCopier" bad_bot
SetEnvIfNoCase User-Agent "^Webdup" bad_bot
SetEnvIfNoCase User-Agent "^WebReaper" bad_bot
SetEnvIfNoCase User-Agent "^WebSnake" bad_bot
SetEnvIfNoCase User-Agent "^WebStripper" bad_bot
SetEnvIfNoCase User-Agent "^WebMiner" bad_bot
SetEnvIfNoCase User-Agent "^x-Tractor" bad_bot
SetEnvIfNoCase User-Agent "^WebZIP" bad_bot
SetEnvIfNoCase User-Agent "^Xaldon\ WebSpider" bad_bot
SetEnvIfNoCase User-Agent "^mister\ pix" bad_bot
SetEnvIfNoCase User-Agent "^PICgrabber" bad_bot
SetEnvIfNoCase User-Agent "^psbot" bad_bot
SetEnvIfNoCase User-Agent "^Mozilla/2.0\ \(compatible;\ NEWT\ ActiveX;\ Win32\)" bad_bot
SetEnvIfNoCase User-Agent "^WebCollector" bad_bot
SetEnvIfNoCase User-Agent "^WebPix" bad_bot
SetEnvIfNoCase User-Agent "^EmailCollector" bad_bot
SetEnvIfNoCase User-Agent "^EmailMagnet" bad_bot
SetEnvIfNoCase User-Agent "^EmailReaper" bad_bot
SetEnvIfNoCase User-Agent "^EmailWolf" bad_bot
SetEnvIfNoCase User-Agent "^ExtractorPro" bad_bot
SetEnvIfNoCase User-Agent "^NICErsPRO" bad_bot
SetEnvIfNoCase User-Agent "^EmailSiphon" bad_bot
SetEnvIfNoCase User-Agent "^WebEMailExtractor" bad_bot
SetEnvIfNoCase Remote_Addr "^63\.148\.99\.2(2[4-9]|[3-4][0-9]|5[0-5])$" bad_bot
SetEnvIfNoCase User-Agent "^NPBot" bad_bot
SetEnvIfNoCase Remote_Addr "^12\.148\.196\.(12[8-9]|1[3-9][0-9]|2[0-4][0-9]|25[0-5])$" bad_bot
SetEnvIfNoCase Remote_Addr "^12\.148\.209\.(19[2-9]|2[0-4][0-9]|25[0-5])$" bad_bot
SetEnvIfNoCase User-Agent "^TurnitinBot" bad_bot
SetEnvIfNoCase Remote_Addr "^64\.140\.49\.6([6-9])$" bad_bot
SetEnvIfNoCase User-Agent "^ClariaBot" bad_bot
SetEnvIfNoCase User-Agent "^Diamond" bad_bot
SetEnvIfNoCase User-Agent "^.*Indy\ Library.*$" bad_bot
SetEnvIfNoCase User-Agent "^.*larbin2\.6\.3\@unspecified.*$" bad_bot
SetEnvIfNoCase User-Agent "^PycURL" bad_bot


order allow,deny
allow from all
deny from env=bad_bot

Simpel, oder? Beim Anpeilen des Blogs wird der UserAgent des Besuchers gescannt, enthält er bestimmte Merkmale/Namen dann kommt er in die Gruppe „bad_bot“. Diese wird mit .htaccess-Limit geblockt. Eine brauchbare Ergänzung zu den IP-Adressen.

Ich hoffe, ihr konntet etwas Wissenswertes für euch abzwacken, nutzt den Code wie ihr wollt.
Findet ihr die Sicherheitsvorkehrungen zu krass? Meint ihr sie wirken überhaupt oder Spambots sind dafür zu clever?

Die letzten Tage haben mich darauf hingewiesen, dass Spam auch sehr aggressiv sein kann. Man sollte sich also absichern, wenn man z.B. einen Blog betreibt.
Eine gute Methode ist das Anpassen der .htaccess Datei.
Eine .htaccess Datei wird meistens auf Apache Server eingesetzt. Es ist eine Art Konfigurationsdatei für Webserverinhalte. Damit lassen sich Zugriffsrechte einstellen, Zugriffsquellen einschränken, Optionen tätigen und einiges mehr. An sich ein komplexes Thema aber mir geht es jetzt erstmal nur um folgendes:

Botabwehr mittels IP-Adressen-Sperrung

Man sollte wissen, dass Comment Spam durch Bots entsteht. Diese automatisierten Scripte scannen das Internet nach Angriffszielen wie Blogs. Dort füllen sie ganz automatisch die Kommentarformulare aus und hinterlassen damit Links, vorrangig dubioser Natur. Wenn man also diese Bots komplett sperren könnte, wäre man spamfrei. Das funktioniert natürlich nicht. Zu erklären, warum, würde hier den Rahmen sprengen.

Wie halten uns also mittels der .htaccess einige Bots vom Leibe. Dazu kann man Zugriffe von bestimmten Quellen sperren, wie z.B. IP-Adressen bzw. Adressbereiche.
Allgemeiner Aufbau dazu ist folgender:

Order allow, deny
Allow from 127.0.0.1
Deny from All

Welche IP-Adressen sollten wir sperren? Wenn man hier übertreibt, kann man schnell Unschuldige blocken.
Bei der Frage habe ich mir helfen lassen. Auf projecthoneypot.org findet ihr „böse“ IP-Adressen.
Ich habe dort die Bereiche Total Comment Spams, Total Crawler und Total Harvester Spam Yield angesehen und jeweils die Top25 dubiosen IP-Adressen herausgefilter.
Dann ab damit in die .htaccess:

Order allow,deny
allow from all
### Türkische Adressen
deny from 81.212.0.0/14
deny from 85.96.0.0/12
deny from 88.224.0.0/11
deny from 212.156.0.0/16
deny from 212.174.0.0/15
deny from 195.174.0.0/15
### Top25 Blogkommentar-Spammers von projecthoneypot.org
deny from 62.90.102.146
deny from 213.163.65.177
deny from 213.163.65.163
deny from 62.90.102.148
deny from 94.102.60.45
deny from 93.174.93.221
deny from 200.63.42.77
deny from 93.174.93.220
deny from 83.233.30.77
deny from 93.189.56.218
deny from 89.248.172.26
deny from 212.150.184.150
deny from 194.165.42.151
deny from 194.165.42.153
deny from 194.165.42.155
deny from 94.102.60.43
deny from 194.165.42.157
deny from 94.102.60.77
deny from 89.248.162.197
deny from 193.53.87.77
deny from 85.12.25.118
deny from 200.63.42.109
deny from 200.63.42.113
deny from 80.67.6.226
deny from 200.63.42.111
### Top25 Crawler von honeypotproject.org
deny from 84.244.189.99
deny from 62.90.102.146
deny from 213.163.65.177
deny from 213.163.65.163
deny from 62.90.102.148
deny from 94.102.60.45
deny from 200.63.42.77
deny from 83.233.30.77
deny from 93.174.93.221
deny from 93.174.93.220
deny from 93.189.56.218
deny from 89.248.172.26
deny from 92.48.203.116
deny from 78.46.88.202
deny from 212.150.184.150
deny from 66.232.118.177
deny from 94.102.49.85
deny from 194.165.42.151
deny from 89.248.162.197
deny from 194.165.42.153
deny from 66.114.197.254 
deny from 194.165.42.155
deny from 94.102.60.43
deny from 94.102.60.77
deny from 74.50.117.96
### Top25 Harvester von honeypotproject.org
deny from 200.226.134.53
deny from 64.27.5.162
deny from 64.233.166.136
deny from 195.229.242.154
deny from 64.233.178.136
deny from 66.249.90.136
deny from 203.144.144.164
deny from 72.14.220.136
deny from 165.228.133.11
deny from 62.163.80.205
deny from 200.65.127.161
deny from 208.223.208.181
deny from 165.228.130.12
deny from 209.85.138.136
deny from 72.14.252.136
deny from 216.239.50.136
deny from 165.228.131.12
deny from 62.163.37.157
deny from 195.175.37.71
deny from 64.34.255.239
deny from 219.93.178.162
deny from 89.122.16.96
deny from 64.27.29.45
deny from 62.163.70.194
deny from 89.122.213.193
### Top25 Harvester Spam Yield
deny from 74.86.209.74
deny from 74.53.249.34
deny from 216.40.222.98
deny from 216.40.220.18
deny from 216.40.220.34
deny from 75.125.52.146
deny from 216.40.222.50
deny from 75.125.47.162
deny from 208.101.44.3
deny from 70.85.113.242
deny from 216.40.222.82
deny from 67.19.250.26
deny from 74.86.249.98
deny from 208.66.195.5
deny from 208.66.195.4
deny from 74.86.14.10
deny from 208.53.147.89
deny from 208.66.195.9
deny from 208.66.195.11
deny from 208.66.195.6
deny from 208.66.195.7
deny from 208.66.195.2
deny from 208.66.195.10
deny from 67.19.114.226
deny from 208.66.195.8

Die türkischen Adressen am Anfang stammen von Caschy, danke dafür.
Damit hält man sich zumindest die 80 schlimmsten Bösewichtsherkünfte vom Hals.
Ob das jetzt viel bringt, bin ich mir nicht so sicher. Habe leider auch noch keine Möglichkeit gefunden, wie man nur die Bots/Crawler etc einer Domain erfassen und zählen kann. So könnte man vielleicht einen Rückgang der Bösewichte erkennen. Wenn ich so eine Möglichkeit gefunden habe, werde ich das natürlich ausführlich testen.

Soweit, vielleicht kommt ja in Zukunft noch mehr davon.

Ich habe soeben von All-Inkl die Information bekommen, dass die Domains hannes-schurig.de und informationen-mal-anders.de übernommen wurden. Jetzt werden nur noch Nameserver von ISPs in irgendeiner Art und Weise eingetragen/angepasst und dann kann der Umzug endlich stattfinden.
Ich habe bereits einen Testumzug von WordPress durchgeführt; erfolgreich.
Also ich hoffe, dass das alles ohne viel Downtime über die Bühne geht.

Supportmail-Ausschnitt:

Beachten Sie außerdem bitte: Es kann jetzt noch einmal bis zu 48 Stunden dauern bis Ihre Domain komplett über uns erreichbar ist. Dies liegt daran, dass die Internetzugangsprovider wie T-Online, AOL, Arcor, Freenet, etc. ihre eigenen Nameserver aktualisieren müssen und erst nach diesem Zeitraum wissen, dass die Domain bei uns liegt.

Die Spamwelle verebbt, so langsam kehrt wieder Normalität ein im Bloggeralltag. Als Fazit kann ich einige gute Punkte aufzählen. Es gab Verbesserungen in der Botabwehr, dazu schreibe ich heute noch. Zudem war mein Spamartikel letztens gut kommentiert und ich lernte wieder 1, 2 andere interessante Blogs kennen.

Ich sehe das ja so; je mehr Spambots meinen Blog erreichen, desto bekannter müsste er ja im Internet sein, oder? Natürlich crawlen sie durch das ganze Netz aber je mehr Backlinks auf mich führen desto schneller und zahlreicher werde ich doch sicher besucht.
Daher werte ich die Spamwelle der letzten 2 Tage durchaus als gutes Zeichen 😀 Denn ich muss schon sagen; so eine arme Sau wie mich gibts sicher selten:
akismet-3000-spam-per-dayNa wenn das nicht mal eine wunderbar hohe Zahl ist! Da scheint es tatsächlich jemand auf mich abgesehen zu haben. Oder es fanden tatsächlich alle Spambots auf einmal irgendwie meinen Blog. Noch viel aufregender ist der Fakt, dass kein einziger der exakt 4770 Spams von gestern und Heute durchgekommen ist! Akismet hat also wieder ganze Arbeit geleistet. Man muss zwar erwähnen, dass bei 1000 angezeigten Spams in der Statistik nicht tatsächlich 1000 Spams auch im Blog eingetragen und im Spam/Moderationsbereich landen. Aber ich hatte die letzten 2 Tage wahrscheinlich so um die 800 Spamkommentare, die ich nach einem verirrten, richtigen Kommentar durchsucht und dann gelöscht habe.
All das freut natürlich auch Akismet denn selten bekommt man die Chance seine Zuverlässigkeitsrate so explodierend nach oben korrigieren zu dürfen:
akismet-accuracy-99-percent 99,95%… Holla die Waldfee!! Na dann auf jeden Fall Herzlichsten Glückwunsch und vielen Dank, lieber Helfer. Ich empfehle dich gern weiter.

Eins meiner Statistiktools hat diesen Bottraffic natürlich mitbekommen, das Bild ist fast schon bizarr.
hannes-schurig-blog-monatsstatistikFast eine ver-4-fachung meines Traffics hätte ich mir nie erträumt. Spambots können also auch noch Träume wahr werden lassen, welch wunderbares Omen.
Natürlich verzeichnen andere Statistiktools keinen Anstieg. Obwohl in den letzten Tagen ein leichter Trafficanstieg statt fand, das freut mich natürlich sehr.
Vor allem vor dem Hintergrund der ganzen Serverprobleme, Serverumzug und so. Das stresst mich natürlich auch sehr und ich möchte das auch möglichst schnell über die Bühne kriegen.

Also, Kopf hoch und weiter gehts.