1. Ce qu’est CrowdSec #
Le principe en quelques minutes.
Le problème #
Exposez un serveur sur Internet : en quelques minutes, des robots essaient des mots de passe SSH, cherchent un fichier .env ou testent une faille connue. Ces attaques se voient dans vos logs, mais personne ne les lit en continu.
CrowdSec lit ces logs à votre place, reconnaît les comportements d'attaque et fait bloquer les adresses concernées. Son moteur est libre (licence MIT) et écrit en Go.
Deux idées fortes #
- Séparer la détection du blocage. Le moteur décide ; d'autres composants, les bouncers, appliquent la décision là où c'est utile : pare-feu, reverse proxy, CDN ou application.
- Partager le renseignement. Chaque installation peut signaler les attaques qu'elle subit et recevoir en retour une liste d'adresses reconnues comme malveillantes.
2. L’architecture #
Les composants et leur rôle.
Vue d’ensemble #
| Composant | Rôle |
|---|---|
| Security Engine | Le service crowdsec : il lit les logs et détecte les attaques. |
| Parsers | Transforment une ligne de log en événement structuré. |
| Scénarios | Reconnaissent un comportement, par exemple trop d'échecs de connexion. |
| Local API (LAPI) | Conserve alertes et décisions. Elle écoute sur le port 8080 par défaut. |
| Central API (CAPI) | Service de CrowdSec : reçoit les signaux, renvoie la réputation communautaire. |
| Profils | Transforment une alerte en décision : ban de 4 h par défaut. |
| Bouncers | Appliquent les décisions. Ils sont aussi appelés remediation components. |
| Hub | Catalogue de collections, parsers et scénarios prêts à l'emploi. |
| cscli | L'outil en ligne de commande pour tout administrer. |
Le cycle complet #
Erreur classique. Installer le paquet crowdsec ne bloque rien : il faut au moins un bouncer. Sans lui, les décisions restent lettre morte.3. Le renseignement collaboratif #
Ce qui est partagé, et comment la liste reste fiable.
Ce qui est envoyé #
Quand un scénario se déclenche, CrowdSec envoie à la CAPI un signal : l'adresse de l'attaquant, le scénario et l'horodatage. Vos logs ne quittent pas votre serveur. En retour, la LAPI télécharge une liste d'adresses, visible avec l'origine CAPI dans les décisions.
cscli capi status
cscli decisions list --origin CAPIÉviter l’empoisonnement #
Une liste participative pourrait être polluée par de faux signaux. CrowdSec croise donc les signaux de nombreux participants et évalue leur fiabilité avant de publier une adresse. Les adresses légitimes bien connues, comme les grands résolveurs DNS, sont écartées par des listes d'exclusion, par exemple la collection crowdsecurity/whitelist-good-actors.
Facultatif. Vous pouvez couper ce partage : DISABLE_ONLINE_API=true dans Docker, ou sans identifiants CAPI. La détection locale continue de fonctionner, sans la liste communautaire.