• Willkommen im Forum „Tintenzirkel - das Fantasyautor:innenforum“.
 

Apache: Böse Bots aussperren

Begonnen von Sascha, 24. Mai 2017, 11:44:41

« vorheriges - nächstes »

0 Mitglieder und 1 Gast betrachten dieses Thema.

Sascha

Hi an alle Webmaster, die sich schon mit den Innereien eines Apache auskennen!

Ich hab ja lange Zeit meine Zugriffszahlen in der Strato-Statistik beobachtet und mich immer gefreut, wenn da mal viele Seitenzugriffe auftauchten. Ich war ja so naiv ... >:(
Irgendwann letzte Woche hab ich rausgefunden, daß fast alles von Bots verursacht wird. Nicht nur Google & Co., die man immerhin mit einer vernünftigen robots.txt zur Raison bringen kann, sondern auch diverse Crwaler und Spider, die sich einen Dreck um die robots.txt kümmern und alles gnadenlos durchscannen, ohne, daß ich davon irgendwas habe.
Also wollte ich die Biester aussperren.

Zuerst hab ich meine robots.txt angepaßt:
User-agent: *
Disallow: /
Crawl-delay: 600

User-agent: Googlebot
User-agent: Googlebot-Image
User-agent: Mediapartners-Google
User-agent: msnbot
User-agent: msnbot-media
User-agent: Slurp
User-agent: Yahoo-Blogs
User-agent: Yahoo-MMCrawler
User-agent: bingbot
User-agent: archive.org_bot
Crawl-delay: 600

Ob Yahoo heute überhaupt noch aktuell ist, sei mal dahingestellt, aber Google und Bing kriegen so noch Zugriff, der Rest, die ganzen Russen und Chinesen nicht. Suchmaschinen, die ein bißchen Anstand haben, hab ich damit.
(Den Tip hab ich irgendwo aus dem Netz, Link nicht behalten.)

Dann gibt es aber z.B. solche netten Zeilen hier im access.log:
Zitatfantasy.raubal.de anon-217-25-186-245.ip.invalid - - [19/May/2017:12:35:35 +0200] "GET / HTTP/1.1" 200 14027 "-" "Java/1.6.0_04"
Diese Mistdinger fressen sich dann binnen Sekunden durch sämtliche Seiten meines Auftritts.
Außerdem tauchen noch Baiduspider und der AhrefsBot ziemlich oft auf.
Hab dann im Netz nach Tips gesucht und zuerst mal gegen Java das hier in der .htaccess ausprobiert:
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^Java
RewriteRule ^.*$ - [F]

Erfolg leider null.

Dann hab ich folgendes gefunden und ausprobiert (wieder .htaccess):
BrowserMatch Java boeser_bube
BrowserMatch AhrefsBot boeser_bube
BrowserMatch Baiduspider boeser_bube
Order Deny,Allow
Deny from env=boeser_bube

Erfolg: TÖDLICH! Ein Zugriff auf die Hauptseite funktionierte noch, aber jede Unterseite meldete eine 404 zurück. Hab ich nach zwei Tagen gemerkt, da ich Depp nur die Hauptseite (also /) aufgerufen hatte und dachte, wenn die geht, geht alles.

Tja, nun steh ich da und hab immer noch jede Menge Seitenzugriffe, die mir nichts, aber auch gar nichts bringen.
Ich meine, ich bewege mich hier im unteren dreistelligen Bereich, es geht nicht um den Traffic. Nur machen diese Penner sämtliche Statistiken für mich komplett nutzlos.

Langer Rede kurzer Sinn:
Hat irgendjemand einen guten Tip für mich, wie ich Java, Baiduspider usw. aussperren kann, ohne mir die Seite lahmzulegen? Klar erwische ich nicht alle, aber wenigstens einen Großteil möchte ich kaltstellen.

Danke schon mal!

Maja

Frage: Warum willst du die Bots aussperren? Dass sie zu viel Traffic verursachen, sollte heute ja kein Problem mehr darstellen, und ich kann mir nicht vorstellen, dass die Performance darunter leiden sollte. Wenn es dir nur um die zugemüllten Logfiles geht, solltest du vielleicht da ansetzen, dass du vor der Auswertung die entsprechenden Crawler rausrechnest? Die meisten Logfilesanalysatoren sind dazu in der Lage.

Oder willst du verhindern, dass deine Seite in Suchmaschinen auftaucht?
Niemand hantiert gern ungesichert mit kritischen Massen.
Robert Gernhardt

Sascha

Weil ich mich einfach unglaublich geärgert hab.
Da hatte ich mal an einem Tag über 300 Pageviews, dachte mir  :o geil, so viele Besucher, und dann waren das fast nur Crawler, die meine Seiten komplett durchgescannt haben. Vermutlich, um mir danach Viagra, Schw...verlängerungen und willige Nachbarinnen anzudrehen. Das hat mich einfach tierisch aufgeregt, weil meine Logs dadurch komplett nutzlos werden.
Logfile-Analysatoren, ja, da müßte ich mich auch erst wieder reinlernen. Strato selbst bietet mir in meinem Paket sowas nicht an, und den Wechsel zu einem anderen Provider hab ich dieses Frühjahr wg. Arbeit nicht geschafft. Ich komme nur im Frühjahr aus dem Vertrag (bin da schon seit min. 15 Jahren). Ich hab mal rumgesucht, bin aber auf die Schnelle nicht so ganz schlau aus den Beschreibungen geworden. Bestimmt kann man denen auch externe Logfiles vorwerfen, ich hab aber nur Anleitungen gefunden, wie man die Dinger auf den installierten Apache setzt. War mir dann einfach zu viel in dem Moment, da noch lange rumzurätseln.

Aber Du erinnerst mich daran, daß ich die Lösung inzwischen gefunden habe. Es hätte nur noch eine Zeile mehr ins .htaccess gehört:
BrowserMatch Java boeser_bube
BrowserMatch AhrefsBot boeser_bube
BrowserMatch Baiduspider boeser_bube
Order Allow,Deny
Allow from ALL
Deny from env=boeser_bube

So sind die Javafuzzis und zwei andere ausgesperrt.
Manche Scanner geben sich leider als Safari usw. aus (sind ja nicht alle zu doof, den String zu ändern, wenn sie sowas bauen), aber in den wesentlich kleineren Logs jetzt kann ich das viel leichter sofort erkennen und per Kopf ausfiltern. An denen würde wahrscheinlich auch ein Analysetool scheitern, weil sie ja Kennungen von echten Browsern nutzen. Da kann man es dann nur an dem großen Block erkennen, in dem massenhaft Anfragen in derselben Sekunde einschlagen. Teilweise ändern die Schweinebacken sogar mittendrin die IP (bis hin zum Provider) oder den Client String, man kann es nur am Verhalten der Anfragen erkennen. Die kriegt auch kein Programm gefasst.

Ahso: Doch, meine Seite soll natürlich in Suchmaschinen auftauchen, deshalb habe ich in der robots.txt ausdrücklich Google, Bing, Yahoo und archive.org den Zugriff gestattet. Aber mir nutzt es (im Gegensatz zu Dir) gar nichts, wenn diverse russische Suchmaschinen meine Seiten ständig durchscannen. Oder die Chinesen.

Jetzt sind meine Zugriffszahlen drastisch zurückgegangen, aber dafür kann ich wenigstens die Logfiles lesen und ersaufe nicht in einem Wust von Unsinn. Okay, dafür muss ich jetzt auch der Realität ins Auge sehen, daß kaum jemand sich meine Seiten anschaut. :(