Description
CrowdSec est un security engine écrit en Go qui reprend la philosophie de Fail2Ban (parser les logs, détecter des patterns, bloquer) mais y ajoute trois innovations majeures :
- Une logique de décision plus fine via un DSL de scénarios
- Un bouncer qui applique la décision (iptables, nginx, Cloudflare…)
- Un partage d'IOC anonymisé avec la communauté
L'architecture est modulaire : un agent lit les logs et déclenche des alertes, des scénarios (collections YAML) décrivent les comportements suspects, un bouncer (plugin) applique la remédiation. Plus de 400 scénarios couvrent SSH, HTTP, WordPress, nginx, Traefik, Linux, Kubernetes, etc.
Installation
Docker Compose (recommandé)
services:
crowdsec:
image: crowdsecurity/crowdsec:latest
container_name: crowdsec
restart: unless-stopped
environment:
- COLLECTIONS=crowdsecurity/sshd crowdsecurity/nginx crowdsecurity/linux
volumes:
- cs-config:/etc/crowdsec
- cs-data:/var/lib/crowdsec/data
- /var/log:/var/log:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
bouncer-traefik:
image: fbonalair/crowdsec-traefik-bouncer:latest
container_name: crowdsec-bouncer
restart: unless-stopped
environment:
- CROWDSEC_BOUNCER_API_KEY=${CROWDSEC_BOUNCER_API_KEY}
- CROWDSEC_AGENT_HOST=crowdsec:8080
volumes:
cs-config:
cs-data:
Installation manuelle (Debian)
curl -s https://packagecloud.io/install/repositories/crowdsec/crowdsec/script.deb.sh | sudo bash sudo apt install crowdsec sudo cscli collections install crowdsecurity/sshd crowdsecurity/nginx sudo systemctl enable --now crowdsec
Configuration
Commandes CLI (cscli) :
cscli decisions list # bannissements actifs cscli decisions delete --id 42 # débannir cscli alerts list # alertes brutes cscli hub list # scénarios disponibles cscli hub install crowdsecurity/wordpress
Alternatives
Open Source
- Fail2Ban — Ancêtre, plus simple, pas collaboratif (Python)
- Wazuh — SIEM complet, plus lourd
- Suricata / Zeek — NIDS réseau, niveau paquet
Propriétaires
- Cloudflare Bot Management — WAF commercial
- AWS GuardDuty — IDS managé
- CrowdSec Manager — Console web officielle
Sécurité
- Inscrire son instance sur crowdsec.net pour le partage d'IOC mondial
- Ne pas exposer l'API 8080 sur Internet
- Choisir ses collections avec soin (trop = faux positifs)
- Whitelist vos IP d'administration
- Surveiller la latence API (si crowdsec.net est down, l'enrichissement IOC est KO)
