Elastic SIEM – Grundkonfiguration

Einleitung

Dies ist der zweite Betrag zur Konfiguration meines Elastic SIEMs. Im ersten Beitrag habe ich den Service auf einem Ubuntu-Server 22.04 installiert. Hier geht es nun um die Grundkonfiguration des Elastic SIEM in der Weboberfläche. Und dazu installiere ich einen Fleet Server, der die Anbindung eines ersten Agents übernimmt.

Konfiguration

Mit meinem AdminBrowser melde ich mich an der Kibana-Weboberfläche als User elastic an. Das Passwort wurde beim Setup generiert:

Elastic SIEM Grundkonfiguration

Der Setup-Assistent für Integrations wird gestartet. Mit deren Hilfe können die Log-Sources angeschlossen und verstanden werden. Hier lohnt sich also ein Klick:

Elastic SIEM Grundkonfiguration

Der Katalog ist groß und übersichtlich aufgebaut. Ich suche nach Microsoft Windows:

Elastic SIEM Grundkonfiguration

Für Windows stehen mehrere Integrations zur Verfügung. Ich starte mit der Basis “Windows”.

Elastic SIEM Grundkonfiguration

Jede Erweiterung ist gut beschrieben und lässt sich einfach integrieren.

Elastic SIEM Grundkonfiguration

Das Hinzufügen ist gleichzeitig auch die Erstkonfiguration. Für meine Windows-Integration werden gleich die bekannten Eventlogs zur Auswahl angeboten. Den Hinweis mit dem Fleet Server überspringe ich erst einmal.

Elastic SIEM Grundkonfiguration

Leistungsdaten und Serviceinformationen können ebenfalls mit erfasst werden:

Elastic SIEM Grundkonfiguration

Die Integrations werden über Agent-Policies den Agents auf den Log-Source-Servern zugewiesen. Da ich noch keine Policy habe, wird eine mit erstellt:

Elastic SIEM Grundkonfiguration

Nach dem Click auf “Save and continue” wurde die Integration gespeichert. Nun fehlen noch Agents auf den Zielservern. Diese Installiere ich in einem nächsten Schritt:

Elastic SIEM Grundkonfiguration

Weitere Integrations sind über das Menü unter Management/Integrations verwaltbar. Hier sind auch die bereits installierten gelistet:

Elastic SIEM Grundkonfiguration

Installation eines Fleet Servers

Mit dem Click auf “Add elastic agent to your host” wird die Integration gezeigt. Hier gibt es dann den Schalter “add agent”:

Elastic SIEM Grundkonfiguration

Agents können über den Service “Fleet” verwaltet werden. Ich bevorzuge diese Art der Bereitstellung – ebenso steht es auch in der Weboberfläche. Aktuell fehlt der Fleet Server aber noch. Mit “add Fleet Server” kann dies geändert werden:

Elastic SIEM Grundkonfiguration

Ich ergänze die beiden Eingaben und generiere eine Fleet Server Policy:

Elastic SIEM Grundkonfiguration

Anschließend muss noch ein Fleet Server installiert werden. Die Anleitung wird vom Assistenten gleich mit geliefert:

Elastic SIEM Grundkonfiguration

Da ich nur wenige Server verwende, installiere ich den Service auf meinem ElasticSearch-Server. Dafür verbinde ich mich als Sudoer mit SSH. Das Fleet-Setup lege ich unter /opt ab:

cd /opt
sudo curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.15.3-linux-x86_64.tar.gz
Elastic SIEM Grundkonfiguration

Der Fleet-Server sollte über ein vertrauenswürdiges Zertifikat verfügen, da ansonsten die Verbindung der Agents fehlschlägt bzw. “insecure” eingerichtet werden muss. Daher verwende ich das Webserver-Zertifikat mit zwei zusätzlichen Parametern am Setup-Befehl. Zusätzlich muss nun noch der URL-Parameter angegeben werden. Details dazu gibt es hier: Configure SSL/TLS for self-managed Fleet Servers | Fleet and Elastic Agent Guide [8.15] | Elastic. Und damit dem Zertifikat vertraut wird, muss auch dessen Root-CA-Zertifikat mit angegeben werden. Dieses kopiere ich zuerst in das Verzeichnis mit dem Webseitenzertifikat.

sudo nano /etc/ssl/cert/rootca.crt
Elastic SIEM Grundkonfiguration
Elastic SIEM Grundkonfiguration

Nun kann der Agent als Fleet-Server mit dem angepassten Befehl installiert werden:

sudo tar xzvf elastic-agent-8.15.3-linux-x86_64.tar.gz
cd elastic-agent-8.15.3-linux-x86_64
sudo ./elastic-agent install \
	  --fleet-server-es=https://192.168.100.32:9200 \
	  --fleet-server-service-token=AAEAAWVsYXNaaWMvhmxlZXQtfeVydmVyL3Rva2VuLTE3MzawNTQpMzYwNjM6ObpoMmhtT0JRb0tXWWxrZW9vOVhLUQ \
	  --fleet-server-policy=fleet-server-policy \
	  --fleet-server-es-ca-trusted-fingerprint=422258001e4b1309d44a5667193a5630cd0f69e390747d72e281d977fe2bffaa \
	  --fleet-server-port=8220 \
	  --fleet-server-cert=/etc/ssl/cert/siem.crt \
	  --fleet-server-cert-key=/etc/ssl/cert/siem.key \
	  --url=https://siem.ws.its:8220 \
	  --certificate-authorities=/etc/ssl/cert/rootca.crt
Elastic SIEM Grundkonfiguration

In der Weboberfläche wird die erfolgreiche Verbindung angezeigt:

Elastic SIEM Grundkonfiguration

Ich klicke auf “continue…”.

Installation eines ersten Agents

Nun kann ich den ersten Agent bereitstellen. Dieser soll an den Fleet Server angeschlossen werden und von dort seine Konfiguration erhalten. Für jede Plattform wird ein passender Setup-Befehl angezeigt. Ich wähle den PowerShell-Befehl für einen Windows Server aus:

Elastic SIEM Grundkonfiguration

Für einen ersten Testlauf verbinde ich mich mit meinem Server WS-ATA und starte dort eine administrative PowerShell. Den Befehl muss ich aber aufsplitten, denn dieser Server kann das Internet nicht erreichen. Also starte ich den Download auf meinem Client und entpacke das Setup in meiner zentralen Freigabe:

Invoke-WebRequest -Uri https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.15.3-windows-x86_64.zip -OutFile M:\Zwischenablage\Temp\elastic-agent-8.15.3-windows-x86_64.zip
Expand-Archive M:\Zwischenablage\Temp\elastic-agent-8.15.3-windows-x86_64.zip -DestinationPath M:\Zwischenablage\Temp\elastic-agent
Elastic SIEM Grundkonfiguration

Auf dem Server führe ich nun die restlichen Befehle aus. Das Setup kopiere ich nach c:\windows\temp, da die Ausführung von Setups auf SMB-Shares bei mir blockiert wird:

Copy-Item -Recurse -Path 'M:\Zwischenablage\Temp\elastic-agent\elastic-agent-8.15.3-windows-x86_64' -Destination 'c:\windows\temp\ElasticAgent'
cd 'C:\Windows\Temp\ElasticAgent'
Start-Process -FilePath .\elastic-agent.exe -ArgumentList 'install --url=https://siem.ws.its:8220 --enrollment-token=WEtKdnlaSUJGMXYwUTZ5U1JoV0I6MzhnbEJGemNUQk9wUnllckdwTF9hQQ=='
Remove-Item -Path 'C:\Windows\Temp\ElasticAgent' -Recurse
Elastic SIEM Grundkonfiguration

Das Ergebnis ist ein laufender Elastic Agent Service auf dem Server und eine Meldung in der Weboberfläche:

Elastic SIEM Grundkonfiguration
Elastic SIEM Grundkonfiguration

In der Weboberfläche wird der neue Agent angezeigt:

Elastic SIEM Grundkonfiguration

Nun dauert es noch etwas, bis der neue Agent auch Daten liefert. Das kann dann im Menü Analytics/Discover gesichtet werden:

Elastic SIEM Grundkonfiguration

Wie es mit den Daten weitergeht, zeige ich in einem anderen Beitrag.

Sonstige Konfigurationen

Userverwaltung

Aktuell gibt es nur den Setup-Account “elastic” mit dem generierten Passwort. Ich möchte mir eine personalisierte Kennung einrichten. Dafür wechsle ich im Burger-Menü in das Management und suche dort die Gruppe Security. Hier werden die User verwaltet:

Elastic SIEM Grundkonfiguration

Jeder User ist einer Rolle zugewiesen. Die Rollen werden ebenfalls hier verwaltet:

Elastic SIEM Grundkonfiguration

Ich gehe zurück in die User-Verwaltung. Mit dem Schalter “create user” lege ich meine neue Kennung an. Als Rolle verwende ich erst einmal “superuser”. Hier können auch mehrere Rollen miteinander kombiniert werden:

Elastic SIEM Grundkonfiguration

Ich melde mich nun mit meiner neuen Kennung an.

Stack-Monitoring

Der Data-Lake im elastic speichert die empfangenen Daten lokal auf meinem Ubuntu-Server. Ich muss wissen, ob der konfigurierte Speicherplatz ausreicht. Und generell ist es empfehlenswert, den Zustand der Services einfach zu prüfen. Dafür gibt es das Stack-Monitoring. Dieses befindet sich im Burger-Menü als Punkt unter Management:

Elastic SIEM Grundkonfiguration

Beim ersten Start wird angezeigt, dass per Default keine Daten erhoben werden. Mit dem Schalter kann dies geändert werden:

Elastic SIEM Grundkonfiguration

Ich wähle die Option “self monitoring”, da ich nur diesen einen Node verwende. Hier kann das Monitoring aktiviert werden:

Elastic SIEM Grundkonfiguration

Nun dauert es einige Sekunden. Die empfohlenen Rules erzeuge ich mit “continue”:

Elastic SIEM Grundkonfiguration

Watches habe ich nicht verwendet, daher brauche ich nichts zu deaktivieren:

Elastic SIEM Grundkonfiguration

Nun werden die Daten angezeigt:

Elastic SIEM Grundkonfiguration

Zusammenfassung

Die grundlegende Konfiguration ist abgeschlossen. Natürlich fehlen noch einige Details. Aber diese zeige ich in den nächsten Beiträgen.

Stay tuned.

Kommentar hinterlassen