Sophos Firewall reverseproxy.log Analyse Script

Ein Sophos Firewall reverseproxy.log Analyse Script welches bei der Analyse der Fehler und beim Finden von Thread ID's in der reverseproxy.log Datei unterstützt. Die gefundenen Thread ID's werden schnell lesbar dargestellt.

getestet mit SFOS 19.5.x bis 21.0.x

Einleitung

Wer schon einmal eine WAF auf der Sophos Firewall eingerichtet hat wird es kennen, dass das Finden von Thread ID's extrem mühsam ist. Da ich regelmäßig bei meinen Kunden die Konfigurationen von WAF's vornehme, wurde die Sammlung an Shell Kommandos in meiner Sammlung immer länger. Eine praktischere Lösung musste her. Zumal die Ausgabe weiterhin schlecht lesbar war. Daraus ist das hier angebotenen Sophos Firewall reverseproxy.log Analyse Script geboren.

Lest weiter und findet heraus was das Script kann - oder auch nicht.

Viel Spaß beim analysieren! 😀

Dieses Script führt keinerlei Veränderungen am System durch. Dennoch ist wie immer Vorsicht geboten bei der Nutzung der Shell. Solltet Ihr keine Erfahrung in der Nutzung der Shell haben, holt Euch gerne hier in den Kommentaren Unterstützung, oder geht auf Euren Sophos Partner zu.
Wir übernehmen keine Verantwortung bei Fehlern die durch die Nutzung des Scripts auftreten könnten. Die Nutzung erfolgt auf eigene Gefahr und sollte immer erst in einer Testumgebung erfolgen.

Voraussetzungen

Für die Nutzung des Scripts gibt es folgende Voraussetzungen:

  • SFOS 19.5.0 bis 20.0.x (frühere und spätere Versionen müssen ggf. getestet werden)
  • Shellzugang zur Firewall
  • Grundkenntnisse in der Nutzung der Shell

Was kann das Script (nicht)?

Was geht?

Folgende Informationen kann das Script auswerten und lesbar(er) darstellen:

  • Thread ID's auflisten für aktuelle Ereignisse
  • Thread ID's auflisten für vergangene Ereignisse
  • Auflisten wie häufig Threads ID's geloggt wurde
  • Filtern nach FQDN und/oder Quell IP
  • Auflisten aller Einträge mit Fehler oder Warnung mit Leerzeile zwischen den Einträgen
  • Kombinationen aus den aufgelisteten Funktionen

Was geht nicht?

Folgendes kann das Script nicht:

  • Alle Felder eines Logeintrages lesbar darstellen
  • Alle Fehler auswerten. Der Fokus liegt auf den Thread ID's
  • Garantieren, dass die Ausgabe immer lesbar ist. Da die Variationen der Einträge sehr vielfältig sind, kann ggf. nicht jede Zeile lesbar dargestellt werden.
  • Garantieren, dass die Ausgabe der Thread ID's vollständig ist
  • Garantieren, dass es nicht noch andere Fehler gibt. welche einfach nicht dargestellt werden

Nutzung / Parameter

Das Script kann über mehrere Parameter gesteuert werden. Generell wird das Script wie folgt gestartet, wenn es im /tmp Verzeichnis liegt.

Advanced Shell - Starten des Scripts
sh /tmp/waf_analyzer.sh

Ohne Parameter wird die Datei "/log/reverseproxy.log" ausgewertet und die Thread ID's werden live dargestellt. Es findet keine Filterung nach der Client IP oder dem Server FQDN statt.

Parameter

-h

Zeigt eine Hilfe zu den Parametern an.

-c 169.254.254.254

Filtert nach der Quell IP Adresse und gibt nur passende Zeilen aus.
Der Parameter ist optional.

-d demo.it-tech.wiki

Filtert nach FQDN der WAF und gibt nur passende Zeilen aus..
Groß- und Kleinschreibung ist egal.
Es kann auch nur nach Teilen des FQDN gesucht werden. Z.B.: -d it-tech
Der Parameter ist optional - bei "-s" aber Pflicht.

-q history

Anstatt neuer Daten (live) können hiermit die alten angezeigt werden.
Der Parameter ist optional und kann mit "-t" kombiniert werden. Wird "-t" nicht angegeben wird "-t lasthour" gesetzt.

-t lasthour

Mögliche Werte sind:
- "lasthour" = die letzten 60-120 Minuten (je nach aktueller Uhrzeit)
- "today" = alles vom aktuellen Tag
- "yesterday" = alles vom gestrigen Tag
- "all" = alle Daten die das Logfile enthält
Der Parameter ist bei "-q history" notwendig. Wird er nicht gesetzt wird "lasthour" gesetzt.
Kann mit allen Parametern kombiniert werden.

-s

Zeigt die Häufigkeit des Vorkommens von Thread ID's im Zeitraum vom Parameter "-t" an. Ist -t nicht gesetzt wird hier "lasthour gesetzt".
Es wird zusätzlich der Parameter "-d domain" benötigt.
Der Parameter ist optional.

-e

Mit diesem Parameter werden nicht die Thread ID's ausgewertet. Es werden alle Zeilen ausgegeben die das Wort "error" oder "warning" beinhalten. Zwischen den Einträgen wird eine Leerzeile zur besseren Lesbarkeit ausgegeben.
Kombinierbar mit -c, -d, -q, -t
Der Parameter ist optional.

-f /tmp/otherlog.log

Soll ein anderes Logfile als "/log/reverseproxy.log" verwendet werden, kann dies mit diesem Parameter gesetzt werden.
Der Parameter ist optional.

-r

Im Standard gibt das Script vor der Ausführung noch eine kleine Zusammenfassung der Parameter und die auszuführende Befehlszeile aus und startet dann nach 5 Sekunden.
Mit -r wird dies übersprungen und die Ausgabe startet direkt.
Der Parameter ist optional.

Screenshots

Sophos Firewall reverseproxy.log Analyse Script
Anzeige der Hilfe
Sophos Firewall reverseproxy.log Analyse Script
Auflistung von Thread IDs
Sophos Firewall reverseproxy.log Analyse Script
Darstellung Fehler
Sophos Firewall reverseproxy.log Analyse Script
Zähler Thread IDs

Installation

Direkter Download

Der einfachste Weg ist das Aufrufen des folgenden Befehls auf der advanced Shell. Der "Installer" läd die aktuelle Version in das /tmp Verzeichnis und benennt evtl alte Versionen des Scripts um. Danach kann das Script direkt genutzt werden.

Bash
curl -L -s -o /tmp/install_waf_analyzer.sh  https://it-tech.wiki/wafinstaller && sh /tmp/install_waf_analyzer.sh && rm /tmp/install_waf_analyzer.sh

Manueller Upload

Wenn Ihr lieber das Script manuell auf die Firewall laden wollt, könnt Ihr es hier herunterladen und selber auf der Firewall ablegen.

waf_analyzer.sh (Version: 0.7)
13.07 KB

Zum Upload auf die Sophos Firewall können zum Beipspiel Tools wie WinSCP genutzt werden.

Fragen

  • Führt das Script Veränderungen an der Firewall durch?
    Nein, das Script liest nur die Zeilen des Logfiles aus und gibt die Ergebnisse direkt auf der Shell aus. Es werden keine Datein im System verändert.
    Da das Script im Klartext zu lesen ist, kann dies gerne überprüft werden.
  • Ich habe einen Fehler gefunden. Wo kann ich den melden?
    Fehler könnt Ihr gerne über das Kontaktformular oder in den Kommentaren melden.
  • Wie entfernt man das Script vom System?
    Dazu einfach die Datei waf_analyzer_X.X.sh im Verzeichnis /tmp löschen. Zum Beispiel: rm /tmp/waf_analyzer_0.7.sh
  • Ich habe einen Wunsch für das Script. Wo kann ich das melden?
    Fehler könnt Ihr gerne über das Kontaktformular oder in den Kommentaren melden.

Urheberrecht

Die Weitergabe der Dateien ist erlaubt. Ein Verweis auf die IT-Tech.wiki Webseite wäre dabei nett.

Die öffentliche Bereitstellung auf anderen Webservern ist nicht gestattet! Bei Bedarf bitte nachfragen.

Schreibe einen Kommentar

Kommentare werden nicht direkt angezeigt, da sie moderiert freigegeben werden.


WordPress Cookie Plugin von Real Cookie Banner