Crowdsec Docker Beispiel: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(Eine dazwischenliegende Version desselben Benutzers wird 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 ====
Zeile 8: Zeile 8:
 
CrowdSec ist 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'''
  
 
Diese 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:
Zeile 41: Zeile 40:
 
* '''cscli collections list'''
 
* '''cscli collections list'''
  
==== Weitere Hinweise ====
+
==== Hinweise zur Feinabstimmung ====
  
 
Nur bestimmte Container absichern:
 
Nur bestimmte Container absichern:
* z. B. gezielte Weiterleitung per journald-Filter oder syslog
+
* Logs gezielt weiterleiten, z. B. mit spezifischen Journald-Filtern oder syslog.
  
 
CrowdSec-Logs live verfolgen:
 
CrowdSec-Logs live verfolgen:
 
* '''journalctl -u crowdsec -f'''
 
* '''journalctl -u crowdsec -f'''
  
==== Ergänzungen ====
+
==== Ergänzung: Weitere Dienste absichern ====
  
Weitere Dienste wie nginx 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 ====
  
Mit dem Parser und der Docker-Collection kann CrowdSec auch containerisierte Dienste schützen, sofern deren 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.