Referrer-Spam: Angriffsmuster und Gegenmaßnahmen
Eingehender Datenverkehr – sogenannter Traffic – gehört zu den zentralen Erfolgsindikatoren einer Website. Betreiber nutzen Metriken wie Hits, Visits und Page Impressions, um Besucherströme zu messen und die Performance von Webprojekten zu evaluieren. Dies erfolgt im Rahmen von Logfile-Analysen. Darüber hinaus nutzen Webseitenbetreiber webgestützte Software-Lösungen wie Google Analytics, Piwik oder etracker, um Traffic-Daten zu erfassen und auszuwerten. Treten dabei Unregelmäßigkeiten auf, ist dies u. a. auf Referrer-Spam (auch Referral Spam) zurückzuführen. Wir zeigen Ihnen, wie Sie Spam-Angriffe dieser Art entdecken und verfälschten Statistiken nachhaltig vorbeugen.
Was ist Referrer-Spam?
Bei Referrer-Spam handelt es sich um eine Form des Suchmaschinen-Spammings, bei der Hacker versuchen, die Logdateien und Analyse-Statistiken bestimmter Websites zu manipulieren. Ziel ist es, sogenannten Fake-Traffic zu generieren, um Besucherströme zu simulieren oder Zugriffe auf die eigene Website zu provozieren. Beide Angriffsmuster setzen auf weitgehend unabhängig agierende Computerprogramme – sogenannte Bots (kurz für „Robot“).
Was sind Spam-Bots?
Computerprogramme, die sich wiederholende Aufgaben automatisch ausführen, sind ein zentraler Bestandteil des World Wide Webs, wie wir es heute kennen. Suchmaschinen wie Google oder Bing nutzen Programme dieser Art, um das Web zu durchsuchen und relevante Seiten zu indexieren. Man spricht von Webcrawlern oder Searchbots. Doch auch Hacker nutzen Bots, um ihre Webaktivitäten zu automatisieren. Anders als bei den Crawlern der Suchmaschinenanbieter steht dabei nicht das Nutzerinteresse im Vordergrund. Stattdessen kommen diese Programme bei Spam-Angriffen zum Einsatz, um …
- Klicks auf Werbeanzeigen zu automatisieren (Click Fraud)
- E-Mail-Adressen zu sammeln (E-Mail-Harvesting)
- automatisch generierte Benutzer-Accounts zu erstellen
- Werbung in Form automatisch generierter Kommentare zu verteilen
- Schadsoftware zu verbreiten
Auch Referrer-Spam ist in der Regel botgestützt. Dabei sind zwei Klassen von Spam-Bots zu unterscheiden:
- Programme, die Webseitenbesuche simulieren: Spam-Bots dieser Art imitieren gängige Webbrowser wie Chrome, Firefox oder Safari und senden massenhaft HTTP-Anfragen an ausgewählte Webserver. Diese Programme ähneln den Crawlern der Suchmaschinenbetreiber, die sich mitunter auch als Webbrowser tarnen. Da die Programme bei dieser Art des Spams den Webseitenbesuch eines menschlichen Nutzers simulieren, wird dieses Angriffsmuster Crawling-Spam genannt. Die Auswirkungen von Crawling-Spam werden im Logfile des Servers sichtbar. Man spricht daher auch von Logdatei-Spam.
- Programme, die Traffic-Daten fälschen: Spam-Bots dieser Art imitieren Traffic-Daten anderer Websites und speisen diese unbemerkt in die Server etablierter Webanalyse-Tools ein. Ein solches Angriffsmuster ermöglicht es, Webstatistiken zu manipulieren, ohne dass es zur Interaktion mit der Zielseite kommt. Dieses Angriffsmuster tritt somit nicht im Logfile des Servers, sondern ausschließlich in Berichten der manipulierten Analyse-Software in Erscheinung. Man spricht von Ghost-Spam.
Wir betrachten beide Angriffsmuster im Detail und stellen Ihnen Gegenmaßnahmen vor.
Crawler-Spam
Die meisten Webserver führen eine zentrale Logdatei (das Access-Log), in der alle Zugriffe in chronologischer Reihenfolge mit Zeitstempel protokolliert werden. Folgendes Beispiel zeigt den Access-Log-Eintrag eines Apache-Servers im Combined Log Format:
127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"
Der Eintrag umfasst folgende Informationen:
Information | Beispiel |
---|---|
IP-Adresse des anfordernden Hosts | 127.0.0.1 |
Nutzername aus einer HTTP-Authentifizierung | frank |
Zeitstempel | [10/Oct/2000:13:55:36 -0700] |
HTTP-Anfrage | GET /apache_pb.gif HTTP/1.0 |
HTTP-Statuscode | 200 |
Dateigröße | 2326 |
Referer [sic] | http://www.example.com/start.html |
User-Agent | Mozilla/4.08 [en] (Win98; I ;Nav) |
Hacker machen sich die automatische Protokollierung via Logfile zunutze, um die eigene URL mithilfe massenhafter HTTP-Anfragen in die Serverprotokolle ausgewählter Websites einzuschleusen. Im Vordergrund steht dabei das Referer-Feld [sic] der HTTP-Anfrage. Dieses beinhaltet die URL der verweisenden Webseite.
Aufgrund eines Rechtschreibfehlers in der HTTP-Spezifikation hat sich die Falschschreibung „Referer“ für das entsprechende Feld im HTTP-Header etabliert. In anderen Standards wird die korrekte Schreibweise mit doppeltem r verwendet.
Klickt ein Internetnutzer auf einen Hyperlink, gelangt dieser von der aktuellen Webseite auf die im Verweis angegebene Zielseite. Der Referrer beinhaltet in diesem Fall den URL der Website, auf der sich der Link befindet. Durch eine Logfile-Analyse erfährt der Betreiber der Zielseite somit, welche Seiten im Internet auf sein Projekt verlinken und kann potenzielle Traffic-Quellen identifizieren.
In der Vergangenheit war es vor allem in der Blogger-Szene üblich, die Referrer-Informationen aus der Logdatei in einem Widget auf der eigenen Website zu veröffentlichen und somit die Herkunft von Besucherströmen darzustellen. Eine Platzierung in diesen Listen erfolgte in der Regel in Form eines Links auf die Traffic-Quelle. Hacker nahmen diese Praxis zum Anlass, die Logdateien von Blogs und anderen Websites zu manipulieren, um die eigenen Webprojekte möglichst weit oben in den öffentlichen Linklisten zu positionieren und damit Backlinks und Seitenaufrufe zu generieren.
Noch heute kommen dazu spezielle Spam-Bots zum Einsatz, die Zielseiten massenhaft abfragen und den Servern die URL der Website als Referrer übergeben, deren Sichtbarkeit gestärkt werden soll. Spam-Angriffe dieser Art sind jedoch stark zurückgegangen. Ein Grund dafür ist, dass automatisch generierte Referrer-Listen auf Websites heute kaum noch zu finden sind. Dies hängt u. a. mit wesentlichen Änderungen am Ranking-Algorithmus des Suchmaschinen-Marktführers Google zusammen. Spätestens seit dem Penguin-Update im April 2012 nimmt Google Webspam im Zusammenhang mit Backlinks gezielt unter die Lupe. Webprojekte, die durch eine Überoptimierung auffallen, müssen mit einer Abstrafung – der sogenannten Penalty – rechnen. Dies ist beispielsweise dann der Fall, wenn Websites auffällig viele Backlinks aus irrelevanten Umfeldern, von Linkslisten und -netzwerken, Artikelverzeichnissen oder Blogkommentaren aufweisen.
Logfile-Analysen erfolgen heute nur noch selten manuell. Stattdessen kommen Tools wie Webalizer, AWStats oder Piwik zum Einsatz. Darüber hinaus bieten Webanalyse-Tools wie Google Analytics die Möglichkeit, Traffic-Daten auszuwerten, ohne auf die Logfiles des Servers zurückzugreifen. Weniger anfällig für Crawler- oder Ghost-Spam sind diese dadurch nicht.
Crawler-Spam identifizieren
Im Folgenden zeigen wir Ihnen am Beispiel von Google Analytics, wie Sie Crawler-Spam in Ihrer Website-Statistik erkennen und auffällige Referrer herausfiltern.
1. Google-Analytics-Konto öffnen: Öffnen Sie das Google-Analytics-Konto Ihres Webprojekts.
Alle Screenshots der Google-Analytics-Webansicht stammen aus dem Google-Merchandise-Store, der vom Anbieter als Demo zur Verfügung gestellt wird. Den Link zum Konto finden Sie auf den Google-Analytics-Hilfeseiten. Der Zugriff erfordert einen kostenlosen Google-Account.
2. Referrer-Statistik abrufen: Wählen Sie in der Seitenleiste den Menüpunkt „Akquisition“ und klicken Sie unter „Alle Zugriffe“ auf den Unterpunkt „Verweise“.
3. Betrachtungszeitraum einstellen: Stellen Sie den Beobachtungszeitraum des Berichts auf die letzten drei Monate ein.
4. Referrer-Statistik sortieren/filtern: Unter „Akquisition“ > „Alle Zugriffe“ > „Verweise“ stellt Google Analytics sämtliche Linkquellen eingehender Hyperlinks auf Ihre Website als primäre Dimension in einem zusammenfassenden Bericht dar. Sie erhalten somit eine Liste aller Referrer-URLs, die von Google Analytics im ausgewählten Betrachtungszeitraum aufgezeichnet wurden, sowie die jeweiligen Messwerte, die sich diesen URLs zuordnen lassen.
Für jeden Referrer gibt Google Analytics die Anzahl der Nutzer und Sitzungen aus, die über diesen Verweis generiert wurden. Darüber hinaus lassen sich die durchschnittliche Bounce-Rate (Absprungrate), die Anzahl der betrachteten Seiten pro Sitzung, die durchschnittliche Sitzungsdauer sowie ggf. Conversion-Rates, Transaktionen und generierte Umsätze aus der Statistik ablesen.
Im Rahmen der Spam-Prävention sind vor allem die Anzahl der Seitenaufrufe (Sessions) pro Verweisquelle sowie die durchschnittliche Absprungrate von Bedeutung.
Klicken Sie unter „Verhalten“ auf das Feld „Absprungrate“, um die Ansicht nach den Kennzahlen in dieser Spalte in absteigender Reihenfolge zu sortieren.
Bei der Bounce-Rate handelt es sich um eine Prozentangabe, die Ihnen anzeigt, wie viele der Seitenaufrufe über die jeweilige Quelle ohne Interaktion mit Ihrer Website erfolgten. Eine Bounce-Rate von 100 oder 0 Prozent bei mehr als 10 Sitzungen, die über dieselbe Verweisquelle erfolgen, ist ein klares Indiz für automatische Abfragen.
Alternativ können Sie die Ansicht mithilfe eines regulären Ausdrucks („Regular Expression“, RegEx) nach bekannten Spam-Referrern filtern. Zu diesen zählen beispielsweise folgende Websites:
- semalt.com
- darodar.com
- hulfingtonpost.com
- buttons-for-website.com
- best-seo-solution.com
- free-share-buttons.com
Eine umfangreiche Referrer-Spam-Blacklist wird von der niederländischen Digitalagentur Stijlbreuk unter referrerspamblocker.com zur Verfügung gestellt.
Ein entsprechendes Filtermuster könnte beispielsweise folgendermaßen aussehen:
semalt|darodar|hulfingtonpost|buttons-for-website|best-seo-solution
Die Pipe (|) entspricht einem logischen oder. Metazeichen wie Punkte (.) müssen mit einem vorangestellten Backslash (\) maskiert werden.
Um den Filter anzuwenden, klicken Sie in der Menüleiste über der Datentabelle auf „Erweitert“.
Eine Filtermaske wird eingeblendet.
Erstellen Sie einen einschließenden Filter für die Dimension „Quelle“ und wählen Sie die Filteroption „Entsprechende RegEx“. Fügen Sie einen beliebigen regulären Ausdruck als Filtermuster ein. Bestätigen Sie den Filtervorgang mit einem Klick auf „Anwenden“.
5. Auffällige Referrer notieren: Legen Sie sich eine Referrer-Spam-Blacklist an, in die Sie alle auffälligen Quell-URLs aufnehmen. Diese Liste dient später als Grundlage für einen Ausschlussfilter.
Crawler-Spam via .htaccess blockieren
Crawler-Spam setzt den Besuch Ihrer Website voraus. Zuverlässige Gegenmaßnahmen lassen sich daher bereits serverseitig einleiten. Wie Sie dabei vorgehen, zeigen wir Ihnen am Beispiel der Konfigurationsdatei .htaccess des weltweit meistgenutzten Webservers Apache.
Sollten Sie auffällige URLs in Ihrer Referrer-Statistik bemerken, bieten sich folgende Vorgehensweisen an, Webseitenabrufe durch Spam-Bots zu unterbinden:
- Referrer blockieren
- IP-Adressen blockieren
- User-Agents blockieren
Referrer via .htaccess blockieren
Um ausgewählte Referrer-URLs zu blockieren, öffnen Sie die .htaccess-Datei Ihres Webservers und fügen einen Codeabschnitt nach folgendem Beispiel hinzu:
RewriteEngine on
RewriteCond %{HTTP_REFERER} ^https?://([^.]+\.)*semalt\.com\ [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?://([^.]+\.)*darodar\.com\ [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?://([^.]+\.)*hulfingtonpost\.com\ [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?://([^.]+\.)*buttons\-for\-website\.com\ [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?://([^.]+\.)*best\-seo\-solution\.com\ [NC,OR]
RewriteCond %{HTTP_REFERER} ^https?://([^.]+\.)*free\-share\-buttons\.com\ [NC]
RewriteRule .* - [F]
Die serverseitige Spam-Abwehr basiert auf der RewriteRule:
.* - [F]
Diese weist den Webserver an, alle eingehenden HTTP-Anfragen mit dem Statuscode 403 Forbidden („verboten“) zu beantworten, sofern eine oder mehrere Bedingungen (RewriteCond) erfüllt sind. Ein Zugriff für Spam-Bots ist damit nicht mehr möglich. Im aktuellen Beispiel wurde jeder Referrer, der blockiert werden soll, in einer separaten RewriteCond als regulärer Ausdruck nach folgendem Beispiel definiert:
RewriteCond %{HTTP_REFERER} ^https?://([^.]+\.)*semalt\.com\ [NC,OR]
Die Bedingung gilt als erfüllt, wenn die Servervariable %{HTTP_REFERER} dem in der RewriteCond definierten regulären Ausdruck entspricht – beispielsweise:
^https?://([^.]+\.)*semalt\.com\
Die einzelnen Bedingungen sind durch das Flag [OR] im Sinne eines logischen oders verbunden. Es muss somit lediglich eine RewriteCond erfüllt sein, damit die RewriteRule zur Anwendung kommt. Das Flag [NC] definiert die vorhergehende Zeichenfolge als not case-sensitive (kein Bedeutungsunterschied bei Groß- bzw. Kleinschreibung).
Alternativ haben Sie die Möglichkeit, in der RewriteCond bestimmte Keywords zu definieren, die, sofern sie im Referrer einer HTTP-Anfrage auftauchen, zu einem Ausschluss führen. Bei folgendem Beispiel werden alle HTTP-Anfragen blockiert, deren Referrer eines der Keywords porn, pill oder poker beinhaltet.
Dabei sollten Keywords mittels RegEx mit Wortgrenzen versehen werden. Nutzen Sie dazu das Metazeichen \b.
RewriteEngine on
RewriteCond %{HTTP_REFERER} \bporn\b [NC,OR]
RewriteCond %{HTTP_REFERER} \bpill\b [NC,OR]
RewriteCond %{HTTP_REFERER} \bpoker\b [NC]
RewriteRule .* - [F]
Der Ausschluss von Keywords ohne Wortgrenzen hätte den Nachteil, dass HTTP-Anfragen auch dann blockiert werden, wenn die in der RewriteCond definierten Buchstabenkombinationen in einem anderen Sinnzusammenhang verwendet werden, so wie es beispielsweise bei HTTP-Anfragen über folgende Websites der Fall wäre:
http: //manu.sporny.org/
www.rittersporn-zuchter.de/
http: //www.fersensporn-online.de/
IP-Adressen via .htaccess blockieren
Sie stellen fest, dass Spam-Angriffe auf Ihre Website immer wieder von derselben Internetadressen ausgehen? In diesem Fall bietet es sich an, die entsprechenden IPs oder ganze Adressbereiche via .htaccess zu sperren.
Möchten Sie lediglich eine einzelne IP-Adresse serverseitig blockieren, fügen Sie einen Codeblock nach folgendem Beispiel in Ihre .htaccess-Datei ein:
RewriteEngine On
Order Deny,Allow
Deny from 203.0.113.100
Allow from all
Alle HTTP-Anfragen, die von der IP-Adresse 203.0.113.100 ausgehen, werden zukünftig automatisch abgewiesen. Ein solcher Codeblock kann beliebig viele IP-Adressen beinhalten. Führen Sie diese wie im folgenden Beispiel untereinander auf:
RewriteEngine On
Order Deny,Allow
Deny from 203.0.113.100
Deny from 192.168.0.23
Allow from all
Soll ein ganzer Adressbereich für Zugriffe auf Ihre Website gesperrt werden, notieren Sie diesen nach folgendem Schema im CIDA-Format (Classless Inter-Domain Routing):
RewriteEngine On
Order Deny,Allow
Deny from 198.51.100.0/24
Allow from all
Alle Anfragen aus dem IP-Adressbereich von 198.51.100.0 bis 198.51.100.255 werden blockiert.
Beachten Sie: Hacker greifen in der Regel auf sogenannte Bot-Netzwerke (Botnets) zurück, um Zielseiten in kürzester Zeit über eine Vielzahl verschiedener IP-Adressen abzufragen. Dadurch ist es in der Praxis schier unmöglich, Spam-Zugriffen via IP-Address-Blocking nachhaltig vorzubeugen.
Bei einem Botnet handelt es sich um ein Netzwerk infizierter Rechner (sogenannter Zombie-PCs), das als Grundlage für Spam-Attacken oder den Versand von Schadsoftware missbraucht wird. Um ein solches Netzwerk zu errichten, schleusen Hacker (sogenannte Botmaster) ihre Schadprogramme über das Internet in unzureichend abgesicherte Rechner ein und nutzen deren Netzwerk-Ressourcen, um Angriffe auf andere Internet-Teilnehmer auszuführen. Bot-Netze werden in der Regel zentral gesteuert und sind der Ausgangspunkt für gewaltige Spam-Wellen und großangelegte DDOS-Attacken.
User Agents via .htaccess blockieren
Eine weitere Möglichkeit, Spam-Angriffen vorzubeugen, besteht darin, bestimmte User-Agents zu sperren, deren Kennung von Spam-Bots verwendet wird, um sich als legitimer Besucher auszugeben.
Erstellen Sie dazu einen Codeabschnitt nach folgendem Beispiel:
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} Baiduspider [NC]
RewriteRule .* – [F,L]
In der Vergangenheit haben Webseitenbetreiber immer wieder Zugriffe von Spam-Bots verzeichnet, die sich als Searchbot der chinesischen Suchmaschine Baidu (Baiduspider) ausgaben. Sollten Sie auf Ihrer Website keinen natürlichen Traffic aus China erwarten, können Sie diesen Crawler getrost aussperren, um Spam-Attacken vorzubeugen.
Google-Analytics-Filter
Die serverseitige Spam-Prävention via .htaccess ist die nachhaltigste Möglichkeit, Crawler-Spam vorzubeugen. Die Anpassung der .htaccess jedoch ist aufwendig und fehleranfällig. Nicht jeder Webseitenbetreiber traut es sich zu, eigene Rewrite-Regeln zu formulieren – aus gutem Grund, denn Fehler können schwerwiegende Auswirkungen auf die Erreichbarkeit einer Website haben. Alternativ kann man automatische Abfragen durch Spam-Bots aus der Statistik des verwendeten Analyseprogramms herausfiltern, um verfälschten Berichten vorzubeugen. Wie Sie dabei vorgehen, zeigen wir Ihnen am Beispiel von Google Analytics.
Google Analytics bietet Ihnen zwei Optionen, Referral-Spam aus der Datenansicht herauszufiltern.
- Googles Referrer-Spam-Blacklist
- Benutzerdefinierte Filter
Folgendes YouTube-Video ist Teil des „Digital Analytics Fundamentals Course“ der Analytics Academy und bietet eine Einführung in die Filterfunktion von Google Analytics:
Googles Referrer-Spam-Blacklist
Deshalb lassen sich alle bekannten Bots und Spider automatisch herausfiltern. Gehen Sie dazu folgendermaßen vor:
1. Einstellungen der Datenansicht öffnen: Öffnen Sie Ihr Google-Analytics-Konto und klicken Sie unten links in der Menüleiste auf „Verwaltung“. Wählen Sie unter Datenansicht den Menüpunkt „Einstellungen der Datenansicht“ aus.
2. Googles Referrer-Spam-Blacklist aktivieren: Scrollen Sie bis zum Abschnitt „Bots herausfiltern“ hinunter und setzen Sie ein Häkchen bei „Alle Treffer von bekannten Bots und Spidern ausschließen“.
Google zeigt Ihnen nun eine bereinigte Version Ihrer Website-Statistik an.
Beachten Sie: Es werden lediglich die Nutzerdaten herausgefiltert, die das Tool bekannten Spam-Bots zuordnen kann. Der Filter bezieht sich somit lediglich auf die Bots und Spider, die in der Referrer-Spam-Blacklist von Google aufgeführt sind.
Benutzerdefinierte Filter
Google Analytics erlaubt es Ihnen zudem, Filter auf Kontoebene oder auf Datenansichtsebene zu definieren. Filter, die auf Kontoebene definiert werden, lassen sich nach Bedarf auf eine oder mehrere Datenansichten anwenden. Wurde ein Filter auf Datenansichtsebene erstellt, gilt dieser nur für die ausgewählte Ansicht.
Testen Sie neu erstellte Filter zunächst, indem Sie diese auf eine Kopie der gewünschten Datenansicht anwenden. Gehen Sie dabei folgendermaßen vor.
1. Kopie der Datenansicht erstellen: Navigieren Sie via „Verwaltung“ > „Datenansicht“ in das Menü „Einstellungen der Datenansicht“ und klicken Sie auf „Datenansicht kopieren“.
Benennen Sie die Kopie wie gewünscht und bestätigen Sie den Vorgang mit einem Klick auf die Schaltfläche „Datenansicht kopieren“.
2. Benutzerdefinierten Filter definieren: Wählen Sie unter „Verwaltung“ > „Datenansicht“ die soeben erstellte Kopie aus und klicken Sie auf den Menüpunkt „Filter“.
Sofern Sie für diese Datenansicht bereits Filter erstellt haben, zeigt Google Analytics Ihnen diese in einer Übersicht an.
Um einen neuen benutzerdefinierten Filter zu definieren, klicken Sie auf die Schaltfläche „+ Neuer Filter“ und wählen Sie „Neuen Filter erstellen“.
Benennen Sie den neuen Filter (z. B. referrer spam blocker).
Wählen Sie unter „Filterinformation“ folgende Optionen aus:
- Filtertyp: „Benutzerdefiniert“
- „Ausschließen“
- Filterfeld: „Kampagnenquelle“
Der Feldname „Kampagnenquelle“ legt bei Google-Analytics-Berichten die Dimension „Quelle“ fest.
Sie haben nun die Möglichkeit, ein Filtermuster in Form eines regulären Ausdrucks zu definieren. Nutzen Sie dazu Ihre zuvor erstellte Referrer-Spam-Blacklist. Ein solches Filtermuster könnte folgendermaßen aussehen:
(?:([^. ]+)\.)?(?:([^.]+)\.)?(semalt|hulfingtonpost|buttons-for-website|best-seo-solution)\.(com|de|net|org|ru)
3. Filter verifizieren: Klicken Sie auf „Filter überprüfen“, um zu testen, wie sich der Filter auf die aktuelle Datenansicht auswirkt.
Die Verifikation funktioniert nur, wenn die ausgewählte Ansicht genügend Daten beinhaltet.
Klicken Sie auf Speichern, um das Filter-Set-up abzuschließen. Der neu erstellte Ausschlussfilter wird Ihnen in der Übersicht angezeigt.
4. Filter auf die Hauptansicht anwenden: Funktioniert Ihr benutzerdefinierter Filter wie gewünscht, wenden Sie diesen auf die Hauptansicht Ihres Google-Analytics-Kontos an.
Datenfilter sind eine gute Möglichkeit, Ihre Analyseberichte von Referrer-Spam zu bereinigen. Beachten Sie jedoch: Durch die Filteroption von Google Analytics wird der durch Bots verursachte Traffic lediglich ausgeblendet. Das eigentliche Problem – die Belastung Ihres Servers durch Spam-Attacken – lösen Sie somit nicht. Eine nachhaltige Spam-Prävention sollte sich daher auf serverseitige Maßnahmen stützen, die automatische Webseitenaufrufe durch Spam-Bots unterbinden.
Referrer-Spam via WordPress-Plug-in blockieren
Als Betreiber einer WordPress-Homepage können Sie Ihre Website via Plug-in gegen Crawler-Spam absichern. Entsprechende Drittanbieter-Software steht Ihnen kostenlos über die WordPress-Seite zur Verfügung. Zu den beliebtesten Referrer-Spam-WordPress-Plug-ins mit regelmäßigen Updates gehören:
Wie Sie WordPress-Plug-ins gegen Referrer-Spam installieren und konfigurieren, zeigen wir Ihnen am Beispiel von Block Referer Spam.
Referrer-Spam-Plug-in installieren
Das Content-Management-System WordPress bietet Ihnen die Möglichkeit, Plug-ins direkt über den Admin-Bereich der Software zu verwalten. Gehen Sie dabei folgendermaßen vor:
1. WordPress-Adminbereich öffnen: Um das Referrer-Spam-Plug-in zu aktivieren, melden Sie sich mit ihren Log-in-Daten im Admin-Bereich Ihrer WordPress-Seite an.
2. Plug-in suchen und installieren: Navigieren Sie zum Menüpunkt „Plugins“ und wählen Sie „Installieren“, um Ihrer WordPress-Seite weitere Plug-ins hinzuzufügen.
Geben Sie „Block Referer Spam“ in die Suchleiste ein und klicken Sie auf „Installieren“, um das Plug-in in Ihre Website zu integrieren.
Das Plug-in wird zunächst deaktiviert in Ihre Plug-in-Liste aufgenommen.
3. Plug-in aktivieren: Starten Sie Block Referer Spam durch einen Klick auf „Aktivieren“.
In der Seitenleiste Ihres WordPress-Administrationsbereichs erscheint der neue Menüpunkt „Referer Spam“.
Referrer-Spam-Plug-in konfigurieren
Im Konfigurationsbereich von Block Referer Spam finden Sie eine Kurzbeschreibung des Plug-ins sowie diverse Optionen zu Updates und Blocking-Funktionen.
1. Konfigurationsbereich öffnen: Klicken Sie auf den Menüpunkt „Referer Spam“, um das Plug-in individuell anzupassen.
2. Update-Plan einrichten: Wählen Sie die von Ihnen bevorzugte Update-Option – automatische oder manuelle Software-Aktualisierung.
Nutzen Sie die automatische Aktualisierung, um sicherzustellen, dass die Blacklist des Plug-in kontinuierlich um bekannte Spam-Adressen erweitert wird und so stets auf dem neuesten Stand bleibt.
3. Block-Modus einrichten: Wählen Sie den von Ihnen bevorzugen Block-Modus. Das Plug-in unterscheidet zwischen einer Rewrite-Blockierung und einer WordPress-Blockierung.
Wählen Sie nach Möglichkeit die Rewrite-Blockierung, um Spam-Zugriffe bereits auf der Webserver-Ebene schnell und effektiv zu unterbinden.
4. Benutzerdefinierte Referrer-Spam-Blacklist einrichten: Um Spam effektiv zu unterbinden, können Sie die Blacklist des Plug-ins manuell erweitern. Tragen Sie dazu auffällige Websites in das dafür vorgesehene Feld unter „Eigene Blockierungen“ ein.
Speichern Sie Ihre Konfiguration mit einem Klick auf „Änderungen übernehmen“.
Die komplette Referrer-Spam-Blacklist des Plug-ins lässt sich über den Menüpunkt „Alle geblockten Seiten“ abrufen.
Ghost-Spam
Anders als Crawler-Spam erfolgt Ghost-Spam gänzlich ohne Interaktion mit der Zielseite. Stattdessen senden Bots gefälschte Traffic-Rohdaten direkt an die Server webbasierter Analyse-Tools. Diese verarbeiten den Fake-Traffic zusammen mit den echten Nutzerdaten und leiten die Informationen in Form von Berichten an Webseitenbetreiber weiter. Da bei diesem Angriffsmuster kein Besuch der Website erfolgt, hat sich die Bezeichnung Ghost-Spam etabliert. Doch was bezwecken Hacker mit solchen Maßnahmen?
Das Ziel von Ghost-Spam-Attacken ist es, die Aufmerksamkeit von Webseitenbetreibern zu erwecken. Dabei setzen Hacker auf die Neugier Ihrer Opfer. Die Idee dahinter: Je öfter die eigene URL in den Analyseberichten anderer Websites auftaucht, desto höher die Chance, dass die Betreiber der attackierten Projekte die Verweisquelle aufrufen, um zu schauen, wer ihnen so viel Traffic beschert. Hinter den Referrer-URLs verbergen sich dann in der Regel Webseiten mit Display-Anzeigen, die auf diese Art monetisiert werden sollen. Im schlimmsten Fall nutzen die Betreiber solcher Websites Referrer-Spam, um die Rechner nichtsahnender Besucher mit Schadsoftware zu infizieren.
Wir zeigen Ihnen am Beispiel von Google Analytics, wie Ghost-Spam funktioniert und was Sie gegen dieses Angriffsmuster unternehmen können.
Wie funktioniert Ghost-Spam?
Beim Angriffsmuster Ghost-Spam machen sich Hacker das Measurement-Protocol von Google Analytics zunutze. Dieses dient der Übertragung von Traffic-Daten zwischen Ihrer Website und dem Webserver des Analyse-Tools.
Alles, was Hacker benötigen, um Daten bei Google Analytics einzuschleusen, sind gültige Tracking-IDs. Um an diese zu gelangen, bieten sich zwei Wege an:
- Hacker nutzen Spam-Bots, um den HTML-Code von Webseiten zu crawlen und darin enthaltene IDs auszulesen.
- Tracking-IDs werden mithilfe eines Generators zufällig erstellt.
Zahlreiche Webseitenbetreiber binden den Tracking-Code von Google Analytics direkt in den HTML-Code ihrer Website ein. Dabei kommt folgendes Code-Snippet zum Einsatz:
<!-- Google Analytics -->
<script>
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
ga('create', 'UA-XXXXX-Y', 'auto');
ga('send', 'pageview');
</script>
<script async src='https://www.google-analytics.com/analytics.js'></script>
<!-- End Google Analytics -->
Damit das Skript Daten an Google Analytics übermitteln kann, muss der Platzhalter UA-XXXXX-Y durch die individuelle Tracking-ID des jeweiligen Nutzers ersetzt werden. Diese ist somit jedem Programm zugänglich, das den HTML-Code einer entsprechend präparierten Website ausliest.
Schließen lässt sich diese Sicherheitslücke mithilfe des Google Tag Managers. Dieser bietet Webseitenbetreibern eine Benutzeroberfläche, über die sich Code-Snippets von Google (sogenannte Tags) zentral verwalten lassen. Statt diverser Tags für verschiedene Google-Dienste wird somit lediglich ein Code-Snippet für den Google Tag Manager in den HTML-Code eingebunden. Der Tracking-Code von Google Analytics inklusive individueller ID bleibt somit vor dem Zugriff Dritter geschützt.
Ghost-Spam kann prinzipiell jeden Google-Analytics-Bericht betreffen. Neben den Referrer-Informationen nutzen Hacker vor allem die Berichte über Top-Events, Keywords, Landingpages oder Spracheinstellungen, um manipulierte Traffic-Daten einzuschleusen.
Als erfolgreichster Akteur auf dem Gebiet des Ghost-Spams gilt der Russe Vitaly Popov. Dem Hacker gelingt es seit 2014 immer wieder, URLs eigener Webseiten in Google-Analytics-Konten einzuschleusen. Ende 2016 foppte der Hacker die Netzgemeinde mit einer vermutlich geheimen Google-Seite. Neben den klassischen Kürzeln wie de, de-de oder en-us fanden tausende Analytics-Nutzer weltweit folgende Botschaft in den Berichten zur Spracheinstellung ihrer Webseitenbesucher:
„Secret.ɢoogle.com You are invited! Enter only with this ticket URL. Copy it. Vote for Trump!“
Doch neugierige Webseitenbetreiber, die der Einladung folgten, landeten nicht bei Google. Denn:
ɢoogle.com ≠ Google.com
Stattdessen erfolgte eine Umleitung auf Popovs Website, deren URL fast den gesamten Text des Pink-Floyd-Hits Money aus dem 1973 erschienenen The Dark Side of the Moon enthält.
money.get.away.get.a.good.job.with.more.pay.and.you.are.okay.money.it.is.a.gas.grab.that.cash.with.both.hands.and.make.a.stash.new.car.caviar.four.star.daydream.think.i.ll.buy.me.a.football.team.money.get.back.i.am.alright.jack.ilovevitaly.com/#.keep.off.my.stack.money.it.is.a.hit.do.not.give.me.that.do.goody.good.bullshit.i.am.in.the.hi.fidelity.first.class.travelling.set.and.i.think.i.need.a.lear.jet.money.it.is.a.secret.%C9%A2oogle.com/#.share.it.fairly.but.dont.take.a.slice.of.my.pie.money.so.they.say.is.the.root.of.all.evil.today.but.if.you.ask.for.a.rise.it’s.no.surprise.that.they.are.giving.none.and.secret.%C9%A2oogle.com
Ziel der URL war eine Website im Stil eines Webkatalogs der frühen 2000er-Jahre mit Links auf diverse Suchmaschinen und Onlineshops. Heute führt die URL ins Leere. Was Popov mit seiner Spam-Attacke genau bezweckte, ist unklar. Möglicherweise ging es dem Hacker nur darum, das Täuschungspotenzial der Typosquatting-URL ɢoogle.com zu testen.
Grundsätzlich gilt: Ghost-Spam ist lästig, stellt jedoch keine Gefahr für Ihre Website dar. Da bei gefälschtem Traffic keine echten Webseitenaufrufe erfolgen, werden weder Ihr Server noch die Logfiles durch automatische Abfragen belastet. Problematisch wird Ghost-Spam jedoch dann, wenn Sie Website-Statistiken via Google Analytics auswerten möchten.
Vermeiden Sie es, obskure Referrer im Webbrowser aufzurufen. Andernfalls besteht die Gefahr, dass Ihr System vom Linkziel mit Schadsoftware infiziert wird.
Ghost-Spam identifizieren
Ghost-Spam basiert in der Regel auf zufällig generierten Tracking-IDs. Dem Spam-Bot ist somit nicht bekannt, welche Website von dem Angriff betroffen ist. Dies äußert sich durch Ungereimtheiten in Ihren Google-Analytics-Daten.
Greift ein legitimer Nutzer über einen Link auf Ihre Website zu, enthält der Header der Anfrage im HTTP-Feld „Host“ zwangsläufig einen Rechnernamen, der Ihrem Netzwerk zugeordnet werden kann.
Bots, die Fake-Traffic senden, kennen diese Rechnernamen hingegen nicht und füllen das Host-Feld mit einem zufällig ausgewählten Platzhalter. Alternativ bleibt das Feld leer und Google-Analytics erfasst den Host als „(not set)“.
Machen Sie sich dieses Schema zunutze, um Ghost-Spam in Ihrem Google-Analytics-Konto zu identifizieren. Es empfiehlt sich folgendes Vorgehen:
1. Netzwerkbericht aufrufen: Rufen Sie via „Zielgruppe“ > „Technologie“ den Bericht „Netzwerk“ auf und wählen Sie „Hostname“ (Rechnername) als „Primäre Dimension“.
2. Beobachtungszeitraum einstellen: Setzen Sie den Beobachtungszeitraum auf die letzten drei Monate.
3. Legitime Rechnernamen identifizieren: In der ersten Spalte des Berichts zeigt Google Analytics Ihnen alle Rechnernamen an, über die Ihre Website adressiert wurde. Hier sollten in erster Linie Namen auftauchen, die den Domains zugeordnet werden können, über die Sie Ihre Website bereitstellen. Darüber hinaus finden Sie hier Google-Domains, die für Übersetzungen und Webcache-Versionen Ihrer Website zuständig sind.
translate.googleusercontent.com
webcache.googleusercontent.com
Finden Sie in Ihrem Netzwerkbericht andere Rechnernamen, die weder Ihren Domains noch den Google-Supportseiten entsprechen, handelt es sich um Ghost-Spam.
4. Regulären Ausdruck erstellen: Notieren Sie sich alle Rechnernamen, für die Sie Traffic-Daten auswerten möchten, in Form eines regulären Ausdrucks. Zum Beispiel:
^(www\.)?(example|googleusercontent)\.com
Diesen benötigen Sie später als Filtermuster. Achten Sie darauf, dass der reguläre Ausdruck alle Rechnernamen einschließt, deren Traffic Sie via Google Analytics analysieren möchten.
Ghost-Spam erkennen Sie daran, dass der in der HTTP-Anfrage angegebene Host nicht mit den Rechnern Ihres Netzwerk übereinstimmt.
Ghost-Spam herausfiltern
Um Ghost-Spam in Ihrem Google-Analytics-Konto auszublenden, brauchen Sie lediglich alle Rechnernamen, die nicht zu Ihrem Netzwerk gehören, herauszufiltern. Nutzen Sie dazu einen einschließenden Datenansichtsfilter.
1. Kopie der Datenansicht auswählen: Navigieren Sie in die Verwaltung Ihres Google-Analytics-Kontos und erstellen Sie eine Kopie Ihrer Datenansicht bzw. wählen Sie die zuvor erstellte Kopie aus.
2. Filter definieren: Wählen Sie den Menüpunkt „Filter“ aus und klicken Sie auf „+ Neuer Filter“ > „Neuen Filter erstellen“.
Geben Sie einen beliebigen Filternamen ein (z. B. hostname blocker).
Treffen Sie unter „Filterinformationen“ folgende Einstellungen:
- Filtertyp: „Benutzerdefiniert“
- „Einschließen“
- Filterfeld: „Hostname“
Fügen Sie unter „Filtermuster“ den zuvor erstellten regulären Ausdruck ein, um lediglich Rechnernamen Ihres Netzwerks in die Datenansicht einzuschließen.
3. Filter verifizieren: Klicken Sie auf „Filter überprüfen“, um zu testen, wie sich der Filter auf die ausgewählte Datenansicht auswirkt. Klicken Sie auf „Speichern“.
4. Filter auf die Hauptansicht anwenden: Funktioniert Ihr Filter wie gewünscht, übertragen Sie diesen auf die Hauptansicht Ihrer Daten.
Alle via Ghost-Spam übermittelten Nutzerdaten sollten nun ausgeblendet sein. Der statistischen Auswertung Ihres Website-Traffics steht somit nichts mehr im Wege.