Ein­ge­hen­der Da­ten­ver­kehr – so­ge­nann­ter Traffic – gehört zu den zentralen Er­folgs­in­di­ka­to­ren einer Website. Betreiber nutzen Metriken wie Hits, Visits und Page Im­pres­si­ons, um Be­su­cher­strö­me zu messen und die Per­for­mance von Web­pro­jek­ten zu eva­lu­ie­ren. Dies erfolgt im Rahmen von Logfile-Analysen. Darüber hinaus nutzen Web­sei­ten­be­trei­ber web­ge­stütz­te Software-Lösungen wie Google Analytics, Piwik oder etracker, um Traffic-Daten zu erfassen und aus­zu­wer­ten. Treten dabei Un­re­gel­mä­ßig­kei­ten auf, ist dies u. a. auf Referrer-Spam (auch Referral Spam) zu­rück­zu­füh­ren. Wir zeigen Ihnen, wie Sie Spam-Angriffe dieser Art entdecken und ver­fälsch­ten Sta­tis­ti­ken nach­hal­tig vorbeugen.

Was ist Referrer-Spam?

Bei Referrer-Spam handelt es sich um eine Form des Such­ma­schi­nen-Spammings, bei der Hacker versuchen, die Log­da­tei­en und Analyse-Sta­tis­ti­ken be­stimm­ter Websites zu ma­ni­pu­lie­ren. Ziel ist es, so­ge­nann­ten Fake-Traffic zu ge­ne­rie­ren, um Be­su­cher­strö­me zu si­mu­lie­ren oder Zugriffe auf die eigene Website zu pro­vo­zie­ren. Beide An­griffs­mus­ter setzen auf weit­ge­hend un­ab­hän­gig agierende Com­pu­ter­pro­gram­me – so­ge­nann­te Bots (kurz für „Robot“).

Was sind Spam-Bots?

Com­pu­ter­pro­gram­me, die sich wie­der­ho­len­de Aufgaben au­to­ma­tisch ausführen, sind ein zentraler Be­stand­teil des World Wide Webs, wie wir es heute kennen. Such­ma­schi­nen wie Google oder Bing nutzen Programme dieser Art, um das Web zu durch­su­chen und relevante Seiten zu in­de­xie­ren. Man spricht von Web­craw­lern oder Search­bots. Doch auch Hacker nutzen Bots, um ihre Web­ak­ti­vi­tä­ten zu au­to­ma­ti­sie­ren. Anders als bei den Crawlern der Such­ma­schi­nen­an­bie­ter steht dabei nicht das Nut­zer­inter­es­se im Vor­der­grund. Statt­des­sen kommen diese Programme bei Spam-Angriffen zum Einsatz, um …

  • Klicks auf Wer­be­an­zei­gen zu au­to­ma­ti­sie­ren (Click Fraud)
  • au­to­ma­tisch ge­ne­rier­te Benutzer-Accounts zu erstellen
  • Werbung in Form au­to­ma­tisch ge­ne­rier­ter Kom­men­ta­re zu verteilen
  • Schad­soft­ware zu ver­brei­ten

Auch Referrer-Spam ist in der Regel bot­ge­stützt. Dabei sind zwei Klassen von Spam-Bots zu un­ter­schei­den:

  • Programme, die Web­sei­ten­be­su­che si­mu­lie­ren: Spam-Bots dieser Art imitieren gängige Web­brow­ser wie Chrome, Firefox oder Safari und senden mas­sen­haft HTTP-Anfragen an aus­ge­wähl­te Webserver. Diese Programme ähneln den Crawlern der Such­ma­schi­nen­be­trei­ber, die sich mitunter auch als Web­brow­ser tarnen. Da die Programme bei dieser Art des Spams den Web­sei­ten­be­such eines mensch­li­chen Nutzers si­mu­lie­ren, wird dieses An­griffs­mus­ter Crawling-Spam genannt. Die Aus­wir­kun­gen 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 eta­blier­ter Web­ana­ly­se-Tools ein. Ein solches An­griffs­mus­ter er­mög­licht es, Web­sta­tis­ti­ken zu ma­ni­pu­lie­ren, ohne dass es zur In­ter­ak­ti­on mit der Zielseite kommt. Dieses An­griffs­mus­ter tritt somit nicht im Logfile des Servers, sondern aus­schließ­lich in Berichten der ma­ni­pu­lier­ten Analyse-Software in Er­schei­nung. Man spricht von Ghost-Spam.

Wir be­trach­ten beide An­griffs­mus­ter im Detail und stellen Ihnen Ge­gen­maß­nah­men vor.

Crawler-Spam

Die meisten Webserver führen eine zentrale Logdatei (das Access-Log), in der alle Zugriffe in chro­no­lo­gi­scher Rei­hen­fol­ge mit Zeit­stem­pel pro­to­kol­liert 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 In­for­ma­tio­nen:

In­for­ma­ti­on Beispiel
IP-Adresse des an­for­dern­den Hosts 127.0.0.1
Nut­zer­na­me aus einer HTTP-Au­then­ti­fi­zie­rung frank
Zeit­stem­pel [10/Oct/2000:13:55:36 -0700]
HTTP-Anfrage GET /apache_pb.gif HTTP/1.0
HTTP-Sta­tus­code 200
Da­tei­grö­ße 2326
Referer [sic] http://www.example.com/start.html
User-Agent Mozilla/4.08 [en] (Win98; I ;Nav)

Hacker machen sich die au­to­ma­ti­sche Pro­to­kol­lie­rung via Logfile zunutze, um die eigene URL mithilfe mas­sen­haf­ter HTTP-Anfragen in die Ser­ver­pro­to­kol­le aus­ge­wähl­ter Websites ein­zu­schleu­sen. Im Vor­der­grund steht dabei das Referer-Feld [sic] der HTTP-Anfrage. Dieses be­inhal­tet die URL der ver­wei­sen­den Webseite.

Tipp

Aufgrund eines Recht­schreib­feh­lers in der HTTP-Spe­zi­fi­ka­ti­on hat sich die Falsch­schrei­bung „Referer“ für das ent­spre­chen­de Feld im HTTP-Header etabliert. In anderen Standards wird die korrekte Schreib­wei­se mit doppeltem r verwendet.

Klickt ein In­ter­net­nut­zer auf einen Hyperlink, gelangt dieser von der aktuellen Webseite auf die im Verweis an­ge­ge­be­ne Zielseite. Der Referrer be­inhal­tet 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 po­ten­zi­el­le Traffic-Quellen iden­ti­fi­zie­ren.

In der Ver­gan­gen­heit war es vor allem in der Blogger-Szene üblich, die Referrer-In­for­ma­tio­nen aus der Logdatei in einem Widget auf der eigenen Website zu ver­öf­fent­li­chen und somit die Herkunft von Be­su­cher­strö­men dar­zu­stel­len. Eine Plat­zie­rung in diesen Listen erfolgte in der Regel in Form eines Links auf die Traffic-Quelle. Hacker nahmen diese Praxis zum Anlass, die Log­da­tei­en von Blogs und anderen Websites zu ma­ni­pu­lie­ren, um die eigenen Web­pro­jek­te möglichst weit oben in den öf­fent­li­chen Link­lis­ten zu po­si­tio­nie­ren und damit Backlinks und Sei­ten­auf­ru­fe zu ge­ne­rie­ren.

Noch heute kommen dazu spezielle Spam-Bots zum Einsatz, die Ziel­sei­ten mas­sen­haft abfragen und den Servern die URL der Website als Referrer übergeben, deren Sicht­bar­keit gestärkt werden soll. Spam-Angriffe dieser Art sind jedoch stark zu­rück­ge­gan­gen. Ein Grund dafür ist, dass au­to­ma­tisch ge­ne­rier­te Referrer-Listen auf Websites heute kaum noch zu finden sind. Dies hängt u. a. mit we­sent­li­chen Än­de­run­gen am Ranking-Al­go­rith­mus des Such­ma­schi­nen-Markt­füh­rers Google zusammen. Spä­tes­tens seit dem Penguin-Update im April 2012 nimmt Google Webspam im Zu­sam­men­hang mit Backlinks gezielt unter die Lupe. Web­pro­jek­te, die durch eine Über­op­ti­mie­rung auffallen, müssen mit einer Ab­stra­fung – der so­ge­nann­ten Penalty – rechnen. Dies ist bei­spiels­wei­se dann der Fall, wenn Websites auffällig viele Backlinks aus ir­rele­van­ten Umfeldern, von Links­lis­ten und -netz­wer­ken, Ar­ti­kel­ver­zeich­nis­sen oder Blog­kom­men­ta­ren aufweisen.

Logfile-Analysen erfolgen heute nur noch selten manuell. Statt­des­sen kommen Tools wie Webalizer, AWStats oder Piwik zum Einsatz. Darüber hinaus bieten Web­ana­ly­se-Tools wie Google Analytics die Mög­lich­keit, Traffic-Daten aus­zu­wer­ten, ohne auf die Logfiles des Servers zu­rück­zu­grei­fen. Weniger anfällig für Crawler- oder Ghost-Spam sind diese dadurch nicht.

Crawler-Spam iden­ti­fi­zie­ren

Im Folgenden zeigen wir Ihnen am Beispiel von Google Analytics, wie Sie Crawler-Spam in Ihrer Website-Statistik erkennen und auf­fäl­li­ge Referrer her­aus­fil­tern.

1. Google-Analytics-Konto öffnen: Öffnen Sie das Google-Analytics-Konto Ihres Web­pro­jekts.

Tipp

Alle Screen­shots der Google-Analytics-Web­an­sicht stammen aus dem Google-Mer­chan­di­se-Store, der vom Anbieter als Demo zur Verfügung gestellt wird. Den Link zum Konto finden Sie auf den Google-Analytics-Hilf­e­sei­ten. Der Zugriff erfordert einen kos­ten­lo­sen Google-Account.

2. Referrer-Statistik abrufen: Wählen Sie in der Sei­ten­leis­te den Menüpunkt „Ak­qui­si­ti­on“ und klicken Sie unter „Alle Zugriffe“ auf den Un­ter­punkt „Verweise“.

3. Be­trach­tungs­zeit­raum ein­stel­len: Stellen Sie den Be­ob­ach­tungs­zeit­raum des Berichts auf die letzten drei Monate ein.

4. Referrer-Statistik sortieren/filtern: Unter „Ak­qui­si­ti­on“ > „Alle Zugriffe“ > „Verweise“ stellt Google Analytics sämtliche Link­quel­len ein­ge­hen­der Hy­per­links auf Ihre Website als primäre Dimension in einem zu­sam­men­fas­sen­den Bericht dar. Sie erhalten somit eine Liste aller Referrer-URLs, die von Google Analytics im aus­ge­wähl­ten Be­trach­tungs­zeit­raum auf­ge­zeich­net wurden, sowie die je­wei­li­gen 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 durch­schnitt­li­che Bounce-Rate (Ab­sprungra­te), die Anzahl der be­trach­te­ten Seiten pro Sitzung, die durch­schnitt­li­che Sit­zungs­dau­er sowie ggf. Con­ver­si­on-Rates, Trans­ak­tio­nen und ge­ne­rier­te Umsätze aus der Statistik ablesen.

Im Rahmen der Spam-Prä­ven­ti­on sind vor allem die Anzahl der Sei­ten­auf­ru­fe (Sessions) pro Ver­weis­quel­le sowie die durch­schnitt­li­che Ab­sprungra­te von Bedeutung.

Klicken Sie unter „Verhalten“ auf das Feld „Ab­sprungra­te“, um die Ansicht nach den Kenn­zah­len in dieser Spalte in ab­stei­gen­der Rei­hen­fol­ge zu sortieren.

Bei der Bounce-Rate handelt es sich um eine Pro­zent­an­ga­be, die Ihnen anzeigt, wie viele der Sei­ten­auf­ru­fe über die jeweilige Quelle ohne In­ter­ak­ti­on mit Ihrer Website erfolgten. Eine Bounce-Rate von 100 oder 0 Prozent bei mehr als 10 Sitzungen, die über dieselbe Ver­weis­quel­le erfolgen, ist ein klares Indiz für au­to­ma­ti­sche Abfragen.

Al­ter­na­tiv können Sie die Ansicht mithilfe eines regulären Ausdrucks („Regular Ex­pres­si­on“, RegEx) nach bekannten Spam-Referrern filtern. Zu diesen zählen bei­spiels­wei­se folgende Websites:

  • semalt.com
  • darodar.com
  • hul­fing­ton­post.com
  • buttons-for-website.com
  • best-seo-solution.com
  • free-share-buttons.com
Tipp

Eine um­fang­rei­che Referrer-Spam-Blacklist wird von der nie­der­län­di­schen Di­gi­ta­l­agen­tur Sti­jlb­reuk unter re­fer­rer­spam­blo­cker.com zur Verfügung gestellt.

Ein ent­spre­chen­des Fil­ter­mus­ter könnte bei­spiels­wei­se fol­gen­der­ma­ßen aussehen:

semalt|darodar|hul­fing­ton­post|buttons-for-website|best-seo-solution

Die Pipe (|) ent­spricht einem logischen oder. Me­ta­zei­chen wie Punkte (.) müssen mit einem vor­an­ge­stell­ten Backslash (\) maskiert werden.

Um den Filter an­zu­wen­den, klicken Sie in der Me­nü­leis­te über der Da­ten­ta­bel­le auf „Erweitert“.

Eine Fil­ter­mas­ke wird ein­ge­blen­det.

Erstellen Sie einen ein­schlie­ßen­den Filter für die Dimension „Quelle“ und wählen Sie die Fil­ter­op­ti­on „Ent­spre­chen­de RegEx“. Fügen Sie einen be­lie­bi­gen regulären Ausdruck als Fil­ter­mus­ter ein. Be­stä­ti­gen Sie den Fil­ter­vor­gang mit einem Klick auf „Anwenden“.

5. Auf­fäl­li­ge Referrer notieren: Legen Sie sich eine Referrer-Spam-Blacklist an, in die Sie alle auf­fäl­li­gen Quell-URLs aufnehmen. Diese Liste dient später als Grundlage für einen Aus­schluss­fil­ter.

Crawler-Spam via .htaccess blo­ckie­ren

Crawler-Spam setzt den Besuch Ihrer Website voraus. Zu­ver­läs­si­ge Ge­gen­maß­nah­men lassen sich daher bereits ser­ver­sei­tig einleiten. Wie Sie dabei vorgehen, zeigen wir Ihnen am Beispiel der Kon­fi­gu­ra­ti­ons­da­tei .htaccess des weltweit meist­ge­nutz­ten Web­ser­vers Apache.

Sollten Sie auf­fäl­li­ge URLs in Ihrer Referrer-Statistik bemerken, bieten sich folgende Vor­ge­hens­wei­sen an, Web­sei­ten­ab­ru­fe durch Spam-Bots zu un­ter­bin­den:

  • Referrer blo­ckie­ren
  • IP-Adressen blo­ckie­ren
  • User-Agents blo­ckie­ren

Referrer via .htaccess blo­ckie­ren

Um aus­ge­wähl­te Referrer-URLs zu blo­ckie­ren, öffnen Sie die .htaccess-Datei Ihres Web­ser­vers und fügen einen Code­ab­schnitt 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 ser­ver­sei­ti­ge Spam-Abwehr basiert auf der Re­wri­te­Rule:

.* - [F]

Diese weist den Webserver an, alle ein­ge­hen­den HTTP-Anfragen mit dem Sta­tus­code 403 Forbidden („verboten“) zu be­ant­wor­ten, sofern eine oder mehrere Be­din­gun­gen (Re­wri­te­Cond) 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 Re­wri­te­Cond als regulärer Ausdruck nach folgendem Beispiel definiert:

RewriteCond %{HTTP_REFERER} ^https?://([^.]+\.)*semalt\.com\ [NC,OR]

Die Bedingung gilt als erfüllt, wenn die Ser­ver­va­ria­ble %{HTTP_REFERER} dem in der Re­wri­te­Cond de­fi­nier­ten regulären Ausdruck ent­spricht – bei­spiels­wei­se:

^https?://([^.]+\.)*semalt\.com\

Die einzelnen Be­din­gun­gen sind durch das Flag [OR] im Sinne eines logischen oders verbunden. Es muss somit lediglich eine Re­wri­te­Cond erfüllt sein, damit die Re­wri­te­Rule zur Anwendung kommt. Das Flag [NC] definiert die vor­her­ge­hen­de Zei­chen­fol­ge als not case-sensitive (kein Be­deu­tungs­un­ter­schied bei Groß- bzw. Klein­schrei­bung).

Al­ter­na­tiv haben Sie die Mög­lich­keit, in der Re­wri­te­Cond bestimmte Keywords zu de­fi­nie­ren, die, sofern sie im Referrer einer HTTP-Anfrage auf­tau­chen, zu einem Aus­schluss führen. Bei folgendem Beispiel werden alle HTTP-Anfragen blockiert, deren Referrer eines der Keywords porn, pill oder poker be­inhal­tet.

Dabei sollten Keywords mittels RegEx mit Wort­gren­zen versehen werden. Nutzen Sie dazu das Me­ta­zei­chen \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 Aus­schluss von Keywords ohne Wort­gren­zen hätte den Nachteil, dass HTTP-Anfragen auch dann blockiert werden, wenn die in der Re­wri­te­Cond de­fi­nier­ten Buch­sta­ben­kom­bi­na­tio­nen in einem anderen Sinn­zu­sam­men­hang verwendet werden, so wie es bei­spiels­wei­se 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 blo­ckie­ren

Sie stellen fest, dass Spam-Angriffe auf Ihre Website immer wieder von derselben In­ter­net­adres­sen ausgehen? In diesem Fall bietet es sich an, die ent­spre­chen­den IPs oder ganze Adress­be­rei­che via .htaccess zu sperren.

Möchten Sie lediglich eine einzelne IP-Adresse ser­ver­sei­tig blo­ckie­ren, 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 au­to­ma­tisch ab­ge­wie­sen. Ein solcher Codeblock kann beliebig viele IP-Adressen be­inhal­ten. Führen Sie diese wie im folgenden Beispiel un­ter­ein­an­der auf:

RewriteEngine On
Order Deny,Allow
Deny from 203.0.113.100
Deny from 192.168.0.23
Allow from all

Soll ein ganzer Adress­be­reich 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-Adress­be­reich von 198.51.100.0 bis 198.51.100.255 werden blockiert.

Beachten Sie: Hacker greifen in der Regel auf so­ge­nann­te Bot-Netzwerke (Botnets) zurück, um Ziel­sei­ten in kürzester Zeit über eine Vielzahl ver­schie­de­ner IP-Adressen ab­zu­fra­gen. Dadurch ist es in der Praxis schier unmöglich, Spam-Zugriffen via IP-Address-Blocking nach­hal­tig vor­zu­beu­gen.

Tipp

Bei einem Botnet handelt es sich um ein Netzwerk in­fi­zier­ter Rechner (so­ge­nann­ter Zombie-PCs), das als Grundlage für Spam-Attacken oder den Versand von Schad­soft­ware miss­braucht wird. Um ein solches Netzwerk zu errichten, schleusen Hacker (so­ge­nann­te Botmaster) ihre Schad­pro­gram­me über das Internet in un­zu­rei­chend ab­ge­si­cher­te Rechner ein und nutzen deren Netzwerk-Res­sour­cen, um Angriffe auf andere Internet-Teil­neh­mer aus­zu­füh­ren. Bot-Netze werden in der Regel zentral gesteuert und sind der Aus­gangs­punkt für gewaltige Spam-Wellen und groß­an­ge­leg­te DDOS-Attacken.

User Agents via .htaccess blo­ckie­ren

Eine weitere Mög­lich­keit, Spam-Angriffen vor­zu­beu­gen, besteht darin, bestimmte User-Agents zu sperren, deren Kennung von Spam-Bots verwendet wird, um sich als legitimer Besucher aus­zu­ge­ben.

Erstellen Sie dazu einen Code­ab­schnitt nach folgendem Beispiel:

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} Baiduspider [NC]
RewriteRule .* – [F,L]

In der Ver­gan­gen­heit haben Web­sei­ten­be­trei­ber immer wieder Zugriffe von Spam-Bots ver­zeich­net, die sich als Searchbot der chi­ne­si­schen Such­ma­schi­ne Baidu (Bai­du­spi­der) ausgaben. Sollten Sie auf Ihrer Website keinen na­tür­li­chen Traffic aus China erwarten, können Sie diesen Crawler getrost aus­sper­ren, um Spam-Attacken vor­zu­beu­gen.

Google-Analytics-Filter

Die ser­ver­sei­ti­ge Spam-Prä­ven­ti­on via .htaccess ist die nach­hal­tigs­te Mög­lich­keit, Crawler-Spam vor­zu­beu­gen. Die Anpassung der .htaccess jedoch ist aufwendig und feh­ler­an­fäl­lig. Nicht jeder Web­sei­ten­be­trei­ber traut es sich zu, eigene Rewrite-Regeln zu for­mu­lie­ren – aus gutem Grund, denn Fehler können schwer­wie­gen­de Aus­wir­kun­gen auf die Er­reich­bar­keit einer Website haben. Al­ter­na­tiv kann man au­to­ma­ti­sche Abfragen durch Spam-Bots aus der Statistik des ver­wen­de­ten Ana­ly­se­pro­gramms her­aus­fil­tern, um ver­fälsch­ten Berichten vor­zu­beu­gen. Wie Sie dabei vorgehen, zeigen wir Ihnen am Beispiel von Google Analytics.

Google Analytics bietet Ihnen zwei Optionen, Referral-Spam aus der Da­ten­an­sicht her­aus­zu­fil­tern.

  • Googles Referrer-Spam-Blacklist
  • Be­nut­zer­de­fi­nier­te Filter

Folgendes YouTube-Video ist Teil des „Digital Analytics Fun­da­men­tals Course“ der Analytics Academy und bietet eine Ein­füh­rung in die Fil­ter­funk­ti­on von Google Analytics:

Googles Referrer-Spam-Blacklist

Deshalb lassen sich alle bekannten Bots und Spider au­to­ma­tisch her­aus­fil­tern. Gehen Sie dazu fol­gen­der­ma­ßen vor:

1. Ein­stel­lun­gen der Da­ten­an­sicht öffnen: Öffnen Sie Ihr Google-Analytics-Konto und klicken Sie unten links in der Me­nü­leis­te auf „Ver­wal­tung“. Wählen Sie unter Da­ten­an­sicht den Menüpunkt „Ein­stel­lun­gen der Da­ten­an­sicht“ aus.

2. Googles Referrer-Spam-Blacklist ak­ti­vie­ren: Scrollen Sie bis zum Abschnitt „Bots her­aus­fil­tern“ hinunter und setzen Sie ein Häkchen bei „Alle Treffer von bekannten Bots und Spidern aus­schlie­ßen“.

Google zeigt Ihnen nun eine be­rei­nig­te Version Ihrer Website-Statistik an.

Beachten Sie: Es werden lediglich die Nut­zer­da­ten her­aus­ge­fil­tert, 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 auf­ge­führt sind.

Be­nut­zer­de­fi­nier­te Filter

Google Analytics erlaubt es Ihnen zudem, Filter auf Kon­to­e­be­ne oder auf Da­ten­an­sichts­ebe­ne zu de­fi­nie­ren. Filter, die auf Kon­to­e­be­ne definiert werden, lassen sich nach Bedarf auf eine oder mehrere Da­ten­an­sich­ten anwenden. Wurde ein Filter auf Da­ten­an­sichts­ebe­ne erstellt, gilt dieser nur für die aus­ge­wähl­te Ansicht.

Testen Sie neu erstellte Filter zunächst, indem Sie diese auf eine Kopie der ge­wünsch­ten Da­ten­an­sicht anwenden. Gehen Sie dabei fol­gen­der­ma­ßen vor.

1. Kopie der Da­ten­an­sicht erstellen: Na­vi­gie­ren Sie via „Ver­wal­tung“ > „Da­ten­an­sicht“ in das Menü „Ein­stel­lun­gen der Da­ten­an­sicht“ und klicken Sie auf „Da­ten­an­sicht kopieren“.

Benennen Sie die Kopie wie gewünscht und be­stä­ti­gen Sie den Vorgang mit einem Klick auf die Schalt­flä­che „Da­ten­an­sicht kopieren“.

2. Be­nut­zer­de­fi­nier­ten Filter de­fi­nie­ren: Wählen Sie unter „Ver­wal­tung“ > „Da­ten­an­sicht“ die soeben erstellte Kopie aus und klicken Sie auf den Menüpunkt „Filter“.

Sofern Sie für diese Da­ten­an­sicht bereits Filter erstellt haben, zeigt Google Analytics Ihnen diese in einer Übersicht an.

Um einen neuen be­nut­zer­de­fi­nier­ten Filter zu de­fi­nie­ren, klicken Sie auf die Schalt­flä­che „+ Neuer Filter“ und wählen Sie „Neuen Filter erstellen“.

Benennen Sie den neuen Filter (z. B. referrer spam blocker).

Wählen Sie unter „Fil­ter­in­for­ma­ti­on“ folgende Optionen aus:

  • Filtertyp: „Be­nut­zer­de­fi­niert“
  • „Aus­schlie­ßen“
  • Fil­ter­feld: „Kam­pa­gnen­quel­le“
Tipp

Der Feldname „Kam­pa­gnen­quel­le“ legt bei Google-Analytics-Berichten die Dimension „Quelle“ fest.

Sie haben nun die Mög­lich­keit, ein Fil­ter­mus­ter in Form eines regulären Ausdrucks zu de­fi­nie­ren. Nutzen Sie dazu Ihre zuvor erstellte Referrer-Spam-Blacklist. Ein solches Fil­ter­mus­ter könnte fol­gen­der­ma­ßen aussehen:

(?:([^. ]+)\.)?(?:([^.]+)\.)?(semalt|hulfingtonpost|buttons-for-website|best-seo-solution)\.(com|de|net|org|ru)

3. Filter ve­ri­fi­zie­ren: Klicken Sie auf „Filter über­prü­fen“, um zu testen, wie sich der Filter auf die aktuelle Da­ten­an­sicht auswirkt.

Tipp

Die Ve­ri­fi­ka­ti­on funk­tio­niert nur, wenn die aus­ge­wähl­te Ansicht genügend Daten be­inhal­tet.

Klicken Sie auf Speichern, um das Filter-Set-up ab­zu­schlie­ßen. Der neu erstellte Aus­schluss­fil­ter wird Ihnen in der Übersicht angezeigt.

4. Filter auf die Haupt­an­sicht anwenden: Funk­tio­niert Ihr be­nut­zer­de­fi­nier­ter Filter wie gewünscht, wenden Sie diesen auf die Haupt­an­sicht Ihres Google-Analytics-Kontos an.

Tipp

Da­ten­fil­ter sind eine gute Mög­lich­keit, Ihre Ana­ly­se­be­rich­te von Referrer-Spam zu be­rei­ni­gen. Beachten Sie jedoch: Durch die Fil­ter­op­ti­on von Google Analytics wird der durch Bots ver­ur­sach­te Traffic lediglich aus­ge­blen­det. Das ei­gent­li­che Problem – die Belastung Ihres Servers durch Spam-Attacken – lösen Sie somit nicht. Eine nach­hal­ti­ge Spam-Prä­ven­ti­on sollte sich daher auf ser­ver­sei­ti­ge Maßnahmen stützen, die au­to­ma­ti­sche Web­sei­ten­auf­ru­fe durch Spam-Bots un­ter­bin­den.

Referrer-Spam via WordPress-Plug-in blo­ckie­ren

Als Betreiber einer WordPress-Homepage können Sie Ihre Website via Plug-in gegen Crawler-Spam absichern. Ent­spre­chen­de Dritt­an­bie­ter-Software steht Ihnen kostenlos über die WordPress-Seite zur Verfügung. Zu den be­lieb­tes­ten Referrer-Spam-WordPress-Plug-ins mit re­gel­mä­ßi­gen Updates gehören:

Wie Sie WordPress-Plug-ins gegen Referrer-Spam in­stal­lie­ren und kon­fi­gu­rie­ren, zeigen wir Ihnen am Beispiel von Block Referer Spam.

Referrer-Spam-Plug-in in­stal­lie­ren

Das Content-Ma­nage­ment-System WordPress bietet Ihnen die Mög­lich­keit, Plug-ins direkt über den Admin-Bereich der Software zu verwalten. Gehen Sie dabei fol­gen­der­ma­ßen vor:

1. WordPress-Ad­min­be­reich öffnen: Um das Referrer-Spam-Plug-in zu ak­ti­vie­ren, melden Sie sich mit ihren Log-in-Daten im Admin-Bereich Ihrer WordPress-Seite an.

2. Plug-in suchen und in­stal­lie­ren: Na­vi­gie­ren Sie zum Menüpunkt „Plugins“ und wählen Sie „In­stal­lie­ren“, um Ihrer WordPress-Seite weitere Plug-ins hin­zu­zu­fü­gen.

Geben Sie „Block Referer Spam“ in die Such­leis­te ein und klicken Sie auf „In­stal­lie­ren“, um das Plug-in in Ihre Website zu in­te­grie­ren.

Das Plug-in wird zunächst de­ak­ti­viert in Ihre Plug-in-Liste auf­ge­nom­men.

3. Plug-in ak­ti­vie­ren: Starten Sie Block Referer Spam durch einen Klick auf „Ak­ti­vie­ren“.

In der Sei­ten­leis­te Ihres WordPress-Ad­mi­nis­tra­ti­ons­be­reichs erscheint der neue Menüpunkt „Referer Spam“.

Referrer-Spam-Plug-in kon­fi­gu­rie­ren

Im Kon­fi­gu­ra­ti­ons­be­reich von Block Referer Spam finden Sie eine Kurz­be­schrei­bung des Plug-ins sowie diverse Optionen zu Updates und Blocking-Funk­tio­nen.

1. Kon­fi­gu­ra­ti­ons­be­reich öffnen: Klicken Sie auf den Menüpunkt „Referer Spam“, um das Plug-in in­di­vi­du­ell an­zu­pas­sen.

2. Update-Plan ein­rich­ten: Wählen Sie die von Ihnen be­vor­zug­te Update-Option – au­to­ma­ti­sche oder manuelle Software-Ak­tua­li­sie­rung.

Tipp

Nutzen Sie die au­to­ma­ti­sche Ak­tua­li­sie­rung, um si­cher­zu­stel­len, dass die Blacklist des Plug-in kon­ti­nu­ier­lich um bekannte Spam-Adressen erweitert wird und so stets auf dem neuesten Stand bleibt.

3. Block-Modus ein­rich­ten: Wählen Sie den von Ihnen be­vor­zu­gen Block-Modus. Das Plug-in un­ter­schei­det zwischen einer Rewrite-Blo­ckie­rung und einer WordPress-Blo­ckie­rung.

Tipp

Wählen Sie nach Mög­lich­keit die Rewrite-Blo­ckie­rung, um Spam-Zugriffe bereits auf der Webserver-Ebene schnell und effektiv zu un­ter­bin­den.

4. Be­nut­zer­de­fi­nier­te Referrer-Spam-Blacklist ein­rich­ten: Um Spam effektiv zu un­ter­bin­den, können Sie die Blacklist des Plug-ins manuell erweitern. Tragen Sie dazu auf­fäl­li­ge Websites in das dafür vor­ge­se­he­ne Feld unter „Eigene Blo­ckie­run­gen“ ein.

Speichern Sie Ihre Kon­fi­gu­ra­ti­on mit einem Klick auf „Än­de­run­gen über­neh­men“.

Die komplette Referrer-Spam-Blacklist des Plug-ins lässt sich über den Menüpunkt „Alle ge­block­ten Seiten“ abrufen.

Ghost-Spam

Anders als Crawler-Spam erfolgt Ghost-Spam gänzlich ohne In­ter­ak­ti­on mit der Zielseite. Statt­des­sen senden Bots ge­fälsch­te Traffic-Rohdaten direkt an die Server web­ba­sier­ter Analyse-Tools. Diese ver­ar­bei­ten den Fake-Traffic zusammen mit den echten Nut­zer­da­ten und leiten die In­for­ma­tio­nen in Form von Berichten an Web­sei­ten­be­trei­ber weiter. Da bei diesem An­griffs­mus­ter kein Besuch der Website erfolgt, hat sich die Be­zeich­nung Ghost-Spam etabliert. Doch was bezwecken Hacker mit solchen Maßnahmen?

Das Ziel von Ghost-Spam-Attacken ist es, die Auf­merk­sam­keit von Web­sei­ten­be­trei­bern zu erwecken. Dabei setzen Hacker auf die Neugier Ihrer Opfer. Die Idee dahinter: Je öfter die eigene URL in den Ana­ly­se­be­rich­ten anderer Websites auftaucht, desto höher die Chance, dass die Betreiber der at­ta­ckier­ten Projekte die Ver­weis­quel­le 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 mo­ne­ti­siert werden sollen. Im schlimms­ten Fall nutzen die Betreiber solcher Websites Referrer-Spam, um die Rechner nichts­ah­nen­der Besucher mit Schad­soft­ware zu in­fi­zie­ren.

Wir zeigen Ihnen am Beispiel von Google Analytics, wie Ghost-Spam funk­tio­niert und was Sie gegen dieses An­griffs­mus­ter un­ter­neh­men können.

Wie funk­tio­niert Ghost-Spam?

Beim An­griffs­mus­ter Ghost-Spam machen sich Hacker das Me­a­su­re­ment-Protocol von Google Analytics zunutze. Dieses dient der Über­tra­gung von Traffic-Daten zwischen Ihrer Website und dem Webserver des Analyse-Tools.

Alles, was Hacker benötigen, um Daten bei Google Analytics ein­zu­schleu­sen, 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 ent­hal­te­ne IDs aus­zu­le­sen.
  • Tracking-IDs werden mithilfe eines Ge­ne­ra­tors zufällig erstellt.

Zahl­rei­che Web­sei­ten­be­trei­ber 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 über­mit­teln kann, muss der Platz­hal­ter UA-XXXXX-Y durch die in­di­vi­du­el­le Tracking-ID des je­wei­li­gen Nutzers ersetzt werden. Diese ist somit jedem Programm zu­gäng­lich, das den HTML-Code einer ent­spre­chend prä­pa­rier­ten Website ausliest.

Schließen lässt sich diese Si­cher­heits­lü­cke mithilfe des Google Tag Managers. Dieser bietet Web­sei­ten­be­trei­bern eine Be­nut­zer­ober­flä­che, über die sich Code-Snippets von Google (so­ge­nann­te Tags) zentral verwalten lassen. Statt diverser Tags für ver­schie­de­ne Google-Dienste wird somit lediglich ein Code-Snippet für den Google Tag Manager in den HTML-Code ein­ge­bun­den. Der Tracking-Code von Google Analytics inklusive in­di­vi­du­el­ler ID bleibt somit vor dem Zugriff Dritter geschützt.

Ghost-Spam kann prin­zi­pi­ell jeden Google-Analytics-Bericht betreffen. Neben den Referrer-In­for­ma­tio­nen nutzen Hacker vor allem die Berichte über Top-Events, Keywords, Landing­pa­ges oder Sprach­ein­stel­lun­gen, um ma­ni­pu­lier­te Traffic-Daten ein­zu­schleu­sen.

Als er­folg­reichs­ter 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 ein­zu­schleu­sen. Ende 2016 foppte der Hacker die Netz­ge­mein­de mit einer ver­mut­lich geheimen Google-Seite. Neben den klas­si­schen Kürzeln wie de, de-de oder en-us fanden tausende Analytics-Nutzer weltweit folgende Botschaft in den Berichten zur Sprach­ein­stel­lung ihrer Web­sei­ten­be­su­cher:

„Secret.ɢoogle.com You are invited! Enter only with this ticket URL. Copy it. Vote for Trump!“

Doch neu­gie­ri­ge Web­sei­ten­be­trei­ber, die der Einladung folgten, landeten nicht bei Google. Denn:

ɢoogle.com ≠ Google.com

Statt­des­sen erfolgte eine Umleitung auf Popovs Website, deren URL fast den gesamten Text des Pink-Floyd-Hits Money aus dem 1973 er­schie­ne­nen 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.il­ove­vi­ta­ly.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.tra­vel­ling.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 Web­ka­ta­logs der frühen 2000er-Jahre mit Links auf diverse Such­ma­schi­nen und On­line­shops. Heute führt die URL ins Leere. Was Popov mit seiner Spam-Attacke genau bezweckte, ist unklar. Mög­li­cher­wei­se ging es dem Hacker nur darum, das Täu­schungs­po­ten­zi­al der Ty­po­s­quat­ting-URL ɢoogle.com zu testen.

Grund­sätz­lich gilt: Ghost-Spam ist lästig, stellt jedoch keine Gefahr für Ihre Website dar. Da bei ge­fälsch­tem Traffic keine echten Web­sei­ten­auf­ru­fe erfolgen, werden weder Ihr Server noch die Logfiles durch au­to­ma­ti­sche Abfragen belastet. Pro­ble­ma­tisch wird Ghost-Spam jedoch dann, wenn Sie Website-Sta­tis­ti­ken via Google Analytics auswerten möchten.

Tipp

Vermeiden Sie es, obskure Referrer im Web­brow­ser auf­zu­ru­fen. An­dern­falls besteht die Gefahr, dass Ihr System vom Linkziel mit Schad­soft­ware infiziert wird.

Ghost-Spam iden­ti­fi­zie­ren

Ghost-Spam basiert in der Regel auf zufällig ge­ne­rier­ten Tracking-IDs. Dem Spam-Bot ist somit nicht bekannt, welche Website von dem Angriff betroffen ist. Dies äußert sich durch Un­ge­reimt­hei­ten 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“ zwangs­läu­fig einen Rech­ner­na­men, der Ihrem Netzwerk zu­ge­ord­net werden kann.

Bots, die Fake-Traffic senden, kennen diese Rech­ner­na­men hingegen nicht und füllen das Host-Feld mit einem zufällig aus­ge­wähl­ten Platz­hal­ter. Al­ter­na­tiv 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 iden­ti­fi­zie­ren. Es empfiehlt sich folgendes Vorgehen:

1. Netz­werk­be­richt aufrufen: Rufen Sie via „Ziel­grup­pe“ > „Tech­no­lo­gie“ den Bericht „Netzwerk“ auf und wählen Sie „Hostname“ (Rech­ner­na­me) als „Primäre Dimension“.

2. Be­ob­ach­tungs­zeit­raum ein­stel­len: Setzen Sie den Be­ob­ach­tungs­zeit­raum auf die letzten drei Monate.

3. Legitime Rech­ner­na­men iden­ti­fi­zie­ren: In der ersten Spalte des Berichts zeigt Google Analytics Ihnen alle Rech­ner­na­men an, über die Ihre Website adres­siert wurde. Hier sollten in erster Linie Namen auf­tau­chen, die den Domains zu­ge­ord­net werden können, über die Sie Ihre Website be­reit­stel­len. Darüber hinaus finden Sie hier Google-Domains, die für Über­set­zun­gen und Webcache-Versionen Ihrer Website zuständig sind.

translate.goo­g­leu­ser­con­tent.com

webcache.goo­g­leu­ser­con­tent.com

Finden Sie in Ihrem Netz­werk­be­richt andere Rech­ner­na­men, die weder Ihren Domains noch den Google-Sup­port­sei­ten ent­spre­chen, handelt es sich um Ghost-Spam.

4. Regulären Ausdruck erstellen: Notieren Sie sich alle Rech­ner­na­men, für die Sie Traffic-Daten auswerten möchten, in Form eines regulären Ausdrucks. Zum Beispiel:

^(www\.)?(example|goo­g­leu­ser­con­tent)\.com

Diesen benötigen Sie später als Fil­ter­mus­ter. Achten Sie darauf, dass der reguläre Ausdruck alle Rech­ner­na­men ein­schließt, deren Traffic Sie via Google Analytics ana­ly­sie­ren möchten.

Fazit

Ghost-Spam erkennen Sie daran, dass der in der HTTP-Anfrage an­ge­ge­be­ne Host nicht mit den Rechnern Ihres Netzwerk über­ein­stimmt.

Ghost-Spam her­aus­fil­tern

Um Ghost-Spam in Ihrem Google-Analytics-Konto aus­zu­blen­den, brauchen Sie lediglich alle Rech­ner­na­men, die nicht zu Ihrem Netzwerk gehören, her­aus­zu­fil­tern. Nutzen Sie dazu einen ein­schlie­ßen­den Da­ten­an­sichts­fil­ter.

1. Kopie der Da­ten­an­sicht auswählen: Na­vi­gie­ren Sie in die Ver­wal­tung Ihres Google-Analytics-Kontos und erstellen Sie eine Kopie Ihrer Da­ten­an­sicht bzw. wählen Sie die zuvor erstellte Kopie aus.

2. Filter de­fi­nie­ren: Wählen Sie den Menüpunkt „Filter“ aus und klicken Sie auf „+ Neuer Filter“ > „Neuen Filter erstellen“.

Geben Sie einen be­lie­bi­gen Fil­ter­na­men ein (z. B. hostname blocker).

Treffen Sie unter „Fil­ter­in­for­ma­tio­nen“ folgende Ein­stel­lun­gen:

  • Filtertyp: „Be­nut­zer­de­fi­niert“
  • „Ein­schlie­ßen“
  • Fil­ter­feld: „Hostname“

Fügen Sie unter „Fil­ter­mus­ter“ den zuvor er­stell­ten regulären Ausdruck ein, um lediglich Rech­ner­na­men Ihres Netzwerks in die Da­ten­an­sicht ein­zu­schlie­ßen.

3. Filter ve­ri­fi­zie­ren: Klicken Sie auf „Filter über­prü­fen“, um zu testen, wie sich der Filter auf die aus­ge­wähl­te Da­ten­an­sicht auswirkt. Klicken Sie auf „Speichern“.

4. Filter auf die Haupt­an­sicht anwenden: Funk­tio­niert Ihr Filter wie gewünscht, über­tra­gen Sie diesen auf die Haupt­an­sicht Ihrer Daten.

Alle via Ghost-Spam über­mit­tel­ten Nut­zer­da­ten sollten nun aus­ge­blen­det sein. Der sta­tis­ti­schen Aus­wer­tung Ihres Website-Traffics steht somit nichts mehr im Wege.

Zum Hauptmenü