Die Splunk-für-OSSEC-Anwendung installieren Sie von Hand am besten, indem Sie Ray Nuttings Anleitung folgen [6]:
splunk | Manager | Apps
«
den Punkt »Create app
«
.OSSEC
«
lauten.Yes
«
, damit die Anwendung sichtbar ist, und beschreiben sie mit »OSSEC Security Events
«
oder ähnlich.apps
«
die Datei »ossec.tgz
«
.cp -rf $HOME/ossec/* $SPLUNK_HOME/etc/apps/OSSEC
«
. (Dieser Befehl geht davon aus, dass Sie die Anwendung »OSSEC
«
genannt haben.)$SPLUNK_HOME/etc/apps/ossec/defaults/inputs.conf
«
unter »Local Server
«
den Wert »disabled = false
«
.Sie können auch OSSEC-Syslog-Forwarding einschalten, womit OSSEC seine Daten an den Splunk-Server schickt, wenn Sie Data Input mit »udp:10002
«
und »sourcetype:ossec
«
konfigurieren (siehe auch [7].
Wenn alle OSSEC-Agenten ihre Reports an den OSSEC-Server schicken, der von Splunk als lokale Ressource überwacht wird, entfällt die Notwendigkeit eines weiteren Syslog-Inputs. Splunk liest dann direkt die Daten aus »/var/ossec/logs/alerts
«
auf dem gleichen Server.
Navigieren Sie im Splunk-Webinterface zu »Dashboards
«
und wählen Sie das »OSSEC Dashboard
«
(Abbildung 2). Ein Event-Typ in dieser Abbildung zeigt die Installation eines neuen Softwarepakets. Wenn Sie als Beispiel unter »Search
«
aus dem OSSEC-Splunk-Menü nach »New dpkg (Debian Package) installed
«
suchen, dann liefert Splunk die in Abbildung 3 sichtbare Ergebnisseite, die sich über »Actions
«
und »Export results
«
auch exportieren lässt. Wer komplexere OSSEC-Workflows in Splunk aufbauen möchte, sollte einen Blick in das Tutorial [8] werfen.
Die interaktive Suche bildet den Ausgangspunkt für den Aufbau von nützlichen Dashboards, Ansichten und Reports. Sogar die Erstellung von Alarmmeldungen beginnt mit einem relevanten Suchbegriff. Lesen Sie sich zum Start das Dokument [9] durch und probieren Sie die gewonnenen Erkenntnisse an den gesammelten Events aus.
Im letzten Teil dieses Artikels soll ein beispielhaftes Dashboard mit interessanten Events entstehen.
Angenommen Sie überwachen einige Firewall-Appliances per Syslog und möchten nur erfahren, welche Pakete abgelehnt wurden, aber ohne internen Traffic. Dabei sollen immer nur die zehn neuesten Ereignisse erscheinen. Das passende Suchmuster dafür sieht so aus:
sourcetype=syslog netscreen action=deny NOT dst=192.168.0.0/16 NOT dst=10.0.0.0/8 | head 10
Wie Sie sehen, ist ein solcher Ausdruck intuitiv zu verstehen. Wer beispielsweise die gescheiterten Login-Versuche auf einem Windows-Rechner finden möchte, verwendet Folgendes:
host="MYLOGSERVER01" Type="Failure Audit"
Diese Anfrage liefert alle Events zurück, die vom Rechner »MYLOGSERVER01
«
stammen und vom Event-Typ »Failure Audit
«
sind (Abbildung 4).
Bei der Suche gefundene Elemente lassen sich per Pipe in weitere Verarbeitungsschritte leiten. Sie können auch weitere Logdatei-Werte einbeziehen. Nützlich sind solche Suchen beispielsweise, wenn Sie Chart Panels für Dashboards einrichten möchten:
index=_internal source="*metrics.log" group=per_sourcetype_thruput | timechart sum(kb)by series
Die Suchanwendung bietet auch einen Suchassistenten. Sie finden ihn unterhalb des Suchformulars, wo er sich hinter einem weißen Pfeil verbirgt, der nach unten zeigt. Öffnen Sie den Assistenten, gibt er Ihnen Tipps, während Sie den Suchausdruck schreiben.