Wazuh Monitoring Docker events

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Überwachung von Docker mit Wazuh

Einführung

Die Überwachung von Docker-Containern und des Docker-Servers ist entscheidend für die Sicherheit und Compliance einer Container-Umgebung. Sowohl der Docker-Server als auch die Container selbst sollten überwacht werden, um verdächtige Aktivitäten zu erkennen und auf Sicherheitsvorfälle reagieren zu können.

Überwachung des Docker-Servers

Der Docker-Server verwaltet die Bereitstellung von Containern und deren Ressourcenzuweisung. Durch die Überwachung können folgende Aspekte überprüft werden:

  • Ressourcennutzung
  • Unautorisierte Zugriffsversuche
  • Leistungsprobleme
  • Sicherheitsbedenken

Überwachung der Docker-Container

Neben dem Server müssen auch die Container selbst überwacht werden. Dies ermöglicht:

  • Erfassung von Netzwerkverbindungen
  • Überwachung von Dateisystemänderungen
  • Identifikation verdächtiger Prozesse
  • Erkennung von Malware

Durch die gleichzeitige Überwachung von Server und Containern wird die Sicherheit der Umgebung verbessert.

Schritte zur Überwachung von Docker mit Wazuh

Installation des Wazuh-Agenten

Der Wazuh-Agent wird auf dem Docker-Server installiert, um die zugrunde liegende Infrastruktur zu sichern.

Aktivierung des Wazuh Docker Listeners

Der Docker Listener wird auf dem Agenten ausgeführt und sammelt Docker-Logs zur Weiterleitung an den Wazuh-Server.

Aktivierung des Wazuh Docker Listeners

Voraussetzungen

Der Wazuh Docker Listener benötigt das Python Docker-Modul. Es werden Python-Versionen von 3.8 bis 3.12 unterstützt.

Installation der Docker-Bibliothek für Python

Die offizielle Python-Bibliothek für die Docker Engine API ist erforderlich. Wazuh benötigt die Version docker==7.1.0.

Für Python 3.8–3.10:

pip3 install docker==7.1.0 urllib3==1.26.20 requests==2.32.2

Für Python 3.11–3.12:

pip3 install docker==7.1.0 urllib3==1.26.20 requests==2.32.2 --break-system-packages

Hinweis: Dieser Befehl modifiziert die standardmäßige, extern verwaltete Python-Umgebung. Um diese Modifikation zu vermeiden, können Sie `pip3 install --upgrade pip` innerhalb einer virtuellen Umgebung ausführen. Anschließend müssen Sie das Shebang im Skript `/var/ossec/wodles/docker/DockerListener` auf den Interpreter Ihrer virtuellen Umgebung aktualisieren, z.B.: `#!/pfad/zu/ihrer/virtuellen/umgebung/bin/python3`.

Konfiguration des Wazuh-Agenten

Führen Sie die folgenden Schritte auf dem Docker-Server aus, um den Wazuh-Agenten zur Weiterleitung von Docker-Ereignissen an den Wazuh-Server zu konfigurieren.

1. Fügen Sie die folgende Konfiguration zur Wazuh-Agenten-Konfigurationsdatei `/var/ossec/etc/ossec.conf` hinzu, um den Docker Listener zu aktivieren:

   <wodle name="docker-listener">
     <disabled>no</disabled>
   </wodle>
   

2. Starten Sie den Wazuh-Agenten neu, um die Änderungen zu übernehmen:

   # systemctl restart wazuh-agent
   

Wazuh Docker Dashboard

Das Wazuh Docker Dashboard bietet eine zentrale und benutzerfreundliche Oberfläche zur Überwachung der Sicherheit Ihrer Docker-Infrastruktur. Mit Echtzeiteinblicken und umsetzbaren Informationen ermöglicht es Administratoren und Sicherheitsteams, potenzielle Bedrohungen zu erkennen und darauf zu reagieren, wodurch die Integrität und Zuverlässigkeit containerisierter Anwendungen sichergestellt wird. Vom Monitoring von Container-Ereignissen bis zur Analyse von Logs und Implementierung benutzerdefinierter Regeln erleichtert dieses Dashboard das Sicherheitsmanagement und erhöht den Schutz Ihrer Docker-Umgebung.

Wazuh Docker Listener Konfigurationsoptionen

In diesem Abschnitt werden die Haupt- und Zeitplanungsoptionen des Wazuh Docker Listeners erläutert.

Hauptoptionen

disabled

Mit der Option `disabled` können Sie den Docker Listener aktivieren oder deaktivieren.

Standardwert: no

Erlaubte Werte: yes, no

attempts

Die Option `attempts` gibt die Anzahl der Versuche an, den Listener im Fehlerfall erneut zu starten.

Standardwert: 5

Erlaubte Werte: Positive ganze Zahl

Zeitplanungsoptionen

run_on_start

Führt den Docker Listener sofort beim Start des Wazuh-Agenten aus.

Standardwert: yes

Erlaubte Werte: yes, no

interval

Wartezeit, bevor der Docker Listener im Fehlerfall erneut ausgeführt wird.

Standardwert: 1m

Erlaubte Werte: Positive Zahl mit Zeiteinheitensuffix, z.B. s (Sekunden), m (Minuten), h (Stunden), d (Tage), M (Monate).

day

Tag des Monats, an dem der Scan ausgeführt wird.

Standardwert: Nicht festgelegt

Erlaubte Werte: Tag des Monats [1..31]

Hinweis: Wenn die Option `day` gesetzt ist, muss der Wert von `interval` ein Vielfaches von Monaten sein. Standardmäßig ist das Intervall auf einen Monat gesetzt.

wday

Wochentag, an dem der Scan ausgeführt wird. Diese Option ist nicht kompatibel mit der Option `day`.

Standardwert: Nicht festgelegt

Erlaubte Werte: Wochentag:

  • sunday/sun
  • monday/mon
  • tuesday/tue
  • wednesday/wed
  • thursday/thu
  • friday/fri
  • saturday/sat

Hinweis: Wenn die Option `wday` gesetzt ist, muss der Wert von `interval` ein Vielfaches von Wochen sein. Standardmäßig ist das Intervall auf eine Woche gesetzt.

time

Uhrzeit, zu der der Scan ausgeführt wird, im Format hh:mm.

Standardwert: Nicht festgelegt

Erlaubte Werte: Uhrzeit [hh:mm]

Hinweis: Wenn nur die Option `time` gesetzt ist, muss der Wert von `interval` ein Vielfaches von Tagen oder Wochen sein. Standardmäßig ist das Intervall auf einen Tag gesetzt.

Beispielkonfiguration

Die folgende Beispielkonfiguration zeigt einen aktivierten Docker Listener. Der Listener versucht fünfmal, sich im Zehn-Minuten-Intervall neu zu starten, falls er fehlschlägt.

<wodle name="docker-listener">
  <interval>10m</interval>
  <attempts>5</attempts>
  <run_on_start>no</run_on_start&gt
::contentReference[oaicite:0]{index=0}
 



Quelle

*https://documentation.wazuh.com/current/proof-of-concept-guide/monitoring-docker.html