StartSonstiges

facebookexternalhit wie eine DoS Attacke?

Bäm! Und nochmal Bäm! Und nochmal! Der Facebook-Bot haut einfach weiter drauf. Immer weiter. Bis die Anfragen ins 3000-fache steigen. Und der Server so? Wääähhh!

D(D)oS oder was?

Distributed Denial of Service – DDoS bzw. Denial of Service – DoS Attacken sind kein Zuckerschlecken. Seit einem Serverwechsel kam andauernd die Frage auf: Warum ist der neue Server plötzlich so langsam? Eigentlich müsste dieser doch schneller sein? Doch die Ladezeiten bei einem Forum gingäääähhhhhhn immeeeehhhhrr laaaaaangsaaamer. Zwischendurch schnell, dann wieder langsam. Dann wurde der Server sogar in die Knie gezwungen. Ein Watchdog wurde eingerichtet, um zeitweise Serverausfälle mit einem automatischen Neustart wieder zu beleben. Doch es ging so weiter. Die Erreichbarkeit wurde über Monate hinweg immer schlechter, die Ladezeit der Website immer länger. Aber zu Zeiten, wo überhaupt kein normaler Traffic vorhanden war. Was da los? DoS-Attacke? Nützlich war die softwareseitige Auflistung der Benutzer, die gerade online sind. Auffällig der Facebook-Bot mit dem Crawler-String: facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php). Naja, kann man ja mit einer robots.txt ausbremsen. Pustekuchen. Der Facebookbot interessiert sich nicht die Bohne dafür. Komplett aussperren bringt nichts. Er respektiert ein Disallow: / nicht.

Fun-Fact: In der eigenen robots.txt (https://www.facebook.com/robots.txt) ist ein

User-agent: facebookexternalhit
Disallow: /

vorhanden. Hä? Danke Meta! Frage: Warum listet Facebook eigentlich noch weiter Unterverzeichnisse nach dem Slash auf? Das bewirkt doch, dass sowieso die ganze Website nicht gecrawlt werden soll, oder?

Flooding

Auf jeden Fall gingen die Zugriffe auf ~3.000 pro Sekunde. Dreitausend! Immer wieder, immer mehr. Und es nahm kein Ende. Immer, wenn irgendwo ein Link in dem sozialen Medien Portal eingefügt wurde. So zumindest die Vermutung. Leider wird man durch verschiedene Suchanfragen mit dem „facebookexternalhit“ gleich auf Seite 1 bestätigt. Ein wenig ausführlicher beschreibt es dabei ParanoidPenguin.net in einem Blogeintrag anhand eines Beispiels bei WordPress.

Was hilft?

Abhilfe schaffte dann eine serverseitige Konfiguration, die bei einer Frage (auf Englisch) bei stackoverflow.com gestellt wurde (Modsecurity & Apache: How to limit access rate by header?). Denn damit konnte der Crawler (oder ist es ein Scraper) ausgebremst werden, da Einträge in der robots.txt überhaupt nichts brachten. Und siehe an: Die Website ist so schnell wie noch nie.

Verrückte (Netz) Welt! Der „Amazonbot“ ist übrigens auch nicht sooo dolle, allerdings blieb er bisher bei höchsten 300 Zugriffen pro Sekunde stehen. Und soll die robots.txt respektieren. Schau’n wir mal …

Die Frage bleibt, warum ein in der Theorie erst einmal nicht böser Bot so etwas macht? Was steckt dahinter? Habt ihr Erfahrungen mit nervigen Bots gemacht?

Kommentare (0)

Schreibe einen Kommentar

* =