CrowdSec einrichten – Open-Source Intrusion Prevention für Linux Server 2025

Kollektive Bedrohungsabwehr: IPS mit Community-Blacklists

S
SeeColors IT
11. Juni 20264 Min. Lesezeit122 Aufrufe

Was ist CrowdSec?

CrowdSec ist ein modernes, kollaboratives Open-Source Intrusion Prevention System (IPS). Es analysiert Logs in Echtzeit, erkennt Angriffsmuster und blockiert Angreifer – nicht nur auf Ihrem Server, sondern koordiniert über eine weltweite Community.

CrowdSec vs. fail2ban

Merkmal fail2ban CrowdSec
Analyse Regex auf Logs ML + Behavior Scenarios
Community-Blacklists Nein Ja (täglich aktualisiert)
Architektur Monolithisch Agent + Bouncer getrennt
Dashboard Nein Cloud-Dashboard
Aktionen iptables-Ban Bouncers (iptables, nginx, Cloudflare...)
Performance Threads Go-basiert, sehr schnell

CrowdSec hat zwei Teile:

  1. Security Engine (Agent): Analysiert Logs, erkennt Angriffe
  2. Bouncers: Setzen Entscheidungen durch (blockieren IPs per iptables, nginx, Cloudflare etc.)

Installation auf Ubuntu/Debian

# Repository hinzufügen
curl -s https://packagecloud.io/install/repositories/crowdsec/crowdsec/script.deb.sh | sudo bash

# CrowdSec installieren
sudo apt update
sudo apt install -y crowdsec

# Status prüfen
sudo systemctl status crowdsec
sudo cscli version

Firewall-Bouncer installieren (blockiert per iptables/nftables)

sudo apt install -y crowdsec-firewall-bouncer-nftables
sudo systemctl enable --now crowdsec-firewall-bouncer

Der Bouncer liest gebannte IPs aus CrowdSec und fügt sie automatisch zu nftables-Regeln hinzu.

Collections – vorhandene Angriffsszenarien

CrowdSec nutzt Collections – Pakete aus Parsern und Szenarien für bestimmte Software:

# Installierte Collections anzeigen
sudo cscli collections list

# Typischerweise vorinstalliert:
# crowdsecurity/linux        – SSH, syslog
# crowdsecurity/sshd         – SSH-Brute-Force

# Weitere Collections installieren
sudo cscli collections install crowdsecurity/nginx
sudo cscli collections install crowdsecurity/apache2
sudo cscli collections install crowdsecurity/wordpress
sudo cscli collections install crowdsecurity/postfix

# Nach Installation neu laden
sudo systemctl reload crowdsec

Aktive Sperren anzeigen

# Aktuelle Entscheidungen (gesperrte IPs)
sudo cscli decisions list

# Alerts anzeigen (Erkennungen)
sudo cscli alerts list

# Spezifische IP manuell bannen
sudo cscli decisions add --ip 1.2.3.4 --reason "manuell geblockt" --duration 24h

# IP-Ban aufheben
sudo cscli decisions delete --ip 1.2.3.4

Log-Quellen konfigurieren

CrowdSec liest Log-Dateien automatisch basierend auf den installierten Collections. Konfiguration in /etc/crowdsec/acquis.yaml:

# Nginx Logs hinzufügen
filenames:
  - /var/log/nginx/access.log
  - /var/log/nginx/error.log
labels:
  type: nginx
---
# Traefik Logs
filenames:
  - /var/log/traefik/access.log
labels:
  type: traefik
---
# Docker Container Logs via journald
source: journald
journalctl_filter:
  - "_SYSTEMD_UNIT=docker.service"
labels:
  type: syslog

Nach Änderungen:

sudo systemctl reload crowdsec

CrowdSec Central API – Community-Blacklists

CrowdSec teilt Bedrohungsdaten anonymisiert mit der Community. Sie erhalten im Gegenzug die Community-Blacklist – täglich aktualisiert mit bekannten Angreifer-IPs weltweit.

# Verbindung zur CAPI prüfen
sudo cscli capi status

# Community-Blocklists manuell aktualisieren
sudo cscli hub update
sudo cscli hub upgrade

CrowdSec App-Dashboard

Unter app.crowdsec.net (kostenlos) haben Sie ein visuelles Dashboard mit:

  • Erkannte Angriffe und Trends
  • Welche Szenarien wurden ausgelöst
  • Top Angreifer-IPs
  • Eigene benutzerdefinierte Blocklisten

Enrollment:

sudo cscli console enroll <ENROLLMENT_KEY>
sudo systemctl reload crowdsec

Den Enrollment-Key finden Sie in Ihrem Dashboard-Account.

nginx-Bouncer (direkte Sperrung im Webserver)

Statt iptables-Level-Blocking kann CrowdSec Angreifer direkt im nginx abweisen (HTTP 403):

sudo apt install -y crowdsec-nginx-bouncer

In /etc/nginx/nginx.conf:

http {
    ...
    # CrowdSec Bouncer
    lua_package_path "/usr/lib/crowdsec/lua/?.lua;;";
    init_by_lua_file /etc/crowdsec/bouncers/crowdsec-nginx-bouncer.conf;
    ...
}

Eigene Szenarien erstellen

Für individuelle Angriffsmuster eigene Scenarios schreiben:

# /etc/crowdsec/scenarios/custom-api-abuse.yaml
type: leaky
name: custom/api-abuse
description: "Mehr als 100 API-Requests in 1 Minute"
filter: "evt.Meta.service == 'nginx' && evt.Meta.http_path startsWith '/api/'"
leakspeed: "10s"
capacity: 100
labels:
  service: api
  type: brute_force
blackhole: 5m
sudo systemctl reload crowdsec

FAQ

Blockiert CrowdSec legitime Benutzer?
False Positives sind möglich aber selten. Sie können IPs auf eine Whitelist setzen: sudo cscli decisions add --ip 1.2.3.4 --type allow

Muss ich Logs mit CrowdSec teilen?
Nur anonymisierte Signaturen werden geteilt (keine Log-Inhalte). Das Sharing kann in /etc/crowdsec/config.yaml unter api.server.capi_whitelists eingeschränkt werden.

Kann CrowdSec fail2ban ersetzen?
Für neue Deployments: Ja. Für bestehende fail2ban-Setups lohnt sich eine Migration – CrowdSec ist mächtiger und wartungsarmer.

Fazit

CrowdSec ist 2025 die beste fail2ban-Alternative für Linux-Server. Die Community-Blacklists blockieren aktive Angreifer proaktiv – bevor sie Ihren Server überhaupt erreichen.

Wir härten Linux-Server und Webanwendungen für KMU in Heidelberg, Mannheim und der Rhein-Neckar-Region. Server-Sicherheitsberatung anfragen.

Artikel teilen

War dieser Artikel hilfreich?

Dein Feedback hilft uns, bessere Inhalte zu erstellen.

Kommentar hinterlassen

Verwandte Artikel