CrowdSec sur Linux : détection d’intrusion communautaire et blocage automatisé

CrowdSec est un moteur de sécurité moderne qui associe détection comportementale locale et renseignement de menace communautaire. Il est particulièrement pertinent pour les serveurs exposés via SSH, reverse proxy et applications web publiques.

Ce guide privilégie une approche pragmatique avec blocage automatique, mais contrôlé.

1) Installer le moteur CrowdSec

Sur Debian/Ubuntu :

curl -s https://install.crowdsec.net | sudo sh
sudo apt install crowdsec -y
sudo systemctl enable --now crowdsec

Vérifiez l’état :

sudo systemctl status crowdsec
sudo cscli metrics

2) Activer les collections adaptées

Les collections regroupent parsers et scénarios prêts à l’emploi.

Exemples :

sudo cscli collections install crowdsecurity/sshd
sudo cscli collections install crowdsecurity/nginx
sudo cscli collections install crowdsecurity/linux
sudo systemctl restart crowdsec

Lister les collections actives :

sudo cscli collections list

3) Installer le bouncer firewall

Pour nftables :

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

En environnement iptables, installez le bouncer correspondant.

4) Vérifier décisions et remédiation

Inspectez alertes et décisions :

sudo cscli alerts list
sudo cscli decisions list

Après activité suspecte (ex. multiples échecs SSH), des décisions de blocage doivent apparaître.

5) Ajustement et durcissement

Définir des whitelists sûres

Évitez de bloquer scanners internes et IP de supervision fiables grâce à des exceptions explicites.

Régler la durée de blocage

Commencez avec des durées modérées, puis augmentez selon la qualité des détections.

Suivre les faux positifs

Revue hebdomadaire recommandée :

sudo cscli alerts list -o raw | head -40

Intégrations recommandées

  • Logs Nginx ou Traefik
  • Logs SSH
  • Logs d’authentification applicative
  • Logs WAF (si disponibles)

Plus les logs sont de qualité, meilleure est la corrélation des scénarios.

Dépannage rapide

Aucune alerte générée

Vérifiez acquisition et chemins de logs :

sudo cscli metrics
sudo journalctl -u crowdsec --no-pager | tail -50

Bouncer installé mais pas de blocage

Contrôlez les credentials API et la connectivité entre bouncer et API locale CrowdSec.

Trop de faux positifs

Analysez les scénarios déclencheurs et appliquez des exceptions ciblées plutôt qu’un bypass global.

Conclusion

CrowdSec offre une base défensive plus solide qu’un blocage regex simple. Vous gardez le contrôle local, améliorez le contexte de détection et automatisez la réponse grâce aux bouncers.

Un déploiement minimal peut être opérationnel en moins de 30 minutes avec une valeur immédiate sur les services exposés.