Praktische Übungen mit dem ELK-Stack
SIEM & Monitoring Blog-Serie: ELK Stack
In dieser zweiten Folge unserer ELK Stack Mini-Serie innerhalb der umfassenderen SIEM & Monitoring Blog-Serie wechseln wir von grundlegenden Konzepten zur praktischen Implementierung. Dieser Beitrag führt Sie durch die Einrichtung einer funktionalen ELK-Testumgebung mit Docker auf einer Ubuntu-virtuellen Maschine und bietet Ihnen eine Sandbox, um zu erkunden, wie Elasticsearch, Logstash und Kibana zusammenarbeiten, um Daten zu verarbeiten und zu visualisieren.
Egal, ob Sie ein Backup-Administrator oder ein IT-Experte sind, dieser Leitfaden bietet ein anpassbares Labor, in dem Sie mit dem Parsen von Veeam Backup & Replication Syslog-Nachrichten experimentieren und diese in Ihren ELK-Stack weiterleiten können. Ziel ist es, eine sichere, flexible Umgebung zum Lernen und Testen bereitzustellen, nicht für die Produktionsbereitstellung.
Docker-Setup
Anforderungen: Sie benötigen eine Ubuntu-Server-VM.
1. Zuerst installieren wir Docker:
dudo apt install docker.io
sudo apt install docker-compose -y
sudo usermod -aG docker $USER
2. Melden Sie sich ab und wieder an oder führen Sie einen dieser Befehle aus:
source ~/.bashrc

exec bash

3. Melden Sie sich ab und wieder an, um zu überprüfen, ob Docker erfolgreich installiert wurde.
docker --version
docker compose version

4. Je nach Version kann der Docker Compose-Befehl so aussehen:

5. Klonen Sie dieses GitHub-Repository: https://github.com/object1st/elk-stack.git
git clone https://github.com/object1st/elk-stack.git
6. Wechseln Sie in den Ordner.
cd elk-stack/
7. Führen Sie diesen Befehl aus: docker-compose up –d.
8. Die Container werden heruntergeladen und dann gestartet.

9. Überprüfen Sie, ob einer der folgenden Container läuft:
docker ps
docker-compose ps

Zugriff auf Kibana in Ihrem Browser
Jetzt, da alles eingerichtet ist, können Sie Kibana in Ihrem Browser öffnen. Standardmäßig läuft Kibana auf Port 5601, daher müssen Sie die entsprechende URL aufrufen, je nachdem, wo Ihre Docker-Umgebung gehostet wird.
Wenn Ihr Docker-Setup beispielsweise auf einer VM namens docker01 läuft, würden Sie zu folgendem gehen:
Wenn Ihre VM einen benutzerdefinierten DNS-Namen wie geoffsvm hat, wäre die URL: http://geoffsvm:5601
Alternativ, wenn Sie keinen DNS-Namen konfiguriert haben, können Sie stattdessen die IP-Adresse der VM verwenden:
http://[your-vm-ip]:5601
Stellen Sie letztendlich sicher, dass Sie auf den richtigen Host zeigen und Port 5601 verwenden, der der Standard für Kibana ist.

Hinweis: Wenn Sie zu irgendeinem Zeitpunkt neu starten möchten, führen Sie die folgenden Schritte aus, um die Einrichtung zu löschen:
Um alle Container, Netzwerke und Volumes zu entfernen, führen Sie die folgenden Befehle aus:
docker compose down --volumes --remove-orphans
docker system prune -a --volumes -f
Konfigurieren von Veeam VBR zum Senden von Syslog-Daten an ELK
Um Protokolle in unser Setup zu importieren und zu sehen, wie es funktioniert, werden wir Veeam VBR so konfigurieren, dass es seine Syslog-Nachrichten an ELK weiterleitet:
1. Gehen Sie zum Dropdown-Menü oben links und klicken Sie auf „Optionen.“

2. Klicken Sie dann auf die „Ereignisweiterleitungs-Registerkarte.“

3. Hier werden wir den Syslog-Server hinzufügen, den wir in Docker erstellt haben.
Klicken Sie auf „Hinzufügen“ und geben Sie die Details ein.
Klicken Sie dann entweder auf:
„Übernehmen“, um zu speichern und das Fenster zu schließen.
„OK“, um zu speichern und das Fenster offen zu halten.


Sobald Sie auf Übernehmen oder OK drücken, sendet Veeam seine erste Test-Syslog-Nachricht an Elasticsearch.
Überprüfen der Protokolldiscovery in Kibana
1. Navigieren Sie zurück zur Kibana-Oberfläche.
2. Klicken Sie im Dropdown-Menü oben links auf „Entdecken.“ Dort werden Sie mit einer Einladung konfrontiert, eine neue Datenansicht zu erstellen, einschließlich einer Ansicht der Syslog-Daten nach Feld:

3. Klicken Sie auf „Datenansicht erstellen.“

4. Sie können sehen, dass unser Elasticsearch-Server bereits einige Syslog-Nachrichten von Veeam erhalten hat. Wenn Sie die Syslog-Servereinstellungen in Veeam konfigurieren, sendet es automatisch eine Testnachricht. Dies ermöglicht es Ihnen zu überprüfen, ob Ihr Überwachungs- oder SIEM-System die Protokolle korrekt empfängt.
5. Wir werden unsere Datenansicht Veeam_Logs nennen und ein Indexmuster verwenden, das mit den bereits importierten Protokollen übereinstimmt.

6. Klicken Sie auf „Datenansicht in Kibana speichern.“
7. Drücken Sie "Entdecken" im Menü auf der linken Seite der Seite, um die Protokollnachrichten von VBR zu sehen.


Fazit
Mit Ihrem ELK-Labor, das betriebsbereit ist, haben Sie einen bedeutenden Schritt in Richtung Aufbau einer funktionalen SIEM-Umgebung gemacht. In diesem Beitrag haben wir die Einrichtung von Docker-Containern für Elasticsearch, Logstash und Kibana durchlaufen, eine Logstash-Pipeline für Veeam-Syslog-Nachrichten konfiguriert und diese Protokolle in Kibana erkundet. Sie haben nun eine solide Grundlage für das Importieren und Visualisieren von Protokolldaten in einer kontrollierten Testumgebung.
Im letzten Beitrag dieser Mini-Serie im nächsten Monat werden wir auf dieser Grundlage aufbauen, indem wir uns mit Elastic Security befassen und erkunden, wie es die Bedrohungserkennung und Alarmierung innerhalb des ELK-Ökosystems verbessert. Wir werden auch Fluentd als Alternative zu Logstash vorstellen, die beiden Tools vergleichen und zeigen, wie man Fluentd konfiguriert, um Protokolle an Elasticsearch weiterzuleiten. Wenn Sie an Sicherheitsüberwachungsanwendungsfällen, der Erstellung von Dashboards und der Optimierung Ihrer Protokollpipeline interessiert sind, sollten Sie nicht verpassen, was als Nächstes kommt.