Crowdsec Docker Beispiel: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „==== Docker-Absicherung mit CrowdSec ==== ;Ziel CrowdSec soll zusätzlich zu SSH auch containerisierte Dienste erkennen, die über Docker betrieben werden. Da…“)
 
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
==== Docker-Absicherung mit CrowdSec ====
+
==== Absicherung von Docker-Containern mit CrowdSec ====
  
 
;Ziel
 
;Ziel
CrowdSec soll zusätzlich zu SSH auch containerisierte Dienste erkennen, die über Docker betrieben werden. Dazu werden Docker-Logs über journald ausgewertet.
+
CrowdSec soll neben SSH auch Angriffe auf Dienste erkennen, die in Docker-Containern betrieben werden. Dazu werden die Logs der Container ausgewertet.
  
 
==== Voraussetzungen ====
 
==== Voraussetzungen ====
  
'''CrowdSec ist bereits installiert und läuft'''
+
CrowdSec ist installiert und läuft.
  
'''Docker loggt ins Journal'''
+
Die Logs der Docker-Dienste sind für CrowdSec zugänglich, beispielsweise über das Journal:
'''journalctl -u docker.service | tail'''
+
* '''journalctl -u docker.service | tail'''
  
==== Parser für Docker aktivieren ====
+
==== Schritt 1: Parser für Docker-Logs aktivieren ====
  
'''Hub aktualisieren'''
+
Hub aktualisieren:
'''cscli hub update'''
+
* '''cscli hub update'''
  
'''Docker-Parser installieren'''
+
Docker-Log-Parser installieren:
'''cscli parsers install crowdsecurity/docker-logs'''
+
* '''cscli parsers install crowdsecurity/docker-logs'''
  
==== Docker-Collection installieren ====
+
==== Schritt 2: Traefik-Collection installieren ====
  
'''Collection installieren'''
+
Traefik-Collection installieren:
'''cscli collections install crowdsecurity/docker'''
+
* '''cscli collections install crowdsecurity/traefik'''
  
'''Die Collection enthält'''
+
Diese Collection enthält:
* Parser für Docker-Log-Formate
+
* Parser für Traefik-Logs
* Szenarien zur Erkennung typischer Angriffe auf containerisierte Dienste
+
* Szenarien zur Erkennung typischer Angriffe auf HTTP-Dienste
  
==== CrowdSec neu starten ====
+
==== Schritt 3: CrowdSec-Dienst neu starten ====
  
'''Dienst neu starten'''
+
* '''systemctl restart crowdsec'''
'''systemctl restart crowdsec'''
 
  
==== Prüfung der Konfiguration ====
+
==== Überprüfung der Konfiguration ====
  
'''Aktive Szenarien anzeigen'''
+
Aktive Szenarien anzeigen:
'''cscli scenarios list'''
+
* '''cscli scenarios list'''
  
'''Aktive Collections anzeigen'''
+
Aktive Collections anzeigen:
'''cscli collections list'''
+
* '''cscli collections list'''
  
==== Weitere Hinweise ====
+
==== Hinweise zur Feinabstimmung ====
  
'''Gezielte Absicherung einzelner Container'''
+
Nur bestimmte Container absichern:
* Nur Logs einzelner Container auswerten (z. B. mit syslog-Forwarding oder Journal-Filter)
+
* Logs gezielt weiterleiten, z. B. mit spezifischen Journald-Filtern oder syslog.
  
'''Erkennung prüfen'''
+
CrowdSec-Logs live verfolgen:
* Testangriff auf Webdienst im Container durchführen
+
* '''journalctl -u crowdsec -f'''
* CrowdSec-Logs mitverfolgen:
 
'''journalctl -u crowdsec -f'''
 
  
==== Ergänzungen ====
+
==== Ergänzung: Weitere Dienste absichern ====
  
'''Weitere Dienste absichern'''
+
Falls nginx im Container laufen, empfiehlt es sich, folgende Collections zu installieren:
'''cscli collections install crowdsecurity/nginx'''
+
* '''cscli collections install crowdsecurity/nginx'''
'''cscli scenarios install crowdsecurity/http-bf'''
 
  
 
==== Fazit ====
 
==== Fazit ====
  
Durch Installation des Parsers und der Docker-Collection lässt sich CrowdSec erweitern, um auch containerisierte Dienste zu überwachen. Voraussetzung ist, dass die Logs zentral im Journal zur Verfügung stehen.
+
Mit diesen Schritten lässt sich CrowdSec so erweitern, dass auch Angriffe auf Docker-Container erkannt und geblockt werden. Voraussetzung ist, dass die Logs der Container für CrowdSec zugänglich sind.

Aktuelle Version vom 9. April 2025, 06:57 Uhr

Absicherung von Docker-Containern mit CrowdSec

Ziel

CrowdSec soll neben SSH auch Angriffe auf Dienste erkennen, die in Docker-Containern betrieben werden. Dazu werden die Logs der Container ausgewertet.

Voraussetzungen

CrowdSec ist installiert und läuft.

Die Logs der Docker-Dienste sind für CrowdSec zugänglich, beispielsweise über das Journal:

  • journalctl -u docker.service | tail

Schritt 1: Parser für Docker-Logs aktivieren

Hub aktualisieren:

  • cscli hub update

Docker-Log-Parser installieren:

  • cscli parsers install crowdsecurity/docker-logs

Schritt 2: Traefik-Collection installieren

Traefik-Collection installieren:

  • cscli collections install crowdsecurity/traefik

Diese Collection enthält:

  • Parser für Traefik-Logs
  • Szenarien zur Erkennung typischer Angriffe auf HTTP-Dienste

Schritt 3: CrowdSec-Dienst neu starten

  • systemctl restart crowdsec

Überprüfung der Konfiguration

Aktive Szenarien anzeigen:

  • cscli scenarios list

Aktive Collections anzeigen:

  • cscli collections list

Hinweise zur Feinabstimmung

Nur bestimmte Container absichern:

  • Logs gezielt weiterleiten, z. B. mit spezifischen Journald-Filtern oder syslog.

CrowdSec-Logs live verfolgen:

  • journalctl -u crowdsec -f

Ergänzung: Weitere Dienste absichern

Falls nginx im Container laufen, empfiehlt es sich, folgende Collections zu installieren:

  • cscli collections install crowdsecurity/nginx

Fazit

Mit diesen Schritten lässt sich CrowdSec so erweitern, dass auch Angriffe auf Docker-Container erkannt und geblockt werden. Voraussetzung ist, dass die Logs der Container für CrowdSec zugänglich sind.