Referer-Spam mit dem Apache blocken
Jeder Webmaster wird früher oder später mit einem ihm konfrontiert:
dem Referer-Spam. Der Spammer erzeugt Zugriffe dazu auf eine URL und übergibt dabei als
Referer seine URL. Er hofft, so in öffentlichen Log-Auswertungen von Awstats oder Webalizer
zu erscheinen. Dem Spammer ist es dabei vollkommen egal, ob die Website überhaupt
öffentlich zugängliche Statistiken anbietet.
Die Spammer rüsten auf
In der Anfangszeit des Referer-Spams kamen die Zugriffe oft von einer festen IP-Adresse.
Diese konnte einfach in der Apache-Konfiguration geblockt werden.
Heute kommen die Zugriffe von immer neuen IP-Adressen und auch der User-Agent wechselt oft.
Vermutlich kontrollieren die Spammer ganze Bot-Netze mit Tausenden von Zombies.
Einziges gemeinsames Merkmal der HTTP-GET-Requests sind die beworbenen Produkte.
Spam erkennen und blocken
Über die Deny-Direktive des Apache lassen sich einzelne Zugriffe verbieten. Die Steuerung kann zum Beispiel
über eine IP-Adresse oder eine Environment-Variable erfolgen. Zum Blocken von Referer-Spam nutze
ich die Environment-Variable spammer. Diese wird via SetEnvIfNoCase auf yes gesetzt, wenn
ein Spam-Referer erkannt wurde. In der http.conf sieht das so aus:
order deny,allow
deny from env=spammer
SetEnvIfNoCase Referer viagra spammer=yes
SetEnvIfNoCase Referer phentermine spammer=yes
SetEnvIfNoCase Referer ambien spammer=yes
SetEnvIfNoCase Referer valium spammer=yes
SetEnvIfNoCase Referer adipex spammer=yes
Die Liste der gebannten Referer kann an die persönlichen Anforderungen angepasst werden.
Taucht im Referer einer der Begriffe auf, liefert der Apache einen HTTP-Statuscode 403 (Forbidden) aus.
Im error.log gibt es einen Eintrag "client denied by server configuration".
Die Wirksamkeit der Regeln sollte genau kontrolliert werden. Man möchte ja keine echten Besucher aussperren.
Die Spammer sind allerdings vollkommen resistent gegen die 403er. Auch nach Monaten gibt es weiter Zugriffsversuche.
Vermutlich wertet die von den Bots genutzte Software den HTTP-Statuscode garnicht aus. Aber der eigene Webserver
liefert auf jeden Fall keine Seite aus und die Statistiken sind auch sauber.
Kommentarspammer die einen Referer mitsenden, kommen so garnicht erst bis zum Captcha.
Links zum Artikel
Weiterführende Informationen finden Sie unter folgenden Links:
|