ModSecurity Logs einfacher auslesen
Die Logfiles von Modsecurity werden im Json Format gespeichert, was für Menschen schwer leesbar ist. Um das Json auseinander zu dröseln, habe ich mir ein Script geschrieben, welches mit jq
die wichtigsten Daten leesbar anzeigt. Ausserdem wird die Ausgabe noch Farbig hervorgehoben, wie in dem folgenden Bildern gezeigt wird.
Ausgabe der letzten drei Einträge von www.example.com
Ausgabe des letzten Eintrag im Verbose- Modus von www.example.com
Im Script kann man die Default Werte für die Anzahl der Einträge mit der Variable cfg[num]
einstellen. Das Logverzeichnis in dem die Logfile der jeweiligen VirtualHost liegen, lässt sich über die Variable cfg[logdir]
einstellen. Die Logfiles haben das Format wie in der Dokumentation Apache2 mit OWASP mod_security2 beschrieben <SERVERNAME>_modsec.log
(z.B. www.example.com_modsec.log).
Welches Logfile man anzeigen lassen möchte, definiert man an der letzten Stelle. Optionen für die Ausgabe wie Anzahl der Einträge und aktivieren des Verbose- Modus werden vor der Definition für den Servernamen angegeben. Mit -h
lässt sich die Hilfe anzeigen.
root:~# modseclogs -h
Usage: modseclogs [ -n <num> -v ] <vhostname>
-n display the last number of lines (default: 3)
-v display more request header informations
-h show this Help
Das Skript modseclog kann man hier herunter laden.