Netzwerkanalyse, Fehlersuche, Testberichte
Home / News
Netzwerkanalyse
Grundlagen
Verkabelung
Erste Schritte
Baselining
Let's sniff
Tools
Auswerten/Filtern
Typische Probleme 1
Typische Probleme 2
Sicherheit
Bücher
Tutorials
Cacti
DSL einrichten
DynDNS einrichten
m0n0wall | pfSense
Nmap
VirtualBox
Wireshark
FAQ
Know How
Testberichte
Hardware-DB
Netzwerklexikon
Links / Service
Suche
Kontakt
Impressum
Feedback
Sitemap
Tutorials

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:

 

 
© 2004-2023, network lab - we make your net work - Netzwerkforum
aktualisiert am 22.03.2012