CrowdSec est un moteur de détection collaboratif qui analyse vos logs (SSH, Apache/Nginx, etc.) et applique des décisions de blocage via des “bouncers” (pare-feu, reverse proxy, Cloudflare…). Ci-dessous : rôle, avantages, installation Ubuntu 24.04, vérifications et FAQ.
1. CrowdSec : c’est quoi ?
CrowdSec est un IDS/IPS collaboratif open-source : il lit vos logs, détecte les comportements malveillants via des scénarios, puis fait appliquer des décisions (ex. : ban 4h) par un bouncer côté pare-feu, serveur web ou CDN. L’intérêt : une détection locale + un écosystème de signatures mutualisées (blocklist communautaire) qui s’améliore en continu.
2. Comment ça fonctionne ?
- Agent CrowdSec : lit les logs, applique parsers & scénarios, produit des alerts puis des décisions.
 - LAPI (Local API) : service local qui expose les décisions aux bouncers.
 - Bouncers : modules d’application (pare-feu iptables/nftables, Nginx/Apache, Cloudflare…).
 - Hub & Console : téléchargent scénarios/collections et (optionnel) relient vos instances pour pilotage centralisé.
 
3. Installer CrowdSec (Ubuntu 24.04)
Méthode recommandée : ajouter le dépôt officiel puis installer le paquet crowdsec.
# 1) Ajouter le dépôt officiel CrowdSec
curl -s https://packagecloud.io/install/repositories/crowdsec/crowdsec/script.deb.sh | sudo bash
# 2) Installer CrowdSec
sudo apt-get update -y
sudo apt-get install -y crowdsec
# 3) Activer au démarrage
sudo systemctl enable --now crowdsec
# 4) Vérifier l'état
systemctl status crowdsec
cscli version
cscli metrics
        
        
        Optionnel — relier à la Console (pilotage multi-serveurs, dashboards) :
cscli console enroll
# Suivre l'URL/tokens affichés pour finaliser l'enrôlement.
        
        
    4. Collections & scénarios utiles
Installe des ensembles prêts à l’emploi (parsers + scénarios) pour tes services :
# Mise à jour du Hub
sudo cscli hub update
# Linux de base + SSH + Apache2
sudo cscli collections install crowdsecurity/linux
sudo cscli collections install crowdsecurity/ssh
sudo cscli collections install crowdsecurity/apache2
# Appliquer (l'agent recharge automatiquement, sinon:)
sudo systemctl reload crowdsec
        
        
        Astuce : si tes logs Apache ne sont pas au chemin par défaut, déclare le fichier dans
            /etc/crowdsec/acquis.d/ (format YAML) :
        
# /etc/crowdsec/acquis.d/apache.yaml
filenames:
  - /var/log/apache2/access.log
  - /var/log/apache2/error.log
labels:
  type: apache2
        
    5. Ajouter un bouncer (pare-feu / Cloudflare)
Pare-feu (recommandé sur Ubuntu 24.04)
Sur 24.04, le système sous-jacent est généralement nftables. Installe l’un de ces paquets selon disponibilité :
# Option 1 : bouncer générique (détecte iptables/nftables)
sudo apt-get install -y crowdsec-firewall-bouncer
# Option 2 : variante explicite nftables (selon dépôt)
# sudo apt-get install -y crowdsec-firewall-bouncer-nftables
sudo systemctl enable --now crowdsec-firewall-bouncer
sudo systemctl status crowdsec-firewall-bouncer
        
        
        
        Cloudflare (si ton site est derrière Cloudflare)
Le Cloudflare bouncer pousse les décisions CrowdSec en règles Cloudflare (WAF/RATE LIMIT). Pratique pour bloquer avant d’atteindre ton serveur.
sudo cscli bouncers add cloudflare-bouncer   # génère un token
sudo apt-get install -y crowdsec-cloudflare-bouncer
# Éditer la conf :
sudo nano /etc/crowdsec/bouncers/crowdsec-cloudflare-bouncer.yaml
# Renseigner : api_token, account_id, zone_id ; puis :
sudo systemctl enable --now crowdsec-cloudflare-bouncer
        
    6. Vérifier que ça marche
Liste les décisions actives :
cscli decisions list     # -a pour inclure la blocklist communautaire
cscli bouncers list
cscli metrics
        
        
        Test de ban manuel (remplace 1.2.3.4 par une IP de test) :
# Bannir 15 minutes
sudo cscli decisions add --ip 1.2.3.4 --duration 15m --reason "test"
# Lever le ban
sudo cscli decisions delete --ip 1.2.3.4
        
    7. Bonnes pratiques & dépannage
- Toujours installer un bouncer : CrowdSec détecte, le bouncer bloque.
 - Mettre à jour le Hub régulièrement : 
cscli hub update, puissystemctl reload crowdsec. - Journaliser la vraie IP derrière Cloudflare : activer 
mod_remoteipet déclarer les IPs Cloudflare enRemoteIPTrustedProxy, afin que les logs contiennent l’IP client. - Whitelists : utilise les listes de confiance (postoverflow) pour éviter les faux positifs sur tes IPs d’admin/monitoring.
 - Désactivation d’urgence : 
sudo systemctl stop crowdsec-firewall-bouncer(puis supprime la décision :cscli decisions delete --ip …). 
FAQ
CrowdSec vs Fail2ban : quelle différence ?
CrowdSec repose sur un Hub de scénarios maintenu par la communauté, une Local API et des bouncers multiples (pare-feu, reverse-proxy, Cloudflare…). Il mutualise les signaux d’attaque (blocklist communautaire). Fail2ban est plus « solo » et essentiellement orienté jail/regex + iptables.
Je suis derrière Cloudflare : pare-feu ou bouncer Cloudflare ?
Idéalement les deux : bouncer Cloudflare pour bloquer au niveau CDN (avant
            ton serveur) et bouncer pare-feu en filet de sécurité côté OS. N’oublie pas
            mod_remoteip pour loguer la vraie IP client.
        
Où voir ce que fait CrowdSec ?
cscli metrics (activité, alertes, décisions),
            cscli decisions list (bans), et la Console si tu as enrolled l’instance. Les logs de
            l’agent sont dans /var/log/crowdsec/.
        
Comment tester rapidement ?
Ajoute une décision manuelle :
            sudo cscli decisions add --ip 1.2.3.4 --duration 10m, puis supprime-la :
            sudo cscli decisions delete --ip 1.2.3.4. Assure-toi que le bouncer est actif et connecté à la
            LAPI.
        











