Ihr dachtet, ich wĂ€re fertig? Es gĂ€be nur eine SchĂ€tzung? Genaue Stats sind nicht möglich? Hmm… dachte ich auch erst, aber es kam anders đ
Cache Traffic fĂŒrs Blog: November 2022 – Part II
In einem Anfall von Programmierwahn, Trotz und etwas GlĂŒck konnte ich doch noch gute Analysen auf die Datenbasis von ATS machen und schaut mal, was dabei rauskam:
Experten erkennen jetzt natĂŒrlich sofort die Ausgaben eines des Ă€ltesten Webanalysetools: Webalizer
Da wĂ€re eine optisch neu aufgehĂŒbschte Version mal echt super. Vielleicht ist da was in der Mache đ
Da bekommen wir jetzt eine nette Ăbersicht ĂŒber die Tage und Zugriffe auf die URLS und das offenbart ein echtes Problem… nicht fĂŒr mich, fĂŒr die Hacker đ Weil wir die Stats jetzt vor dem Cache bekommen, sehen wir natĂŒrlich auch die IPs dazu. Daher kann Webalizer jetzt auch wieder ausrechnen, wieviel aus jedem Land dabei war ( nicht im Artikel zusehen ). Beim Durchlesen der Liste muĂte ich allerdings sehr, sehr oft den Kommentar „Hackerangriff“ abgeben, weil man seine Klientel schon kennt: .RU, .CN, .VN, .IN usw. usw.
Wie man sieht, war /xmlrpc.php ein sehr beliebtes Angriffsziel. Blogs brauchen das File aus historischen GrĂŒnden fĂŒr die Vernetzung und die Android App. FĂŒr einen regulĂ€ren Webseitenbetrieb ist das aber nicht nötig. Deswegen gibts in meinem Blog da auch einen HTACCESS Zugriffsschutz fĂŒr die Datei, so daĂ die Hacker allesamt daran scheitern, wenn sie versuchen darauf zuzugreifen. Das hĂ€lt die natĂŒrlich nicht ab, weil deren Scripte so blöde sind, tausende male die Webseite mit Schrott aufzurufen und ein 401 ( Auth Required ) als Antwort zu bekommen. 65k Zugriffe waren es nicht nur, weil im Cache erst noch ein entsprechender Blocker integriert werden muĂ, sondern weil das ganze Botnetze sind. Da kann man viele IPs blocken und trotzdem kommen die massenhaft an. Ungefiltert wĂ€ren das zwischen 250k und 500k pro Monat. Nicht selten habe ich an einem Tag auch mal 125k Versuche gemessen.
Die 401 Blockage hat fĂŒr meinen Server den Vorteil, daĂ kein PHP ausgefĂŒhrt wird, wenn die angreifen, was deutlich spĂŒrbar zur Serverperformance beitrĂ€gt. Kann ich Euch auch nur anraten. Nehmt gleich noch die „/wp-login.php“ und das „/wp-admin“-Verzeichnis dazu, da sollte auch niemand reinkommen, auĂer Euch.
Die Entry Points sind sehr spannend, weil die deutlich zeigen, daĂ das Blog primĂ€r via RSS Feeds eingebunden ist, deswegen ist /feed/ die dickste Startseite, von den Hackern mal abgesehen đ
An den TOP 30, wovon Ihr nur 15 seht oben, sieht man auch das Interesse an Àlteren BeitrÀgen z.B. /2020/03/02/xrdp-und-der-schwarze-bildschirm/ was immerhin 114x im November ausgerufen wurde. Da werde ich mir aber die gesamt Auswertung im nÀchsten Jahr mal ansehen. Ich hatte schon lange den Verdacht, daà WP selbst da viel zu wenig anzeigt.
Wie habe ich das jetzt gemacht?
Die Zugriffslogs vom ATS ( Apache TrafficServer ) liegen im BinÀrformat vor. Mit einem ATS Befehl kann man das in lesbare Zeilen umwandeln. Das sieht dann so aus:
1670194793.518 1259 185.136.205.XXX TCP_MISS/200 757 POST http://marius.bloggt-in-braunschweig.de/xmlrpc.php – DIRECT/marius.bloggt-in-braunschweig.de text/xml
Das kann aber kein Analysetool, daĂ ich bei einer schnellen Suche finden konnte, analysieren. Daher dachte ich mir: bau es doch einfach selbst in das Apacheformat um, dann kann Webalizer das machen. Ein bisschen JAVA spĂ€ter, weil Bash war mir zu anstrengend, und wir hatten das Apache Format. Da Webalizer frĂŒher schon fĂŒr uns gearbeitet hatte auf den Servern, war noch alles vorhanden. Also muĂte man es nur noch aufrufen und das Ergebnis in ein webfĂ€higes Verzeichnis kopieren:
/usr/bin/webalizer -X -p -K 12 -k 12 -A 30 -C 30 -R 30 -S 30 -U 30 -e 30 -E 30 -g 5 -j \
-c /etc/httpd/webstats/$DOMAIN -n „$DOMAIN“ \
-o /var/www/html/stats/$DOMAIN /tmp/webstats.log
/tmp/webstats.log ist natĂŒrlich das File, daĂ vom Java-Konvertiertool erzeugt wurde. Ihr könnt Euch denken, daĂ ich so ein Cache nicht nur fĂŒr mich laufen lasse, sondern, daĂ das auch andere mitbenutzen, weil es einfach echt nĂŒtzlich ist. Deswegen gibt es die Auswertung dann auch fĂŒr alle anderen Domains. In der angegebenen Config -c /etc/httpd/webstats/$DOMAIN stehen dann alle notwendigen Angaben, wo Webalizer die Zwischendaten speichern soll. Was Ihr da braucht, findet Ihr in der Webalizer Manpage oder im Web.
Danach noch einen Webaccount aufgesetzt, erzeugte Files hinkopiert und fertig ist die Statsseite fĂŒr ATS-Cachseiten \o/
Rein technisch kann man natĂŒrlich jedes andere Apachestatstool einsetzen. AWstats war mir jetzt zu unflexibel, was die Pfade und Config betrifft.