VPS Linux Intermédiaire 12 min de lecture

Installer CrowdSec sur un VPS Linux : alternative moderne à Fail2Ban (Debian, Ubuntu)

Guide complet pour installer CrowdSec sur Debian et Ubuntu : agent, bouncer firewall iptables/nftables, collections, blocklist communautaire, dashboard et comparaison avec Fail2Ban.

Installer CrowdSec sur un VPS Linux : alternative moderne à Fail2Ban (Debian, Ubuntu)

Support Technique

Besoin d'aide ? Notre équipe est disponible 24/7 pour vous assister.

Installer CrowdSec sur un VPS Linux : alternative moderne à Fail2Ban (Debian, Ubuntu)

Fail2Ban a 20 ans et reste valide, mais en 2026, CrowdSec est l’option moderne : architecture distribuée agent/bouncer, scénarios YAML, et surtout blocklist communautaire alimentée par des millions de serveurs partout dans le monde. Ce guide montre l’install complète sur Debian/Ubuntu, vérifié contre la documentation officielle CrowdSec.

Pour un VPS Linux chez HebergTonServ, CrowdSec s’installe en 5 minutes. Combinable avec Fail2Ban ou en remplacement total.


CrowdSec vs Fail2Ban — quand choisir quoi ?

CritèreFail2BanCrowdSec
Âge20 ans, ultra-éprouvé2020, déjà très mature
LangagePythonGo (plus rapide, moins de RAM)
ArchitectureMonolithiqueAgent (détection) + Bouncer (remédiation)
DétectionRegex sur logsScénarios YAML comportementaux
BlocklistLocale uniquementCommunautaire mondiale + locale
ScalingGalère >1000 IPs banniesGère millions d’IPs (nftables sets)
Multi-serveurManuelNatif via Local API
DashboardAucunWeb console crowdsec.net (gratuit)

Verdict 2026 : CrowdSec pour serveurs publics/prod sérieux. Fail2Ban reste OK pour VPS perso low-traffic. Les deux peuvent coexister.


Architecture CrowdSec en 30 secondes

[Logs] → [Agent CrowdSec] → [LAPI Local] → [Bouncer Firewall] → [iptables/nftables]

                       [CrowdSec Console + Community Blocklist]
  • Agent : lit les logs, applique les scénarios, génère des décisions (ban)
  • LAPI : Local API qui stocke les décisions et synchronise avec le cloud CrowdSec
  • Bouncer : applique les décisions (firewall, reverse proxy, application)
  • Community Blocklist : IPs déjà flaggées par la communauté → injectées dans votre blocklist locale

Étape 1 — Préparer le VPS

sudo apt update
sudo apt upgrade -y

Vérifiez votre version :

cat /etc/os-release

CrowdSec officiellement supporté : Debian 11/12, Ubuntu 20.04/22.04/24.04, RHEL/CentOS/Rocky/AlmaLinux 8/9.


Étape 2 — Ajouter le dépôt officiel CrowdSec

Méthode officielle (script auto) :

curl -s https://install.crowdsec.net | sudo sh

Ce script ajoute le dépôt APT signé.

Si vous préférez manuellement (Debian/Ubuntu) :

sudo apt install -y curl gnupg
curl -fsSL https://packagecloud.io/crowdsec/crowdsec/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/crowdsec.gpg
echo "deb [signed-by=/usr/share/keyrings/crowdsec.gpg] https://packagecloud.io/crowdsec/crowdsec/$(lsb_release -is | tr '[:upper:]' '[:lower:]')/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/crowdsec.list
sudo apt update

Étape 3 — Installer l’agent CrowdSec

sudo apt install crowdsec -y

L’install :

  • Crée le service crowdsec
  • Détecte automatiquement vos services (SSH, Nginx, Apache si présents)
  • Installe les collections correspondantes (parsers + scénarios)

Vérifier le service :

sudo systemctl status crowdsec

État : active (running).


Étape 4 — Vérifier les collections installées

sudo cscli collections list

Sortie typique :

─────────────────────────────────────────────
 NAME                          📦 STATUS    
─────────────────────────────────────────────
 crowdsecurity/linux           ✔️  enabled  
 crowdsecurity/sshd            ✔️  enabled  
 crowdsecurity/base-http-scenarios ✔️ enabled
─────────────────────────────────────────────

Collections = packs de parsers + scénarios orientés service. Si Nginx ou Apache détecté, leur collection est installée auto.

Ajouter manuellement une collection

sudo cscli collections install crowdsecurity/nginx
sudo cscli collections install crowdsecurity/wordpress
sudo cscli collections install crowdsecurity/postfix
sudo systemctl reload crowdsec

Liste complète sur le CrowdSec Hub : https://hub.crowdsec.net


Étape 5 — Installer un bouncer firewall

L’agent détecte mais ne bannit pas seul. Il faut un bouncer.

Détecter votre firewall

sudo iptables -V
sudo nft list ruleset 2>/dev/null
SortieBouncer à installer
iptables vX.Y.Z (legacy)crowdsec-firewall-bouncer-iptables
iptables vX.Y.Z (nf_tables) ou ruleset nftablescrowdsec-firewall-bouncer-nftables

⚠️ Important : sur un système nftables natif, le bouncer iptables semblera fonctionner mais ne filtrera rien. Choisir le bon bouncer est critique.

Installer

Pour iptables :

sudo apt install crowdsec-firewall-bouncer-iptables -y

Pour nftables :

sudo apt install crowdsec-firewall-bouncer-nftables -y

Le post-install enregistre auto le bouncer auprès de l’agent local (équivalent de cscli bouncers add).

Vérifier :

sudo cscli bouncers list

Sortie attendue : 1 bouncer cs-firewall-bouncer-XXXX actif.


Étape 6 — Tester avec un faux ban

Bannissez votre propre IP (test, n’oubliez pas de débannir après) :

sudo cscli decisions add --ip 1.2.3.4 --reason "test ban"

Vérifiez :

sudo cscli decisions list

L’IP 1.2.3.4 doit apparaître. Côté firewall :

sudo iptables -L -n | grep 1.2.3.4
# ou pour nftables
sudo nft list set inet crowdsec crowdsec-blacklists

Débannir :

sudo cscli decisions delete --ip 1.2.3.4

Étape 7 — Activer la blocklist communautaire (gratuit)

C’est le vrai avantage de CrowdSec. Inscription gratuite + lien à l’instance :

Créer un compte console

https://app.crowdsec.net/signup

Une fois inscrit, dans la console web → Engines → Add Engine → copiez la commande proposée. Exemple :

sudo cscli console enroll xxxxxxxxxxxxxx
sudo systemctl reload crowdsec

Validez l’engine côté console web.

Activer la Community Blocklist

Dans la console web, ajoutez la blocklist CrowdSec Community Blocklist (gratuite, 100k+ IPs malveillantes mises à jour en continu). Les IPs flaggées sont automatiquement injectées dans vos décisions locales et bloquées par votre bouncer firewall.

Vérifier

sudo cscli decisions list --type ban

Vous devriez voir des dizaines/centaines de décisions importées de la communauté.


Commandes cscli essentielles

CommandeEffet
sudo cscli decisions listListe IPs actuellement bannies
sudo cscli alerts list --since 24hAlertes des dernières 24h
sudo cscli decisions delete --ip X.X.X.XDébannit une IP
sudo cscli decisions delete --allDébannit tout (urgence uniquement)
sudo cscli bouncers listListe bouncers enregistrés
sudo cscli collections listListe collections actives
sudo cscli metricsStats détaillées agent
sudo cscli hub updateMAJ catalogue collections/scénarios
sudo cscli hub upgradeUpgrade les collections installées

Tester la détection SSH

Depuis une autre machine (ou un VPN différent), tentez plusieurs SSH avec mauvais mot de passe :

ssh fakeuser@votre-ip-vps
# 5-10 tentatives

Sur le VPS :

sudo cscli alerts list
sudo cscli decisions list

L’IP attaquante doit apparaître bannie. Côté firewall, elle est dropée.


Combiner CrowdSec et Fail2Ban ?

Possible mais redondant. Trois approches :

StratégiePour qui
CrowdSec seulRecommandé en 2026 — tout ce que fait Fail2Ban + plus
Fail2Ban seulSetups historiques sans envie de migrer
Les deux en parallèleTransition douce — désactiver Fail2Ban après validation CrowdSec

Pour migrer proprement : laissez les deux 2-3 semaines, comparez les bans (fail2ban-client status sshd vs cscli decisions list), puis désactivez Fail2Ban.


Hardening complémentaire

CrowdSec ne remplace pas les autres durcissements :

  1. Désactiver root + password SSH — voir désactiver login root SSH
  2. Changer port SSH — voir changer le port SSH
  3. UFW restrictif — n’ouvrir que les ports nécessaires
  4. Updates autounattended-upgrades sur Debian/Ubuntu

FAQ

CrowdSec consomme combien de RAM ?

~50-100 Mo en idle, ~150 Mo sous charge. Plus léger que Fail2Ban Python sous attaque DDoS.

La blocklist communautaire est-elle vraiment gratuite ?

Oui — la Community Blocklist (100k+ IPs malveillantes) est gratuite à vie. Les Premium Blocklists spécialisées (par menace : VPN, bots scrapers, etc.) sont payantes. Pour 99% des VPS, la Community suffit.

Mes données sont-elles partagées ?

Quand votre agent détecte une attaque, l’IP attaquante est partagée avec le cloud CrowdSec (anonymisée — uniquement IP + scénario, pas vos logs ni votre identité). Vous recevez en retour la liste des IPs flaggées par les autres. C’est l’essence du modèle “crowd”.

Si vous ne voulez pas partager : restez en local sans enroller, vous gardez l’agent + bouncer mais pas la community list.

CrowdSec gère HTTP/Nginx ?

Oui — collection crowdsecurity/nginx détecte SQL injection, XSS, scrapers, brute force HTTP, scanners de vulnérabilités. Ajoutez aussi un bouncer Nginx/HAProxy/Cloudflare pour bloquer au niveau applicatif (plus précis que firewall IP).

Ça remplace Cloudflare WAF ?

Non — complémentaire. Cloudflare WAF filtre avant d’arriver au VPS (utile contre DDoS volumétrique). CrowdSec filtre sur le VPS (utile contre attaques applicatives spécifiques). Combinez les deux pour une défense en profondeur.

Comment voir un dashboard graphique ?

La CrowdSec Console (web, gratuite) montre vos engines, alertes, décisions sur https://app.crowdsec.net après enrollment. Vue centralisée si vous gérez plusieurs VPS.

Mon bouncer ne bloque rien malgré des décisions actives, pourquoi ?

Causes typiques :

  1. Mauvais bouncer choisi (iptables vs nftables — voir étape 5)
  2. Service bouncer arrêté : systemctl status crowdsec-firewall-bouncer
  3. Token bouncer expiré : cscli bouncers list → si invalide, réinstallez le bouncer

Conclusion

CrowdSec transforme votre VPS d’une cible isolée en partie d’un réseau collectif de défense — chaque attaque détectée ailleurs vous protège, chaque attaque que vous bloquez protège les autres. Pour un serveur public en 2026, c’est l’investissement de 5 minutes le plus rentable côté sécurité.

Pour un VPS Linux avec Debian/Ubuntu pré-installé et console KVM de secours, HebergTonServ propose des serveurs premium dès quelques euros par mois.

Pour aller plus loin