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.