Pourquoi self-heberger CrowdSec sur un VPS
Fail2ban fonctionne en vase clos : il lit vos logs et bannit selon vos regles. CrowdSec ajoute une dimension collaborative. Quand son moteur detecte un comportement malveillant (bruteforce SSH, scan, exploitation web) grace a des scenarios, il signale l'IP a une base communautaire ; en retour, vous beneficiez d'une blocklist mutualisee construite a partir des signalements de milliers d'autres machines. Resultat : vous bloquez des IP malveillantes avant meme qu'elles ne vous attaquent. CrowdSec separe aussi la detection (l'agent qui analyse les logs) de la remediation (les bouncers qui appliquent le blocage au niveau pare-feu, Nginx, Traefik ou Cloudflare). Cette architecture modulaire et le fait de tout heberger sur votre VPS vous donnent une protection bien plus riche qu'un simple bannissement local, sans dependre d'un WAF SaaS qui voit passer tout votre trafic.
Ce que CrowdSec apporte a votre VPS
- Blocklist communautaire : profitez des signalements de milliers de serveurs pour bloquer les IP malveillantes en amont.
- Detection comportementale via scenarios (SSH, HTTP, bruteforce, scan) plus fine qu'un simple comptage d'echecs.
- Bouncers modulaires : appliquez le blocage au niveau pare-feu, Nginx, Traefik, Cloudflare ou applicatif.
- Console web pour visualiser les alertes, les decisions et les IP bannies en temps reel.
- Hub de collections pret a l'emploi pour proteger SSH, Nginx, WordPress et bien d'autres services.
- Faible empreinte et architecture decouplee detection/remediation, adaptee a un VPS.
Prerequis pour l'heberger
L'agent CrowdSec est leger : un VPS 1 vCPU avec 1 Go de RAM suffit pour proteger un serveur web et SSH classique. La base locale (SQLite par defaut) occupe peu d'espace ; passez sur PostgreSQL seulement si vous centralisez plusieurs agents. Il vous faut un acces root pour installer l'agent et le bouncer pare-feu, ainsi que les logs des services a surveiller (auth.log pour SSH, access.log pour Nginx). Aucun port entrant supplementaire n'est requis : CrowdSec communique en sortie avec l'API communautaire. Un nom de domaine n'est necessaire que si vous voulez exposer la console locale.
Installer CrowdSec et son bouncer pare-feu
Installer l'agent CrowdSec
Ajoutez le depot officiel puis installez : curl -s https://install.crowdsec.net | sudo sh puis sudo apt install crowdsec. L'agent detecte automatiquement les services presents (SSH, Nginx) et installe les collections adaptees.
Verifier les scenarios actifs
Listez ce qui est charge : sudo cscli scenarios list et sudo cscli collections list. Ajoutez au besoin une collection depuis le hub, par exemple sudo cscli collections install crowdsecurity/nginx.
Installer un bouncer pour appliquer le blocage
L'agent detecte mais ne bloque pas seul. Installez le bouncer pare-feu : sudo apt install crowdsec-firewall-bouncer-iptables. Il insere les decisions dans iptables/nftables et bannit reellement les IP signalees.
Activer la blocklist communautaire
Inscrivez l'instance pour recevoir la blocklist mutualisee : sudo cscli capi register, puis redemarrez l'agent. Vous beneficiez desormais des signalements de toute la communaute en plus de vos propres detections.
Tester et inspecter les decisions
Simulez une detection ou consultez l'etat : sudo cscli decisions list affiche les IP bannies, sudo cscli alerts list les alertes. Vous pouvez bannir manuellement avec sudo cscli decisions add --ip X.X.X.X.
Connecter la console (optionnel)
Pour un suivi graphique, enrollez l'agent dans la console CrowdSec avec sudo cscli console enroll VOTRE_CLE, ou gardez tout en local via cscli si vous preferez ne rien exposer a l'exterieur.
Combinez deux bouncers pour une defense en profondeur : un bouncer pare-feu (iptables) qui bloque au niveau reseau les attaques SSH et les scans, et un bouncer applicatif (Nginx ou Traefik) qui peut presenter un captcha plutot que de bloquer net les IP web suspectes. Cela reduit les faux positifs sur votre trafic legitime tout en gardant une remediation stricte sur les couches basses. Pensez aussi a whitelister l'IP fixe de votre bureau via cscli pour ne jamais vous bannir vous-meme.
La documentation officielle
Pour la configuration avancée et les options propres à l'outil, référez-vous à la documentation officielle de CrowdSec. Ce guide couvre la mise en ligne sur VPS ; la doc éditeur reste la référence pour les réglages fins, les mises à jour majeures et les cas d'usage spécifiques.