L’article a été rafraîchi : nouvelle méthode d’installation officielle, bouncer nftables (désormais le standard), enrôlement à la Console, protection concrète d’un WordPress derrière nginx, et une nouvelle section sur le composant AppSec / WAF apparu depuis. La version courante du moteur est la 1.7.x.
Introduction
Dans un monde où les cyberattaques deviennent de plus en plus sophistiquées et fréquentes, la sécurité des infrastructures web est une priorité absolue, pour les entreprises comme pour les particuliers. Parmi les solutions disponibles, CrowdSec se distingue par son approche collaborative. Cet article présente l’outil et montre comment l’intégrer pour renforcer la sécurité de votre infrastructure.
Qu’est-ce que CrowdSec ?
CrowdSec est une plateforme open-source d’origine française conçue pour détecter, prévenir et partager des informations sur les cybermenaces. Elle repose sur l’analyse comportementale des logs et sur un mécanisme de crowd-sourcing : chaque IP malveillante détectée par un membre peut être partagée pour que toute la communauté la bloque de façon préventive. L’objectif est de mutualiser les efforts de défense.
On le présente souvent comme un « Fail2ban moderne et collaboratif » — mais sa séparation nette entre détection et blocage le rend bien plus flexible.
Fonctionnement de CrowdSec
CrowdSec se compose de plusieurs éléments clés :
- Le moteur (Security Engine) : installé sur vos serveurs, il analyse les logs pour repérer les comportements suspects à l’aide de scénarios prédéfinis et personnalisables (force brute, scan de ports, probing HTTP, etc.). Il expose une API locale (LAPI) qui stocke les alertes et les décisions.
- La base de réputation communautaire : les signaux d’attaque sont mutualisés via une base centralisée, enrichissant la détection de tous.
- La Console : un tableau de bord web (gratuit) pour superviser et administrer vos instances de façon centralisée.
- Les Remediation Components (bouncers) : ce sont eux qui appliquent les décisions — blocage d’IP au niveau pare-feu, reverse proxy, CDN, etc. Point important : le moteur ne bloque rien tout seul ; sans bouncer, vous avez une caméra de surveillance mais pas de videur.
Installation et configuration
Prérequis
- Un serveur Linux avec des privilèges administrateur.
- Une connexion internet pour synchroniser avec la base communautaire.
Installation du moteur
La méthode recommandée passe désormais par le script officiel, qui ajoute le dépôt et la clé GPG proprement :
# Ajout du dépôt officiel CrowdSec
curl -s https://install.crowdsec.net | sudo sh
# Installation du moteur (Security Engine)
sudo apt update && sudo apt install crowdsec
À l’installation, CrowdSec détecte les services présents (SSH, nginx…) et installe automatiquement les collections correspondantes. Pour voir et compléter ce qui est actif :
sudo cscli collections list
sudo cscli collections install crowdsecurity/sshd
sur Ubuntu Pro/ESM, le dépôt universe fournit parfois une version ancienne (1.4.6) plus prioritaire. Vérifiez avec apt policy crowdsec et, au besoin, forcez la priorité du dépôt officiel via un fichier de pinning.
Mise en place d’un bouncer
Pour réellement bloquer les IP détectées, installez un bouncer pare-feu. Sur les distributions récentes (Debian 12+/Ubuntu 24.04+), nftables est le backend par défaut :
# Distributions modernes : nftables
sudo apt install crowdsec-firewall-bouncer-nftables
# Systèmes plus anciens (backend iptables)
# sudo apt install crowdsec-firewall-bouncer-iptables
sudo systemctl enable --now crowdsec-firewall-bouncer
sudo cscli bouncers list
Enrôlement à la Console
La Console offre un tableau de bord centralisé, l’accès aux blocklists communautaires et au CTI (Cyber Threat Intelligence). L’enrôlement se fait en deux commandes :
sudo cscli console enroll <VOTRE_CLE_DENROLEMENT>
sudo cscli console enable -a
sudo systemctl reload crowdsec
Protéger un WordPress derrière nginx
C’est un cas d’usage très concret pour ce blog. En complément du bouncer pare-feu, on installe la collection nginx et le bouncer applicatif, puis on s’appuie sur les scénarios dédiés du Hub (par exemple la détection de force brute sur wp-login.php) :
# Collection d'analyse des logs nginx
sudo cscli collections install crowdsecurity/nginx
# Bouncer applicatif nginx
sudo apt install crowdsec-nginx-bouncer
sudo systemctl reload nginx
sudo cscli bouncers list
Le Hub CrowdSec propose des scénarios spécifiques à WordPress (force brute sur la mire de connexion, énumération d’utilisateurs, etc.) à ajouter selon vos besoins. Pour vérifier que tout fonctionne, surveillez les alertes en direct :
sudo cscli alerts list --since 1h
sudo cscli decisions list
Aller plus loin : le composant AppSec (WAF)
C’est la grande nouveauté depuis la première version de cet article. Le composant AppSec transforme le moteur CrowdSec en véritable pare-feu applicatif (WAF) : au lieu de réagir après coup sur les logs, il inspecte les requêtes HTTP avant qu’elles n’atteignent l’application, et bloque en temps réel les tentatives d’injection SQL (SQLi), de cross-site scripting (XSS), d’inclusion de fichiers (LFI) ou d’exécution de code à distance (RCE).
Ses atouts :
- Compatibilité avec les règles ModSecurity / OWASP Core Rule Set existantes (langage Seclang), donc pas de réécriture de vos règles.
- Virtual patching : protection rapide contre une nouvelle CVE en attendant le correctif applicatif.
- Intégration avec nginx, Traefik, HAProxy via le bouncer applicatif, en complément de la détection comportementale classique.
Concrètement, on active AppSec sur le Remediation Component web (le bouncer nginx ici), puis on charge les collections de règles AppSec voulues depuis le Hub. La détection comportementale (réputation, force brute) et le filtrage applicatif (WAF) se cumulent alors sur la même stack.
Avantages de Crowdsec
- Communauté collaborative : plus le réseau est grand, plus la base de réputation est riche et précise.
- Open source : transparence totale et personnalisation complète.
- Architecture découplée : la séparation détection / blocage permet, par exemple, de centraliser le moteur sur un agrégateur de logs et de pousser les décisions vers des bouncers en périphérie.
- Scalabilité : de la petite VM au parc de serveurs.
Conclusion
CrowdSec est passé d’un simple détecteur d’intrusions collaboratif à une plateforme de sécurité complète, capable d’agir aussi bien au niveau réseau (réputation, pare-feu) qu’au niveau applicatif (WAF). En l’intégrant à votre infrastructure, vous renforcez votre sécurité tout en contribuant à une défense mutualisée à l’échelle mondiale. Pour un site WordPress exposé, la combinaison moteur + bouncer nginx + composant AppSec constitue aujourd’hui une protection solide et peu coûteuse à maintenir.