SIEM: Nachschlag :-)

SIEM: Nachschlag :-)

Wazuh hat bisher hervorragende Dienste geleistet. Wenn man es aber mit einem kostenpflichtigen SIEM vergleicht, fehlen einem dann doch ein paar Kleinigkeiten. Aufgrund der Modularität lassen sich diese aber schnell nachrüsten und machen Lust auf noch viel mehr, was sich bei dieser Gelegenheit ebenfalls leicht hinzufügen lässt.

Zuerst vermisste ich das CIM von splunk. Das sogenannte Common-Information-Model. Wenn man neue Logquellen anbindet, sollte man sich beim Parsen daran halten, daß die SourceIP immer mit dem Feldnamen src_ip zu finden ist. Bei wazuh findet man die SourceIP mal unter src_ip, unter data.srcip oder auch unter data_win_eventdata_sourceIp ...

CIM nachrüsten

Damit man nun Alarme generieren kann, basierend auf einer SourceIP, ist es erforderlich diese unter einem einheitlichen Feldnamen vorzufinden. Um nun alle Varianten berücksichtigen zu können, musste ich das Logfile erst aufbereiten. Dazu habe ich greylog an wazuh angebunden.

In greylog kann ich nun Regeln auf Logs anwenden:

Bei Windows wird das Feld, welches die SourceIP enthält, data_win_eventdata_sourceIp genannt. Den Inhalt schreibe ich dann einfach in src_ip. Aber es gibt noch einige Feldnamen, die die gleichen Informationen beinhalten:

Ungeahnte Möglichkeiten

Da wir jetzt Regeln auf die normalisierten Logs anwenden können, könnte ich mir künftig sparen, IPs in meiner MISP nachzuschlagen. Das überlasse ich nun ebenfalls einer Regel in greylog.

VirusTotal? Auch diese Information könnte ich gleich mit einbauen.

So lassen sich auch gleich die Alarme unter Bezug auf die MISP- und VirusTotal-Ergebnisse generieren.

Visualisierung

Da ich nun alle Felder normalisiert habe, kann ich diese auch gut in Grafana darstellen lassen. Dazu binde ich einfach eine Elastic Logquelle an. Nun kann ich anzeigen lassen, mit welchen Servern die Systeme Kontakt haben, für die ein Agent einen erfolgreichen Login meldet, nachdem es auffällig viele Fehlversuche gab.

Die IP Adressen kann man auch klickbar machen, falls man z.B. bei Talos prüfen will, was über sie bekannt ist:

Ein wenig neu ausgerichtet, sieht die Übersicht nun so aus:

Fazit

Wenn ich mich zurück erinnere, wie eingesperrt ich mit kommerziellen Produkten wie z.B. qRadar war, liefert diese Opensource-Lösung eine enorme Flexibilität. Die Grenze des Machbaren scheint nur die eigene Vorstellungskraft zu sein.

Natürlich ist das für eine private Umgebung der totale Overkill. Aber es macht einfach richtig Freude, was man alles an Informationen integrieren und direkt auswerten kann. Denn daraus generiere ich nicht nur Alarme, sondern auch aktive Reaktionen, die mir Zeit verschaffen einen Host erst zu untersuchen, bevor ich seine automatische Quarantäne wieder aufhebe.