Linux Security

CrowdSec Decisions verwalten – IP-Adressen manuell sperren, freigeben und Ausnahmen definieren

CrowdSec trifft automatisch Entscheidungen, wenn Angriffe erkannt werden. In der Praxis gibt es jedoch Situationen, in denen Administratoren selbst eingreifen möchten – etwa um eine IP-Adresse dauerhaft zu sperren, eine vertrauenswürdige Adresse freizugeben oder Fehlalarme zu korrigieren. In diesem Artikel lernen Sie, wie Sie Decisions, Allowlists, Whitelists und Blacklists effektiv verwalten.

4 min Lesezeit
Grafik: CrowdSec Decisions sicher verwalten

Einer der größten Vorteile von CrowdSec ist die automatische Reaktion auf erkannte Angriffe. Wird beispielsweise ein SSH-Brute-Force-Angriff erkannt, erstellt CrowdSec selbstständig eine sogenannte Decision, die den Angreifer für einen definierten Zeitraum sperrt.

Doch nicht jede Situation lässt sich vollständig automatisieren. Administratoren möchten gelegentlich IP-Adressen dauerhaft blockieren, bestimmte Netzwerke von der Überwachung ausnehmen oder versehentlich gesetzte Sperren wieder entfernen.

CrowdSec bietet hierfür umfangreiche Verwaltungsfunktionen.


Was sind Decisions?

Eine Decision ist die Reaktion von CrowdSec auf ein erkanntes Ereignis.

Der Ablauf sieht vereinfacht so aus:

Logdatei

↓

Parser

↓

Szenario

↓

Alert

↓

Decision

↓

Bouncer blockiert Zugriff

Eine Decision enthält unter anderem:

  • Ziel-IP-Adresse
  • Art der Entscheidung
  • Ursache
  • Ablaufzeit
  • Szenario
  • Zeitpunkt der Erstellung

Der Bouncer übernimmt anschließend die eigentliche Sperre.


Aktuelle Decisions anzeigen

Alle aktiven Entscheidungen lassen sich mit folgendem Befehl anzeigen:

sudo cscli decisions list

Beispiel:

ID    Value          Scope    Type    Origin      Expires
1     192.0.2.15     Ip       Ban     crowdsec    2h
2     198.51.100.7   Ip       Ban     crowdsec    4h

Die Ausgabe zeigt:

  • eindeutige ID
  • betroffene IP
  • Typ der Entscheidung
  • Ursprung
  • verbleibende Laufzeit

Details einer Decision

Für umfangreichere Informationen eignet sich:

sudo cscli decisions inspect <ID>

Beispiel:

sudo cscli decisions inspect 2

Hier werden zusätzliche Informationen wie Szenario, Alert und Metadaten angezeigt.


Eine IP-Adresse manuell sperren

Nicht jede Sperre muss durch CrowdSec ausgelöst werden.

Eine IP kann jederzeit manuell blockiert werden.

sudo cscli decisions add --ip 203.0.113.10

Die Sperre wird unmittelbar an den Bouncer übertragen.


Sperrdauer festlegen

Standardmäßig verwendet CrowdSec die konfigurierte Ablaufzeit.

Diese lässt sich beim Erstellen überschreiben.

sudo cscli decisions add \
  --ip 203.0.113.10 \
  --duration 24h

Weitere Beispiele:

--duration 30m
--duration 6h
--duration 7d
--duration 30d

Dadurch können Sperren individuell an die jeweilige Situation angepasst werden.


Mehrere IP-Adressen sperren

Auch mehrere Adressen lassen sich nacheinander hinzufügen.

sudo cscli decisions add --ip 203.0.113.10
sudo cscli decisions add --ip 203.0.113.20
sudo cscli decisions add --ip 203.0.113.30

Für größere Listen empfiehlt sich die Automatisierung per Skript.


Ganze Netzwerke sperren

Nicht nur einzelne Hosts können blockiert werden.

Auch komplette Subnetze sind möglich.

sudo cscli decisions add --range 203.0.113.0/24

Dies ist sinnvoll, wenn Angriffe wiederholt aus demselben Netzwerk erfolgen.


Permanente Sperren

Besonders auffällige Angreifer sollen manchmal dauerhaft blockiert bleiben.

Dies lässt sich über eine sehr lange Laufzeit oder – je nach eingesetzter CrowdSec-Version – ohne Ablaufzeit umsetzen.

Beispiel mit langer Laufzeit:

sudo cscli decisions add \
  --ip 203.0.113.50 \
  --duration 3650d

Vor permanenten Sperren sollte jedoch sorgfältig geprüft werden, ob es sich tatsächlich um einen dauerhaften Angreifer handelt.


Eine Decision löschen

Eine Sperre lässt sich jederzeit entfernen.

Über die IP-Adresse:

sudo cscli decisions delete --ip 203.0.113.10

Oder über die ID:

sudo cscli decisions delete --id 5

Der Bouncer übernimmt die Änderung unmittelbar.


Alle Decisions anzeigen und filtern

Je nach Version stehen verschiedene Filtermöglichkeiten zur Verfügung.

Beispiele:

sudo cscli decisions list

oder

sudo cscli decisions list --ip 203.0.113.10

Dadurch lassen sich bestimmte Einträge schneller finden.


Whitelist und Allowlist – wo liegt der Unterschied?

Die Begriffe Whitelist und Allowlist werden häufig synonym verwendet.

Technisch beschreiben beide eine Liste von IP-Adressen oder Netzwerken, die von bestimmten Maßnahmen ausgenommen werden.

Der Begriff Allowlist setzt sich in neuerer Dokumentation zunehmend durch.

Eine Allowlist sorgt beispielsweise dafür, dass:

  • interne Server niemals gesperrt werden
  • Administratoren stets Zugriff behalten
  • Monitoring-Systeme nicht blockiert werden
  • Reverse-Proxys erreichbar bleiben

Typische Kandidaten für eine Allowlist

Nicht jede IP sollte von CrowdSec überwacht oder blockiert werden.

Häufig aufgenommen werden:

  • interne Server
  • Management-Netzwerke
  • VPN-Endpunkte
  • eigene Bürostandorte
  • Monitoring-Systeme
  • Backup-Server
  • Reverse-Proxys
  • Load Balancer

Dadurch werden versehentliche Sperren vermieden.


Allowlists konfigurieren

Allowlists werden in den entsprechenden Konfigurationsdateien von CrowdSec definiert.

Je nach Version befinden sich diese beispielsweise unter:

/etc/crowdsec/parsers/s02-enrich/

oder

/etc/crowdsec/

Ein einfaches Beispiel:

name: my-whitelist

whitelist:
  reason: Internal network

  ip:
    - "192.168.0.0/16"
    - "10.0.0.0/8"

  cidr:
    - "172.16.0.0/12"

Nach Änderungen sollte CrowdSec neu geladen werden.

sudo systemctl restart crowdsec

Blacklists

Eine Blacklist verfolgt den umgekehrten Ansatz.

Hier werden bekannte Angreifer grundsätzlich blockiert.

Beispiele:

  • kompromittierte Server
  • bekannte Botnetze
  • interne Testsysteme
  • dauerhaft auffällige IP-Adressen

Blacklists können sowohl manuell als auch automatisiert gepflegt werden.


Ablaufzeiten verstehen

Nicht jede Sperre sollte dauerhaft bestehen.

Typische Werte:

AngriffEmpfohlene DauerSSH-Brute-Force4 StundenWebscanner12 StundenSQL Injection24 StundenCredential Stuffing24 StundenBotnetzmehrere TageWiederholungstätermehrere Wochen

Die optimale Sperrdauer hängt immer vom jeweiligen Einsatzszenario ab.


Decisions im Dashboard verwalten

Wer das CrowdSec Dashboard installiert hat, kann Decisions komfortabel grafisch verwalten.

Dort lassen sich:

  • aktive Sperren anzeigen
  • Details aufrufen
  • Ablaufzeiten prüfen
  • Entscheidungen nachvollziehen
  • Entscheidungen entfernen

Gerade bei vielen Servern ist dies deutlich komfortabler als die ausschließliche Arbeit mit der Kommandozeile.


Best Practices

Für den produktiven Betrieb haben sich folgende Empfehlungen bewährt:

  • keine dauerhaften Sperren ohne Prüfung vergeben
  • interne Netzwerke grundsätzlich auf eine Allowlist setzen
  • Reverse-Proxys berücksichtigen
  • Ablaufzeiten regelmäßig überprüfen
  • Entscheidungen dokumentieren
  • manuelle Sperren sparsam einsetzen
  • Allowlists nach Infrastrukturänderungen aktualisieren
  • Blacklists regelmäßig bereinigen


Decisions bilden das Herzstück der automatischen Reaktion von CrowdSec auf erkannte Angriffe. Gleichzeitig behalten Administratoren jederzeit die volle Kontrolle und können IP-Adressen manuell sperren oder freigeben, Allowlists für vertrauenswürdige Systeme definieren und Blacklists für bekannte Angreifer pflegen. Mit einer durchdachten Kombination aus automatischen Entscheidungen und gezielten manuellen Eingriffen lässt sich die Sicherheit eines Linux-Servers weiter erhöhen, ohne den regulären Betrieb zu beeinträchtigen.