IP im Webauftritt blockieren

Samstag, 25. November, 2023

Heute Abend hat mein Appmonitor [1] festgestellt, dass meine Webseite keine Antworten mehr beim Monitoring-Check sendet.
Nach einigen Minuten kam der Webservice wieder … und verabschiedete sich aufs Neue.

In der Webseitenstatistik Matomo [2] war schnell ein potentieller Kandidat gesichtet, der “etwas” mehr als üblich Seiten vom Webauftritt abruft: 4000 Requests über 5 Stunden - das ist mehr als das übliche Mass von 1 bis 2-stelligen Seitenaufrufen von einem Benutzer.

2023-11-24-many-requests-fra.png

Abhilfe:

Mein Provider nutzt den Apache Httpd. In der .htaccess im Webroot habe ich die gefundene IP blockiert. Matomo anonymisiert die IP-Adressen - ich sehe sie nicht komplett. Ich war so frei und habe den kompletten D Block ausgeknipst.

...
# -- DENY given IP addresses --
<RequireAll>
    Require all granted

    # 2023-11-24 Roubaix FRA - provider ip-15-235-42.net
    Require not ip 15.235.42.0/24 

</RequireAll>
...

Weiterführende Links

  1. IML Appmonitor Docs (Freie Software; PHP) Source
  2. matomo.org - Webseiten-Analyse (Freie Software; PHP und Mysql)

Pimped Apache Status - PHP 8.2 kompatibel

Montag, 22. Mai, 2023

Der Pimped Apachestatus ist ein Webtool, dass die etwas schwer verdauliche Apache Serverstatus Page aufbereitet. Es gibt verschiedene Ansichten, sortier- und filterbare Tabellen und Graphen. Das ganze funktioniert nicht nur für einen einzelnen Server, sondern auch für mehrere Webhosts, z.B loadbalante Webeiten.

2023-05-22-pimped-apache-status.png

Am Wochenende gab es ein Update, in dem einige Vendor-Bibliotheken aktualisiert wurden.

Da die als kompatibel bestätigte Version 8.0 alsbald ausläuft, wurde es mit neueren PHP Versionen getestet. Es ist nunmehr PHP 8.2 kompatibel.

Zum Aktualisieren meldet sich der Updater. Bei Installationen mit git bitte git pull verwenden.

Weiterführende Links:

Update ahCrawler v0.156

Mittwoch, 14. Dezember, 2022

Ich habe ein Update des ahCrawler veröffentlicht.
In diesem Release kamen hinzu

  • meine Docker-Entwicklungsumgebung wurde aufgenommen
  • die Dokumentation wurde neu geschrieben als Markdown und ebenfalls im Repo aufgenommen
  • es gibt zahlreiche Updates im Bereich der Suche im Backend und Frontend.

2022-12-12-ahcrawler-update.png

Das führte dazu, dass die Verzeichnisstruktur des Repos verändert werden musste. Alle bisherigen Files konnten unterhalb Webroot in einem beliebigen Unterverzeichnis geklont werden. Nun wurden alle Webfiles in den Unterordner “public_html” verschoben. Git basierte Installationen machen eine laufende Instanz mit einem Update kaputt, aber ich hoffe, ich habe es gut genug dokumentiert.

weiterführende Links:

  1. Github: Sourcecode
  2. Docs (axel-hahn.de): Changelog
  3. Docs (axel-hahn.de): Upgrade auf v0.156 (Zielseite wurde wg. veralteter Version entfernt)
  4. Twitter-Post zum Update
  5. Mastodon: Tröööt zum Update auf fosstodon.org

Fun: Virenwarnung versendet durch Republic of skincare dot com

Donnerstag, 18. August, 2022

Hach, das war ja mal wieder eine lustige Spam-Mail.

Jemand mit Absender info@republicofskincare.com kennt sich supergut mit Computern aus! Bei dem etwas fachfremd anmutenden Domainnamen ist es gut, dass sie sogleich mit fundiertem Wissen glänzen und meine Bedenken sowas von vom Tisch fegen.

Ganz usability freundlich werden mir 2 grosse Buttons angeboten. Der linke von beiden ist geisterhaft weiss und ist nicht beschriftet - den soll ich wahrscheinlich gar nicht anklicken. Dann ist ja nur noch einer übrig. Das nenne ich durchdachte Benutzerführung.

“Branchenbester Malware-Schutz, Adware- und Spyware-Cleaner
Repariert Dateien & ist ressourcenschonender als jedes andere Antivirus.”

Grandios!

2022-08-18-republic-of-skincare.png

Matomo-Javascript Tracking Code auslagern

Samstag, 3. Oktober, 2020

Matomo empfiehlt zum Tracken einer Webseite den Einbau des Codeschnipsels innerhalb des HTML Dokuments … im Head Bereich. [1]

Aber: das Hineinschreiben von Javascript Code in das HTML Dokument ist nicht so recht günstig, wenn man im CSP Security Header das Attribut script-src sicher und ohne unsafe-inline konfigurieren will. [3]

Die Abhilfe besteht darin, dass man [2]

  1. das Snippet in eine Javascript Datei auslagert.
  2. den Aufruf des Trackens im Onload Event einfügt - der ebenfalls in der Javascript-Datei ist und nicht im HTML-Code einer Webseite.

Hier einmal ist die Funktion embedTrackingCode benannt:

function embedTrackingCode() {
	var _paq = window._paq = window._paq || [];
	_paq.push(["trackPageView"]);
	_paq.push(["enableLinkTracking"]);

	var u="/matomo/";
	_paq.push(['setTrackerUrl', u+'matomo.php']);
	_paq.push(['setSiteId', 1]);

	var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript";
	g.defer=true; g.async=true; g.src=u+"matomo.js"; s.parentNode.insertBefore(g,s);    
}

… welche bei Abschluss des Ladevorgangs initialisiert wird:

window.onload = (event) => {
	embedTrackingCode();
};

Hinweis:

Wenn der Tracking Code in einer Javascript-Datei ist, muss man das Http-Caching der JS Datei bei einem expires= im Http Response Header beachten. Man ist u.U. nicht mehr so flexibel, wenn man den Code anpassen wollte, weil Browser das Javascript aus dem Cache nehmen, statt frisch vom Server die angepasste Version zu holen. Man kann per ETag cachen lassen … oder kann die JS-Datei mit Versionsnummer benennen.

weiterführende Links:

  1. Matomo Guide: JavaScript Tracking Client (en)
  2. Matomo Blog: Different ways of embedding the Matomo tracking code for faster website performance (en)
  3. developer.mozilla.org: CSP Header - script-src (en)

Spam: Fake-Termin-Flut bei Google-Kalender

Montag, 2. September, 2019

Heise meldet: Mails mit Spam-Terminen fluten die Konten von Nutzern des Google-Kalenders. Einen Filter für die automatische Übertragung gibt es nicht.

Ich habe ganz sicher in meinem Google-Kalender noch nie eine bewusste Einstellung getroffen. Wem es ebenso geht, der sollte ebenso einmal seine Einstellungen öffnen und die Option zum Hinzufügen der Einladungen von automatisch (=alle per E-Mail zugestellten Einladungstermine werden immer ohne Zutun im Kalender angelegt - jenes ist das Einfallstor) auf etwas Schwächeres einstellen.

So geht es:

(1)
Einstellungen aufrufen Google Kalender Einstellungen

(2)
… dann links auf “Event settings”

(3)
… dann sollte man die Einstellung bereits sehen:

2019-09-02-google-cal-settings.png

weiterführende Links:

  1. Heise: Fake-Termine: Spam-Flut bei Google-Kalender

Amazon Alexa - meine Seite kommt Rang 60.000 näher

Donnerstag, 30. Mai, 2019

Amazon Alexa … ist das nicht ein Lautsprecher?
Wenn wer sich das fragt, hat Amazon vielleicht ein Branding Problem. Aber das soll nicht meines sein.

Nein, ich meine das schon viel ältere Amazon Alexa - das mit mit den Webseiten-Rankings.

Hin und wieder schaue ich, wie sich das Ranking von axel-hahn.de in Deutschland verhält. Und das schwankt! Was ich über die letzten Monate so sehe:

  • Im März lief es mal aus dem Listing heraus (über Platz 150.000 vermute ich).
  • Binnen einer Woche schwankt es mal um 30.000 Plätze. Auf 4 Stellen nach - äh: VOR - dem Komma braucht man nicht so genau schauen.
  • Seit Ende März 2019 bewegt es sich um Platz 100.000 (+/- 10.000 Plätze)
  • Ende April war er bei Rang 135.000 (weltweit: 1.5 Mio) … und fällt seitdem
  • Am 29.5. kam ich auf 60931 (weltweit: 1.2 Mio)

Wenn ich mal Zeit habe (hm, das ist ein ganz böses geflügeltes Wort für: das tritt eh nie ein :-)), dann mache ich die PHP-Klasse, mit der ich die Alexa-Statistik einhole, mal schön … wie auch öffentlich.

weiterführende Links:

  1. Golb Slexa: Klettern im Alexa-Ranking
  2. www.alexa.com (en)

Pimped Apache Status: über 500 Downloads im März

Freitag, 24. Mai, 2019

Ich bin leider erst soeben darüber gestolpert: diesen März gab es auf Sourceforge einen absoluten Peak von 565 Downloads im Monat.

2019-05-25-downloadstats-pimped-apache-status.png

Warum habe ich das nicht gesehen?

In die tageweise Statistik reingezoomt … davon waren 500 an einem Tag (19.3.) - ich glaube, da hat sich wer einen Scherz erlaubt und wget bemüht - oder gar öfter F5 im Browser gedrückt.

So schnell kann eine kleine Euphorieblase wieder platzen.

weiterführende Links:

  1. Axels Webseite - Docs Pimped Apache Status Get started - hier ist das Youtube Video
  2. Github: Pimped Apache Status
  3. Sourceforge: Pimped Apache Status

PHP: komisch grosse Zeiten in Curl

Mittwoch, 8. Mai, 2019

Ich hatte wirklich seltsame Antwortzeiten mit der Curl-Bibliothek in PHP in meiner eigenen Monitoring-Anwendung.
Bei Verwendung von curl_getinfo($curl) ist der Wert von “total_time” ein Wert in Sekunden. Eigentlich. Bei einer Reaktionszeit von 16ms sollte es 0,016 sein, ich erhielt aber 16000.

Das Problem ist, dass sich die Werte der Curl-Funktion bei Verwendung von PHP mit mod_php korrekt verhalten - nur im FCGI Modus gibt es Zahlenwerte, die Faktor 1 Mio. zu gross sind.

Bei einer Antwort-Zeit von 16 ms sollte der Wert im Feld total_time 0.016 sein - unter FCGI kommt aber 16000 zurück.

2019-05-08-curl-time-values.png

Nach einer kurzen Suche, fand ich einen bestehenden Bugreport, wo ich meine Daten ergänzte. Mal schauen, ob da wohl was geht …

weiterführende Links:

  1. bugs.php.net- 76438: wrong curl_getinfo time values
  2. php.net: Funktion curl_getinfo()
  3. Github: IML AppMonitor

SPAM: Das ist meine letzte Warnung!

Montag, 14. Januar, 2019

Hach wie süss, was es nicht alles für niedliche Spams gibt:
Mein anonymer Hacker mit dem Mädchennamen hat eine E-Mail-Adresse aus Gabun.

Der-die-das intensiv recherchiernde HackerIn hat mein Adressbuch und lauter private Details durch den selbstprogramierten, webcameinschaltenden Spitzentrojaner ergattert, aber nennt meinen Namen nicht in der Anrede. Das könnte einem … nun ja, ich sage es wirklich ungern, weil es so ein Humorkiller ist: es könnte einem bereits in Zeile 1 verdächtig vorkommen. Verdammt schade. Aber ich habe weitergelesen - es wurde ja tatsächlich noch lustig!

2019-01-14-bitcoin-gegen-angebliche-webcam-videos-01.png

Wie er-sie-es an meine Facebookfreundesliste kam, scheint mir ein faszinierender Trick, den ich mir unbedingt einmal vorführen lassen muss! Mein FB Account ist bereits seit Langem gelöscht.

“Sobald Sie diese E-Mail öffnen, werde ich wissen, dass Sie sie geöffnet haben.” - ach nein! Noch ein Fail! Der zieht das Ganze wieder arg in die Tiefe. Das gibt definitiv Abzug in der B-Note. Das ging vieleicht vor 10 Jahren. Mittlerweile blockt nahezu jedes E-Mail-Programm Bilder - sichtbare … als auch jenes heimlich eingebaute 1×1 Pixel Bildchen, das nachhause telefonieren will.

Und der Rest des Textes ist Unterhaltung pur: gern genossen mit einem Bier, Chips und Erdnussflips. Und einem Taschentuch, um die Tränen vor Lachen aus dem Auge zu wischen.

Anonym?

Schauen wir mal, wie anonym die Anonyme Barbara ist. Dazu muss man in seinem E-Mailprogramm den E-Mailheader anschauen (oder auch Kopfzeilen).

Die E-Mail wurde versendet … und vom E-Mailserver mx.ee.anonymer-hackers.ga angenommen. Falls jemand die Logs jenes Servers analysieren möchte - die E-Mail an mich hat in dessen Logfiles die ID 43dVh823zcz4mkv und den Zeitstempel Mon, 14 Jan 2019 10:53:44 +0000 (UTC).

Jener Mailserver hat die IP-Adresse 142.93.139.160 - und dies wiederum ist in Amsterdam beim Provider Digital Ocean.

Der Mailserver meines Providers (smtp.rzone.de) hat jene ID und den versendenden ebenfalls im E-Mail-Log drin. Der-die-das HackerIn kann somit seine eigenen Spuren verwischen, indem die eigenen Logfiles getilgt würden. Aber die Spur ist dennoch da: bei meinem Provider.

Und noch ein Funfact: Zuguterletzt taucht da eine Unsubscribe Liste auf. Das ist eher typisch für eine Mailing-Liste - also eine Software, die massenweise E-Mails versendet. Ob ich mich abmelden kann und dann kein Spam mehr erhalte? SCNR

2019-01-14-bitcoin-gegen-angebliche-webcam-videos-02.png