Elastic SIEM – Anbindung von Linux Systemen

Einleitung

Meine Windows Systeme sind bereits seit einiger Zeit an mein Elastic SIEM angebunden. Aber die Linux Systeme fehlen noch. Es wird Zeit, dass ich das nachhole.

Der Artikel gehört zu meiner Serie „Bereitstellung eines Elastic SIEM„.

Anlage einer Fleet-Policy

Im Fleet Server starte ich den Assistenten für einen neuen Agent:

Elastic SIEM – Anbindung von Linux Systemen

Da die Linux-Systeme andere Integrationen verwenden werden als meine Windows Systeme, erstelle ich hier eine neue Agent Policy. Ich vergebe nur einen passenden Namen. Die Optionen ändere ich nicht:

Elastic SIEM – Anbindung von Linux Systemen

Das war es für den Moment auch schon. Weiter geht es mit dem Agent-Setup…

Installation des Elastic-Agents

In dem Dialog belasse ich im Punkt 2 „Enroll in Fleet“ die empfohlene Option, denn so kann ich meine Agents zentral verwalten:

Elastic SIEM – Anbindung von Linux Systemen

Im 3. Punkt kopiere ich mir den Inhalt des Textfensters in die Zwischenablage. Ich behalte die Option „Linux Tar“ bei:

Elastic SIEM – Anbindung von Linux Systemen

Nun verbinde ich mich via SSH mit meinem Linux-Server. Da mein Elastic-Setup ein Webserverzertifikat von meiner eigenen PKI verwendet, muss ich hier zuerst mein Root-Server-Zertifikat meiner PKI veröffentlichen. Dafür führe ich folgenden Befehl aus und kopiere das Zertifikat als BASE64-String rein:

sudo nano /etc/ssl/certs/wsits.crt
Elastic SIEM – Anbindung von Linux Systemen

Nun kann ich die Befehle aus dem Fleet Server ausführen. Den Installationsbefehl muss ich aber um einen Parameter für die eigene PKI erweitern. Zusätzlich setze ich gerne FORCE ein, um ein eventuelles Setup zu überschreiben:

curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.17.3-linux-x86_64.tar.gz 

tar xzvf elastic-agent-8.17.3-linux-x86_64.tar.gz
cd elastic-agent-8.17.3-linux-x86_64
sudo ./elastic-agent install force \
    --url=https://siem.ws.its:8220 \
    --enrollment-token=U2p3enI5VUJsbdBFUElfc2JW5DrUwT0ZTaS1VtjlPL4t2cdQ4dw== \
    --certificate-authorities /etc/ssl/certs/rootca.crt
Elastic SIEM – Anbindung von Linux Systemen
Elastic SIEM – Anbindung von Linux Systemen

Mit dem erfolgreichen Setup im Linux wird auch das Agent Enrollment im Fleet Server bestätigt:

Elastic SIEM – Anbindung von Linux Systemen

Und in der Übersicht sehe ich nun den neuen Server:

Elastic SIEM – Anbindung von Linux Systemen

Installation von SYSMON for LINUX

Vor einigen Monaten habe ich SYSMON in meinen Windows Systemen installiert. Damit erhalte ich sehr detaillierte Informationen in den Eventlogs, die bei forensischen Analysen sehr hilfreich sein können. SYSMON gibt es auch für Linux. Also installiere ich diese Komponente gleich mit. Eine Installationsanleitung liefert Microsoft hier: https://github.com/microsoft/SysmonForLinux/blob/main/INSTALL.md

Folgende Befehle sind für die Bereitstellung auf meinem Ubuntu-Server erforderlich:

wget -q https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
sudo apt-get install sysmonforlinux
sudo sysmon -i
sudo systemctl status sysmon
Elastic SIEM – Anbindung von Linux Systemen
Elastic SIEM – Anbindung von Linux Systemen
Elastic SIEM – Anbindung von Linux Systemen

Installation der SYSMON-Integration im Fleet Server

Der neue Linux Server sendet nun bereits sysmon-Events an mein ElasticSearch. Aber die Daten werden nicht geparst:

Elastic SIEM – Anbindung von Linux Systemen

Dafür gibt es eine Fleet Agent Policy Integration. Diese installiere ich in die Linux-Policy:

Elastic SIEM – Anbindung von Linux Systemen
Elastic SIEM – Anbindung von Linux Systemen
Elastic SIEM – Anbindung von Linux Systemen

An dieser Stelle passe ich den Namen der Integration an und stelle sicher, dass diese in die richtige Policy integriert wird:

Elastic SIEM – Anbindung von Linux Systemen

Die Agent Policy wird bereits von 2 Servern verwendet. Diese werden gleich aktualisiert:

Elastic SIEM – Anbindung von Linux Systemen

Die Agent Policy Linux liegt nun in der 2. Version vor:

Elastic SIEM – Anbindung von Linux Systemen

Und die gleiche Version verwenden meine beiden Linux-Server:

Elastic SIEM – Anbindung von Linux Systemen

In einem der Agents kontrolliere ich die Bereitstellung. Die Integration startet noch:

Elastic SIEM – Anbindung von Linux Systemen

Kontrolle der Logs

Unter den Dashboards vom Modul Analytics finde ich das neue Dashboard für Sysmon for Linux

Elastic SIEM – Anbindung von Linux Systemen

Es kommen aber keine Logs rein. Ich kontrolliere die Logfiles auf meinem Linux Server. Hier gibt es kein Logfile sysmon!

Elastic SIEM – Anbindung von Linux Systemen

Sysmon protokolliert in das File syslog!

Elastic SIEM – Anbindung von Linux Systemen

Das bestätigt mir auch der sysmon-Befehl:

Elastic SIEM – Anbindung von Linux Systemen

Also editiere ich die neue Integration in meiner Agent Policy Linux und stelle den richtigen Pfad ein. Danach werden die beiden Agents automatisch aktualisiert:

Elastic SIEM – Anbindung von Linux Systemen

Jetzt kommen die Daten richtig rein 🙂

Elastic SIEM – Anbindung von Linux Systemen

Zusammenfassung

Das war wie bei den Windows Systemen sehr leicht. Was mir hier noch fehlt wäre eine zentrale und automatisierte Bereitstellung der Erstinstallation. Aber dafür fehlt mir noch das Config-Management im Linux-Umfeld. Und das macht bei derzeit 3 Servern und 2 Clients wirklich noch keinen Sinn.

Jetzt muss ich mich noch an die Searches setzen. Dafür ist es notwendig, die Struktur der Events zu kennen. Diese Dokumentation schaut sehr vielversprechend aus: https://in.security/2021/10/18/getting-started-with-sysmon-for-linux/. Die Searches könnt ihr euch dann in meinem gitlab herunterladen: https://gitlab.ws-its.de/stephan/elasticsiem

Stay tuned!

Weitere Artikel findet ihr in meiner Serie „Bereitstellung eines Elastic SIEM„.

Kommentar hinterlassen