Das Proxy-Problem

Johannes Beus
Johannes Beus
16. August 2007
Johannes Beus
Johannes Beus
Johannes Beus ist Gründer und Geschäftsführer von SISTRIX.

Ein Problem, das seit einiger Zeit aktuell ist, aber anscheinend noch nicht genügend Öffentlichkeit gefunden hat, damit die großen Suchmaschinen aktiv werden, hat – wie bei der 302-Hijack-Problematik – mit der Übernahme von Inhalten zu tun. In einer Reihe von Ländern, wie beispielsweise China oder den Vereinigen Arabischen Emiraten, gibt es keinen freien Internetzugang: aller Traffic, der die Landesgrenzen passieren will, geht über staatliche Router und wird dabei zensiert. Das Internet wäre nicht das Internet, gäbe es keine technischen Möglichkeiten der Umgehung dieser Zwangszensur. Neben ausgefeilteren Möglichkeiten, wie sie der Anonymisierungdienst „Tor“ oder der Einsatz eines VPN-Gateways im Ausland bieten, hat sich auch eine technisch deutlich simplere Möglichkeit durchgesetzt. Kleine Scripte, meistens in PHP oder Perl geschrieben, können auf jedem Webspace-Account, der eine dieser Scriptsprachen unterstützt, installiert werden und bieten eine Art simplen, nicht transparenten Proxydienst. Der User gibt die Seite, die er besuchen möchte ein, der Server, auf dem das Script liegt holt diese und gibt sie aus. Um jetzt den Bogen zum Problem, das sich dadurch aus Suchmaschinensicht stellt, zu spannen, hier der typische Crawlvorgang, wenn der Google-Crawler eine Seite abruft:

imagenotfound
Der Googlebot greift direkt auf die Seite zu, erhält von der den Inhalt und fügt diesen dann seinem Index hinzu. Dadurch, dass diese Proxy-Scripte nun auf einem normalen Webspace-Account laufen, sind sie auch über den normalen Weg, den auch der Googlebot geht, erreichbar. Im folgenden Fall wäre die Homepage beispielsweise neben der Adresse www.example.com auch über www.proxy.com/proxy/www.example.com zu erreichen.

imagenotfound

Da der Proxy die Inhalte der Homepage in seiner Funktion Eins-zu-eins spiegelt und – das ist wichtig – unter seiner URL widergibt, tritt hier das bereits hinreichend bekannte Duplicate-Content-Problem auf: Google sieht den gleichen Inhalt mehr als einmal und muss sich nun entscheiden, welches das Original ist und folglich in den Index aufgenommen wird und welches die Doubletten sind. Prinzipiell hat Google seit der Einführung einer neuen Architektur, intern auf den Namen „Big-Daddy“ getauft, große Fortschritte in diesem Bereich gemacht, perfekt ist sie allerdings bei weitem noch nicht. So kommt es, dass Google des Öfteren die Proxy-Seite als Original erkennt, die eigentliche Homepage aus dem Index wirft und den Proxy stattdessen aufnimmt. Die Auswirkungen dieses Verhaltens erstecken sich übrigens nicht nur auf die eine Seite, die der Proxy hijacked: so soll man sich vorstellen, dass der eigenen Homepage die Hauptseite, meistens auch Hauptlinkhub, genommen wird.

Die erste Lösung, die üblicherweise zuerst probiert wird, besteht in der Sperrung des jeweiligen Proxys. Entweder wird der User-Agent oder aber die IP-Adresse des Proxys auf dem Server, auf dem die Homepage liegt gesperrt, so dass der Proxy die Seite nicht mehr ausliefern kann. Leider gibt es mittlerweile eine nahezu unüberschaubare Anzahl dieser Webproxys, täglich kommen neue hinzu und auch bei den User-Agent-Angaben zeigen die Betreiber sich häufig recht erfinderisch. Auch sind es nicht nur uneigennützige Betreiber, die den armen, zensurgeplagten Surfern in den angesprochenen Ländern helfen wollen sondern teilweise auch Geschäftsmacher, die absichtlich Seiten über diese Proxymethoden hijacken und zusätzlich noch ihre Werbung einblenden. Gerade bei diesen Fällen sind die Verschleierungstaktiken mittlerweile so ausgefeilt, dass ihnen schwer beizukommen ist.

Die zweite Methode geht einen etwas ungewöhnlicheren Weg, verspricht allerdings deutlich mehr Erfolg. Die zugrunde liegende Idee ist, dass die Webseiten an alle Besucher mit einem „Noindex“-Metatag ausgeliefert werden. Lediglich, wenn ein verifizierbarer Suchmaschinenbot die Seite anfordert, wird dieser Metatag entweder weggelassen oder ein „Index,Follow“-Tag gesendet. Dies hat zur Folge, dass der Googlebot auf dem direkten Weg die Erlaubnis erhält, die Seite zu indexieren, während die Proxy-Version – da sich der Proxy ja nicht als regulärer Suchmaschinenbot ausweisen kann – die Noindex-Anweisung enthält. Die Entscheidung, welche Seite in den Index aufgenommen wird, wird der Suchmaschine leicht fallen. Dankenswerterweise haben die vier großen Suchmaschinen (Google, Yahoo, Microsoft, Ask.com) im letzten Jahr einen einheitlichen Mechanismus zur Verifizierung ihrer Suchmaschinenbots etabliert: Durch Auflösen der IP-Adresse des Zugriffes auf den zugehörigen Hostnamen, der einem der Suchmaschinen entsprechen muss sowie erneutes Auflösen dieses Hostnamens auf die IP-Adresse kann man zweifelsfrei feststellen, ob der Zugriff von einem echten, oder einem der vielen gefakten Googlebots erfolgt ist. Eine Umsetzung dieser Lösung in PHP kann beispielsweise so aussehen:

<?php 

if(preg_match('/(Googlebot|Slurp|Jeeves|msnbot)/'$_SERVER['HTTP_USER_AGENT'])
&& 
preg_match('/(.googlebot.com|.yahoo.net|.inktomisearch.com|.ask.com|.live.com)$/'gethostbyaddr($_SERVER['REMOTE_ADDR']))
&& (
gethostbyname(gethostbyaddr($_SERVER['REMOTE_ADDR'])) == $_SERVER['REMOTE_ADDR'])) {
    echo

'<meta name="robots" content="index,follow">';} else {

echo

'<meta name="robots" content="noindex,nofollow">';}

 

?>

Natürlich darf auch nicht verschwiegen werden, dass auch diese Lösung Nachteile hat. Zum einen werden außer denen im Script hinterlegten, alle weiteren Suchmaschinen ausgesperrt. Gerade kleineren, die diese Verifizierung per DNS-rDNS-Auflösung (noch) nicht unterstützen oder die einfach nicht eingetragen sind, kann damit das Crawlerleben schwer gemacht werden. Auch müssen für jeden Seitenaufruf zwei DNS-Abfragen durchgeführt werden – je nach Geschwindigkeit des abgefragten Servers kann dieses die Antwortzeiten deutlich verlängern. Eine Lösung mit intelligentem Caching der Abfragen ist also besonders für größere Seiten unbedingt zu empfehlen. Ebenfalls nicht ausgeschlossen werden kann, dass Betreiber der Proxyserver die Meta-Tags einfach wieder umschreiben oder entfernen und die Maßnahme somit im Sande verläuft. Trotz allem ist dies derzeit wohl die bestmögliche Methode, um dem Hijacking durch Proxys zu begegnen.

Ähnliche Beiträge
Kommentare
S1ic3r   
17. August 2007, 11:40

Interessanter Beitrag! War mir dessen gar nicht bewusst…

Christian Schmidt   
17. August 2007, 13:37

Nette Idee, das die kleinen Suchis ausgeschlossen werden stört glaube ich nicht so stark da da ja eh kaum Traffic rüber kommt.

polarizer@codixx.de   
17. August 2007, 14:52

Eigentlich sollte es ein Leichtes sein, die genannten PHP-Scripte so zu modifizieren, daß sie entsprechende Tags entfernen oder hinzufügen.

Angenommen diese liefern aber den Content 1:1 aus, sollte

<base href=“http://www.example.com/“ />

im HTML-Header die Herkunft doch eindeutig beschreiben und kann unbesehen an Surfer wie auch Bots ausgeliefert werden.

my 2 cents

the polarizer

Markus   
17. August 2007, 15:02

>301-Hijack-Problematik

Ist zwar offtopic, aber meinst du 302-Hijacking, oder ist mir da was entgangen?

Abakus   
17. August 2007, 15:09

hier findet sich auch noch eine interessante Lösung:
http://boardunity.de/proxy-hijacking-tun-t5102.html

hat die mal jemand verifiziert?

Abakus

Johannes   
17. August 2007, 15:10

Markus, genau die meinte ich, danke für die Korrektur.

polarizer, das Problem sind nicht die „normalen“ Besucher. Bei denen ist es einfach nur ärgerlich, wenn sie auf der falschen Seite sind. Das Problem ist der Googlebot, der dann deine Seite rauswirft, da er die Kopie, die unter der Proxyadresse liegt, als das Orginal ansieht. Und soweit ich weiss, hat die Base-Angabe keine Auswirkungen auf den Googlecrawler oder hast du dort Erfahrungen mit?

Johannes   
17. August 2007, 15:18

Abakus, die Lösung dort ist vergleichbar mit dem Sperren einer IP-Adresse oder eines User-Agents, nur wird eben dieser X-Header als Kennzeichen genommen. Das Problem ist jetzt, dass zum einen die wenigsten der Proxys diesen Header senden und zum anderen dort draußen nicht nur nette, freundliche Menschen, die nur dein bestes wollen unterwegs sind. Will sages: Viele Proxibetreiber legen es bewusst darauf an, andere Seiten zu Hijacken und werden folglich keine Header oder Merkmale senden, mit denen sie identifiziert werden können.

Michael   
18. August 2007, 09:10

Was hindert den „Geschäftsmacher“ daran, seinen Proxy so einzustellen, dass die gespeicherte Seite wieder ein „index,follow“ bekommt? Eigentlich nichts…

Johannes   
18. August 2007, 09:39

Michael, das ist richtig, hatte ich im letzten Absatz ja auch angesprochen nur sind das dann nicht mehr die Proxys, die als Hilfe für irgendwen oder irgendwas aufgesetzt wurden. Wenn der Content verändert wird, kann sich da schlecht jemand rausreden und es geht in Bereiche, die auch rechtlich relevant sind.

Michael   
18. August 2007, 11:29

Sry, habe deine vorletzte Zeile überlesen…

tba   
18. August 2007, 14:38

ein nettes toll findet sich auch hier: http://www.bot-trap.de/
ist zwar auch auf das aussperen von ips beschränkt aber dadurch, daß mehrere daran mitwirken hat man einen kleinen zeitvorteil gegenüber der methode selber die ips zu sperren.

Johannes   
18. August 2007, 18:21

Halte diese Bot-Trap-Projekt ehrlich gesagt für Unsinn. Auch, wenn die Idee vielleicht nett ist, so ist die Umsetzung nervig. Irgendwelche „Admins“ sperren da ohne Sinn und Verstand komplette IP-Ranges, hat zB zur Folge, dass unser VPN dort gelistet ist. Aber gut, überraschenderweise korreliert die Qualität von Seiten meistens negativ mit dem Einsatz dieses „Restrictors“, so dass ich es verschmerzen kann.

Monika   
18. August 2007, 22:59

Hi Johannes, wenn Du meinst, dass etwas zu unrecht bei bot-trap.de gesperrt ist, dann kannst du entsperren lassen.

*dass unser VPN dort gelistet ist. Aber gut, überraschenderweise korreliert die Qualität von Seiten meistens negativ mit dem Einsatz dieses „Restrictors“,…*

Wusste gar nicht, dass keine einzige meiner Domains, Deinen Qualitätsansprüchen gerecht wird.

lg

Johannes   
18. August 2007, 23:16

Monika, das wär‘ das mittlerweile dritte mal, dass ich eine IP-Adresse eines großen deutschen Provider, die ich nutze „entsperren“ lassen würde. Das erste und zweite mal waren es Schlund/1&1 und Strato, jetzt wäre es Hetzner. Wohlgemerkt, es geht hier nicht um irgendwelche Südkoreanischen Provider ohne Abuse-Abteilung sondern um die größten Deutschen, von denen komplette, weitreichende IP-Ranges gesperrt werden. Es ist mir ehrlich gesagt zu blöd, um Zugang in einem Forum betteln zu müssen. Ich sehe Besucher einer Seite als Geschenk an, wenn andere sie als Nötigung ansehen und ihnen den Zugang soweit wie möglich versperren mag das so sein, ich mach da allerdings nicht mit.

Olaf   
19. August 2007, 17:22

Interressant – fragt sich nur, wie dieses Vorgehen mit den Anforderungen von Google & Co zu vereinbaren ist. Die stoische Weisheit ist doch, dass dem Googlebot nichts anderes Vorgesetzt werden darf als dem normalen Benutzer und genau das passiert hier… 😉

Mario Frischer   
5. September 2007, 09:44

Was ist mit den Cloaking Detektoren von Google?
Wenn ein Robot mit Mozilla-Kennung und unbekannter IP von Google kommt (ja, das machen die regelmäßig;-) bekommt er eine andere Version der Seite. Es ist zwar nur eine Zeile im Header der Seite – aber liegen denn schon Langzeit-Erfahrungen vor, ob es da Probleme geben kann?
Das ist zwar ein „white head“ Cloaking, aber das kann Klein-Googiebot ja nicht unterscheiden. Wenn er deswegen ein Cloakingflag setzt – gute Nacht. Dann verschwindet aber auch der Proxy mit diesen Seiten aus den Index… 😉

Johannes   
5. September 2007, 09:51

Mario, Google hat bei Cloaking ja gar nicht (mehr) diese absolute Einstellung, dass alles, was Cloaking ist gleichzeitig böse ist. So wird mittlerweile von Google selber empfohlen, Session-IDs von Webshops wegzucloaken. Dieses Vorgehen hier könnte man ähnlich sehen, da der User immer den gleichen Content sieht, nur technische Merkmale wie die Session-IDs oder diese meta-noindex-Sache anders ausgegeben werden. Klar, eine gewisse Restgefahr ist immer vorhanden, sollte hier aber nicht überschätzt werden – gerade in Hinblick auf die Probleme, die Webproxys einem mit dem Ranking der Seite bescheren können.

Airport1   
21. September 2007, 18:19

> Das erste und zweite mal waren es Schlund/1&1 und Strato, jetzt wäre es Hetzner. Wohlgemerkt, es geht hier nicht um irgendwelche Südkoreanischen Provider ohne Abuse-Abteilung sondern um die größten Deutschen, von denen komplette, weitreichende IP-Ranges gesperrt werden. [..] Ich sehe Besucher einer Seite als Geschenk an

Nicht ganz richtig. Denn Server besuchen keine Seiten. Besucher sind normalerweise menschlichen Ursprungs 😉 Dein Bot liest zwar, missachtet dann aber die robots.txt. Sagt zumindest ein Moderator 😉

Johannes   
21. September 2007, 19:32

Macht ihr, wie ihr wollt. Für mich ist das Thema – auch wegen der unglaublich ignoranten und überheblichen Art von euch in eurem Forum – ausdiskutiert.

Masseaufbau mit Creatin   
1. November 2007, 16:02

Für mcih auch. alle wichtigen Sachen wurden geklärt. Hat mir aber sehr weitergeholfen. danke

goforward   
28. November 2007, 20:30

Die Idee mit dem Skript ist gut und ich habe mir dazu auch so meine Gedanken gemacht. Ein besonderer Fall ist allerdings bei den Proxies vorhanden, warum es mit diesem Schutz nicht funktionieren kann. Die Proxies nehmen keine Inhalte auf, sondern fordern diese on-demand an. D.h. es wurden nie Inhalte von den Proxies aufgenommen. Die haben gar nicht soviel Speicherkapazität für das ganze Web. Wenn die Daten gespeichert wären, würde es auch nicht ewiglich dauern, bis die Proxies Webseiten verfügbar machen. Die schuldigen sind die Suchmaschinen. Diese laden über Ihre Preloader die Inhalte der Proxies runter und dann wird gecached, also gespeichert. Also ein schlauer Trick, um Webseiten größer zu machen und nichts auf seinem Server zu speichern.

Grüsse
goforward

Predonna   
3. Februar 2008, 22:51

Nette Idee, Johannes.

Leider auch nur bedingt brauchbar. Ich hatte gestern einen NPH-Proxy gecheckt, der generell die Robots-Metas entfernt. Was er sonst noch generell entfernt …, keine Ahnung. Vielleicht auch die Base-Anweisungen.
Und vielleicht ist diese Mutation dieses Proxies auf die entsprechenden Hinweise in diesem, Deinem Artikel zurückzuführen – die Gegenseite schläft nicht !!!
Das Problem aber, so meine persönliche Auffassung, löst einzig die Antwort auf die Frage: „Wer steckt dahinter?“

Niemand wird natürlich öffentlich bekunden: Ich war’s.
Demzufolge muß man sich fragen, wem solche unfairen Methoden einen Nutzen bringen.
Vielleicht besteht die Aufgabe eines black hats, der vorne steht, darin, niemanden sonst nach vorne zu lassen.
Und die Ergebnisse meiner Recherchen weisen eindeutig daraufhin, daß es für diese schmutzigen Arbeiten „Auftragskiller“ gibt.

Was den vermeintlichen Schutz mittels bot-trap.de anbelangt, so kann man dieses Projekt, in diesem Zusammenhang, nicht ernsthaft benennen.
Wogegen schützt bot-trap.de: Gegen Proxies, die ihre Arbeit bereits getan haben, also gerade mal gegen potentielle Kollateralschäden. Dies und auch die Verhinderung eines gezielten Anschlages, lassen sich bereits erreichen, indem man den Googlebot verifiziert.
Und was mir in diesem Zusammenhang immer wieder einfällt, ist die Aussage eines geschätzten Kollegens: Märkte entstehen nicht von selbst – sie müssen erschaffen werden!

Predonna

Evaline   
16. September 2012, 01:32

The forum is a brigther place thanks to your posts. Thanks!

Die Kommentarfunktion wird 30 Tage nach der Veröffentlichung des Beitrags deaktiviert.