Botabwehr und WordPress Sicherheit mittels .htaccess #2

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?

Schreibe einen Kommentar