Inhaltsverzeichnis
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:

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:

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:

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

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

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


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

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

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



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:

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



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

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

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

Und die gleiche Version verwenden meine beiden Linux-Server:

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

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

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

Sysmon protokolliert in das File syslog!

Das bestätigt mir auch der sysmon-Befehl:

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

Jetzt kommen die Daten richtig rein 🙂

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„.