Die 9% unknown traffic sind wohl vom Falken, oder?
Die 9% unknown traffic sind wohl vom Falken, oder?
#KriegIstFrieden
#FreiheitIstSklaverei
#UnwissenheitIstStärke
Hoffentlich findet ihr bald eine Lösung. Hier für eine Story was zu posten, ist im Moment echt nervig.
Danke jedenfalls für den Einblick, Shakka.
"fail2ban"
Die erste Vermutung waren China-Bots. Weil die werden immer mehr und fallen in den Logs auch auf. Dort scheint man sich darauf vorzubereiten, den Kunden im Ausland auch ohne Google vernünftige Suchergebnisse liefern zu können .
Nach dieser Betrachtung habe ich die China-Bots aber ausgeschlossen:
Wenn die Anfragen aus China nur 10% sind, dann würde es ja nur um 10% besser. Daran kann es ja nicht liegen?
Das Problem tritt aber in Wellen auf. Der Server hat selten mehr als 60 Anfragen gleichzeitig. Und dann von einer Sekunde auf die andere plötzlich mehr als er verarbeiten kann.
Ich habe die Anfragen mal genau beobachtet. In den Wellen waren auffallend viele Anfragen auf Forenindexe von Unterforen, die fast nie besucht werden (BE, Civ3,...) und dazu kaum Anfragen auf statische Ressourcen wie Bilder oder Scripts. Was in den normalen Phasen eher der Hauptteil der Anfragen ist.
Und wenn man die Geolokation nur in diesen Phasen betrachtet, ist der China-Traffic fast 100%.
Also sind die China-Bots doch das Problem.
In der Vergangenheit waren viele Bots offensichtlich als Bot von z.B. Huawei erkenntlich. Diese Bots kommen aber mit irgendwelchen zusammengewürfelten User-Agent-Angaben: Firefox auf Win10, Opera9 auf Mac, Edge auf Win7(NT6.1?), IE auf iOS...
Daher ist diese Lösung vielleicht doch das beste:
Die Suchanfragen sind grundsätzlich sehr resourcenfressend. Aber hier absolut nicht das Problem. Die Anzahl der Verbindungen ist einfach zu hoch. Der Server hat selten nennenswert Last. Das Scoreboard des Apache füllt sich einfach schlagartig mit ganz vielen Anfragen.
Verstand op nul, frituur op 180.
Kann man chinesiche IPs von nicht angemeldeten Usern ausschließen?
Als jemand, der selbst längere Zeit in Asien gelebt und schon damals immer geflucht hat, wenn irgendwelche Webseiten gesperrt waren, weil "IP-Adresse aus ihrer Region blockiert", halte ich eine generelle Blockierung von Adressen aus Land XY jedenfalls für keine ideale Lösung.
Wer weiß schon, wer hier alles im Forum aktiv ist, aber eben gerade ein Auslandsjahr in Shanghai macht, ein Praktikum in Singapur oder oder bei der deutschen AHK in Saigon arbeitet...
Civ6-Storys
Mansa Musa reist nach Cổ Loa - Civ 6 PBC 29 (Vietnam)
Skythische Koreaner in stürmischen Schlachten - Civ 6 PBC 6 (Korea)
Wikinger im Spiegeluniversum - Civ 6 PBEM 42 (Norwegen)
Louis, Gangnam Style - Civ 6 PBEM 36 (Korea)
Louis' Storys die vielleicht mal wieder aufgenommen werden:
[Wizardry 8] Balgerei um die Rote Laterne
[CK2] Anfänger Louis führt Abyssinien
Nein. Das würde nichts helfen.
Um festzustellen, ob eine Anfrage von einem echten User kommt, muss die Verbindung erst aufgebaut werden um dann das cookie zu verifizieren. Es ist nur dann zielbringend, wenn man die ungewollten Anfragen vor dem Verbindungsaufbau abweist.
Außerdem ist jeder User erst mal nicht angemeldet und kann sich erst danach anmelden.
Verstand op nul, frituur op 180.
Die Bots hatten noch eine Gemeinsamkeit:
Sie hängen an jede Anfrage in &s={32Zeichen} an.
Solche Abfragen habe ich nun im Apache auf die Verbotsliste gesetzt. Damit grenzen wir auch "gute" Bots aus, die sich als Bot zu erkennen geben und die robots.txt beachten usw. Aber mal sehen, wie viel das bringt. Das ist ja eben nach dem Verbindungsaufbau. Und die vielen gleichzeitigen Verbindungsversuche sind ja eigentlich das Übel. Aber wenn die Verbindungen so schneller bearbeitet werden, mag das trotzdem was bringen
Verstand op nul, frituur op 180.
Ich habe es nun so eingerichtet:
Wer mit einem Request ankommt wo ein &s=[0-9a-z]{32} angehangen ist, kriegt einen Vermerk ins Klassenbuch: "Hat versucht, etwas verbotenes zu tun: Code 403".
Wer innerhalb von 15 Minuten 3 Striche sammelt, kriegt 100 Minuten Hausarrest: In dieser Zeit werden alle Verbindungen mit dem Server abgewiesen.
In den letzten 15 Minuten wurden so 1500 IPs gebannt.
Hoffentlich keine echten User, die versehentlich irgendwo auf 403 stoßen.
Verstand op nul, frituur op 180.
Jetzt sind wir bei 2300 gebannten IPs.
Verstand op nul, frituur op 180.