xmlrpc.php ist die beliebteste Ressource

xmlrpc.php ist die beliebteste Ressource im Blog, dabei kann man die gar nicht aufrufen, wenn man nicht ich oder WordPress ist 😉 Die Spammer der Welt wollen darĂŒber Forenspam verteilen, was mit Passwortschutz schwierig wird.

Das sind die Stats fĂŒr Dezember 2023

Die ist viel beliebter als die Startseite selbst 😉 vielleicht sollte ich das fĂŒr alle, die eh nicht zugreifen dĂŒrfen, auf die Startseite umleiten, dann hat es wenigstens einen Sinn 😉 Was meint Ihr ? 🙂

Blog-Stats seit EinfĂŒhrung des Trafficcache

Ich hatte ja letztes Jahr einen Apache Trafficserver vor das Blog geschaltet, damit die Aufrufzeit des Blogs besser wird. Das hat auch funktioniert, fĂŒhrte aber in den Statstools der Webseite, dazu, daß weniger angezeigt wird, weil weniger im WordPress ankommt.

Blog-Stats seit EinfĂŒhrung des Trafficcache

Schauen wir doch mal rein, was im MĂ€rz 2023 wirklich gewesen ist… 😀

Die Liste mit den TOP 30 URLS habe ich um Seiten wie Javascript, CSS, FEEDS usw. bereinigt. Da die bei allen Seiten beteiligt sind, ist klar, daß die mehr AufrĂŒfe als die echten Seiten haben. Daher die komischen Positionen in der TOP-Liste 😉 An Platz ein war die XMLRPC, weil die Hacker die mit Forenspam bombardieren 😀

Der Anfang des Jahres ist seit Bestehen des Blogs eher schwach besetzt, was ein Blick in die letzten 6 Monate bestÀtigt:

Die Zahlen fĂŒr April sind logischerweise noch nicht relevant.

Falls Ihr auch ein Cache haben wollt

Gibt es da mehrere Möglichkeiten: Ihr geht zu CloudFlare, zu meiner Firma, oder setzt Euch das Cache selbst auf. Letzteres ist eine tolle KompetenzĂŒbung in Sachen Web, weil Ihr alle den Spaß erfahren werdet, den ich auch hatte 🙂 Da Ihr den ganzen Loggingkram dann selbst bauen mĂŒĂŸt, könnte das den einen oder anderen ĂŒberfordern. Ist echt nicht fĂŒr jeden was. Zum Auswerten habe ich Webalizer nutzen mĂŒssen, weil alle anderen noch komplizierter Anzubinden waren oder gar nicht erst funktioniert hĂ€tten.

Den Apache Trafficserver könnt Ihr aus dem Fedora Repo bekommen, oder bei apache.org .

Cache Traffic fĂŒrs Blog: November 2022 – Part II

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.