Business Process Monitoring mit Splunk

Sergej Khackimullin, 123RF

Kartografie

Splunk verspricht einheitliches Monitoring für heterogene Umgebungen. Erfahren Sie, welche Features es dafür bietet und wie Sie es für die Überwachung von Security-Events auf dem eigenen Server einsetzen.
Thematischer Schwerpunkt dieser Ausgabe ist die kontinuierliche Überwachung von Servern, Clients und anderen Geräten im Netzwerk: mit dem IPMI-Plugin, dem ... (mehr)

Systemverwalter, Security-Beauftragte und Consultants sehen sich in einer typischen Firmenumgebung vor eine gemeinsame Herausforderung gestellt. Selten gibt es ein Netzwerk mit nur einem Betriebssystem oder wenigstens nur einer Version eines Betriebssystems. In heterogenen Netzwerken alle wichtigen Ereignisse und Security-Aspekte überwachen ist aber keine leichte Aufgabe.

Der Artikel beschäftigt sich insbesondere damit, alle unterschiedlichen Events, zum Beispiel auch von Windows-Maschinen, über Agenten mit Syslog zu sammeln. Im Zentrum steht also eine Unix-Umgebung, in der Syslog noch immer eine wesentliche Rolle spielt. Auch wenn es hier vor allem um Security-Events geht, sind die vorgestellten Methoden auch für System-Monitoring und Performance-Optimierung verwendbar.

Als Monitoring-Software dient hier Splunk [1], das nach eigener Beschreibung eine "einzigartige einheitliche Darstellung der kompletten IT-Infrastruktur in Echtzeit" bietet. Es soll Anwender in die Lage versetzen, von jeder Quelle Daten zu sammeln, sie zu überwachen, zu durchsuchen und Reports zu erstellen. Außerdem kommen OSSEC [2], ein Host-basiertes Intrusion-Detection-System, und Snare (Auditing und Eventlog-Management, [3]) zum Einsatz.

Wer in einer hybriden Umgebung heterogene Events zusammenführen will, muss einige Entscheidungen treffen. Zum Beispiel wird vermutlich ein Betriebssystem die Systemlandschaft dominieren und entsprechend die verwendete Software beeinflussen. Splunk kann aber mit beinahe jeder Situation gut umgehen. Mit den anderen beiden Softwarepaketen ergeben sich folgende Lösungsansätze:

  • Windows- wie auch Unix-Hosts können Splunk als leichtgewichtigen Forwarding-Agenten betreiben.
  • Beide Betriebssystem-Spielarten lassen sich auch mit Snare-Agenten überwachen.
  • Einsatz von OSSEC-Agenten auf allen Betriebssystemen.
  • Netzwerkgeräte senden die Syslog-Ausgabe direkt an Splunk.

Sie können sich für eine Variante entscheiden oder die Ansätze mischen. Bewährt hat sich beispielsweise der Einsatz der leichtgewichtigen Splunk-Forwarder gemeinsam mit den OSSEC-Agenten und dem Syslog-Weg für Netzwerk-Devices.

Code

Per Default ist Splunk in »/opt/splunk« installiert. Setzen Sie am besten die Umgebungsvariable »SPLUNK_HOME« :

export SPLUNK_HOME=/opt/splunk

Fügen Sie »$SPLUNK_HOME/bin« noch zum Pfad der ausführbaren Dateien »PATH« hinzu, können Sie die Splunk-Kommandos einfacher ausführen. Im Lauf der Konfiguration müssen Sie Splunk mehrmals neu starten. Das machen Sie über den Aufruf

splunk restart

oder über das Webfrontend. Auf Windows-Systemen lässt sich Splunk per Mausklick installieren, bei Linux-Systemen können Sie normalerweise den Paketmanager verwenden. Auf Debian- und Ubuntu-Systemen übernimmt das beispielsweise der folgende Aufruf:

dpkg -i splunk-4.Version.deb

Außer für Linux und Windows gibt es Splunk auch für Solaris, HP-UX, Mac OS X, Free BSD und AIX. Ist die Installation abgeschlossen, starten Sie die Software mit:

/opt/splunk/bin/splunk start

Unter »http://Servername:8000« finden Sie das Webfrontend für Splunk. Zuerst ändern Sie am besten das Admin-Passwort unter »Manager« und »User options« . Unter »splunk | Manager | System settings | General settings« stellen Sie die Verbindung auf das verschlüsselte HTTPS um. Dort ist es auch möglich, den Port zu ändern.

Damit der zentrale Splunk-Server Monitoring-Events empfängt, müssen Sie ihn als Receiver konfigurieren. Mit »splunk | Manager | Forwarding and receiving | Forward data | Add New« richten Sie Splunk so ein, dass es auf einem Port die Daten eines Forwarders empfängt.

Damit der Server auch Syslog-Daten annimmt, ist ein weiterer Schritt nötig. Navigieren Sie dafür zu »splunk | Manager | Data inputs« . Weil Syslog das UDP-Protokoll auf Port 514 verwendet, stellen Sie dort UDP ein, fügen dann einen Input für Port 514 hinzu und wählen »IP« aus, was dazu führt, dass Splunk im Input-Prozessor die IP-Adresse des Logging-Hosts einsetzt.

Zusätze

Navigieren sie dann zurück zu »splunk | Launcher« , wo Sie den Reiter »Browse more Apps« anklicken. Hier finden Sie zum Beispiel Splunk für Windows, für Unix und Linux sowie für OSSEC, für die Visualisierung außerdem das Modul Afterglow-Graphing.

Darüber hinaus gibt es Datensammler für Geräte von Cisco, F5, Blue Coat und anderen. Hier finden Sie auch die UI Examples [4], eine Sammlung von XML-basierten Ansichten und Menüs. Enthalten sind Beispielansichten, die unter anderem Table und Chart Drilldown umfassen, sowie Echtzeit-Dashboards und so weiter. Dazu aber später mehr.

Um den Port festzulegen, auf dem Splunk geforwardete Daten annimmt, klicken Sie auf »Manager« und »Forwarding and receiving« , anschließend unter »Receive data« auf »Add New« , wo Sie dann den Port festlegen.

Auf den Splunk-Clients können Sie die Software so einstellen, dass sie keine lokale Kopie der Daten speichert, sondern sie nur an den zentralen Splunk-Server schickt. Wenn Sie gerne mit dem GUI arbeiten und das Light Forwarding vor dem allgemeinen Forwarding aktivieren, sind sie anschließend auf die Kommandozeile festgelegt. Im Einzelnen sind diese Schritte nötig:

  • Aktivieren Sie die passende Anwendung (Windows oder Linux/Unix) im Applikationsmanager.
  • Konfigurieren Sie die Eingaben für die Unix-Applikation unter »splunk | Manager unix« , bei Windows unter »splunk | Manager | windows« . Beim Fokus auf Security brauchen Sie nicht alle Inputs zu aktivieren. Sie können natürlich aber auch andere Events einbeziehen.
  • Wählen Sie unter »splunk | Manager | Forwarding and receiving | Forwarding defaults« den Wert »No« , um lokales Speichern auszuschalten. Verwenden Sie »splunk | Manager | All configurations« , um nach Belieben Objekte aus- und einzuschalten, von denen es in der Unix-Variante etwa 250 gibt. Aus Security-Perspektive sind beispielsweise Firewall, Audit, Escalated User Privilege, Netzwerkverbindungen und offene Ports interessant.
  • Tragen Sie unter »splunk | Manager | Forwarding and receiving | Forward data | Add New« die Host-Port-Kombination des Splunk-Servers ein und starten Sie Splunk auf dem System neu.

Aus Sicherheitsgründen empfiehlt es sich, Light Forwarding zu aktivieren, das den Webserver auf dem Rechner abschaltet. Sie müssen dann die Kommandozeile verwenden, um die betreffende Splunk-Instanz zu verwalten.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Setup eines Kubernetes-Clusters mit Kops

Vor allem für Testinstallationen von Kubernetes gibt es einige Lösungen wie Kubeadm und Minikube. Für das Setup eines Kubernetes-Clusters in Cloud-Umgebungen hat sich Kops als Mittel der Wahl bewährt. Wir beschreiben seine Fähigkeiten und geben eine Anleitung für den praktischen Einsatz. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Container

Wie setzen Sie Container ein?

  • Gar nicht
  • Docker standalone
  • Docker mit Kubernetes
  • Docker mit Swarm
  • Docker mit anderem Management
  • LXC/LXD
  • Rocket
  • CRI-O auf Kubernetes
  • Container auf vSphere
  • Andere (siehe Kommentare auf der Ergebnisseite)

Google+

Ausgabe /2018

Microsite