Crowdsec Grundsätzliches

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

CrowdSec - Open-Source Schutzsystem

CrowdSec ist ein Open-Source Intrusion-Prevention-System (IPS), das auf Community-Intelligenz basiert. Es analysiert Logdateien, erkennt verdächtige Aktivitäten und kann automatisiert auf Angriffe reagieren. Dabei teilt es erkannte Bedrohungen mit der globalen CrowdSec-Community, um kollektiv Angreifer zu blockieren.

Funktionsweise

CrowdSec analysiert verschiedene Logdateien von Servern und Anwendungen mithilfe von sogenannten "Parsers". Angriffsversuche werden anhand von vordefinierten "Scenarios" erkannt, und basierend darauf kann CrowdSec eine Entscheidung treffen ("Decision"), um beispielsweise eine IP-Adresse temporär oder dauerhaft zu sperren.

Grundlagen zu CrowdSec

CrowdSec besteht aus mehreren Komponenten, die zusammenarbeiten, um Angriffe zu erkennen und abzuwehren.

Was ist ein Bouncer?

Ein Bouncer ist eine Komponente, die erkannte bösartige IPs aktiv blockiert. Er setzt die Entscheidungen (Decisions) in der Firewall, im Reverse Proxy oder in anderen Systemen um. Bouncer gibt es für verschiedene Technologien, z. B.:

  • iptables/nftables (Firewall-Bouncer)
  • Nginx/Apache (Webserver-Bouncer)
  • Cloudflare, Traefik, HAProxy usw.

Was ist ein Alert?

Ein Alert wird erzeugt, wenn eine verdächtige Aktivität erkannt wird. Er enthält Informationen wie:

  • Die erkannte Bedrohung (z. B. Brute-Force-Angriff auf SSH)
  • Die betroffene IP-Adresse
  • Den Zeitpunkt des Angriffs

Alerts führen nicht automatisch zu einer Blockierung, sondern geben an, dass ein Angriff identifiziert wurde.

Was ist eine Decision?

Eine Decision ist eine Entscheidung, die CrowdSec trifft, um eine erkannte Bedrohung zu blockieren. Sie kann beinhalten:

  • Eine IP-Adresse für eine bestimmte Zeit zu bannen
  • Eine IP global (z. B. über CAPI) zu blockieren
  • Nur bestimmte Dienste zu sperren

Decisions werden von den Bouncern umgesetzt, z. B. durch das Hinzufügen der IP zu einer Firewall-Regel oder einer Sperrliste im Webserver.

Wie arbeiten diese Komponenten zusammen?

1. Der CrowdSec Agent analysiert die Logs von verschiedenen Diensten. 2. Wenn eine verdächtige Aktivität erkannt wird, erzeugt er einen Alert. 3. Falls die erkannte Aktivität eine bestimmte Schwelle überschreitet (z. B. mehrere fehlgeschlagene Login-Versuche in kurzer Zeit), erzeugt CrowdSec eine Decision. 4. Der Bouncer setzt diese Decision um, z. B. indem er die angreifende IP blockiert.

Status der aktuellen Entscheidungen prüfen

  • sudo cscli decisions list

Installation von CrowdSec aus den Originalquellen

GPG-Schlüssel hinzufügen

CrowdSec installieren

  • sudo apt install crowdsec -y

Status prüfen

  • sudo systemctl status crowdsec

Whitelisten für das Labor anpassen

Datei bearbeiten

  • sudo vi /etc/crowdsec/parsers/s02-enrich/whitelists.yaml

Folgende Einträge auskommentieren oder entfernen

whitelist:
  reason: "private ipv4/ipv6 ip/ranges"
  ip:
    - "127.0.0.1"
    - "::1"
  cidr:
    - "192.168.0.0/16"
    - "10.0.0.0/8"
    - "172.16.0.0/12"

CrowdSec neu starten

  • sudo systemctl restart crowdsec