📍 Article principal du cluster : CrowdSec 2026 : guide complet.
Vingt minutes pour transformer un VPS exposé en infrastructure protégée par CrowdSec. Cette procédure est validée chez plusieurs sysadmins francophones d’Afrique de l’Ouest. À la fin, votre VPS bénéficie de la blocklist communautaire 4M IPs et bloque automatiquement les bots SSH et HTTP.
Prérequis
- VPS Debian 12 ou Ubuntu 22.04 LTS / 24.04 LTS.
- Accès SSH root.
- UFW ou iptables actif.
- Niveau attendu : intermédiaire (CLI Linux).
- Temps estimé : 20-30 minutes.
Étape 1 — Ajouter le repository CrowdSec
curl -s https://install.crowdsec.net | bash
apt install -y crowdsec
L’installation détecte automatiquement les services présents (SSH, Caddy, Nginx) et installe les collections appropriées.
Étape 2 — Vérifier l’agent
cscli version
cscli metrics
systemctl status crowdsec
Doit retourner « active (running) ». L’agent analyse déjà les logs.
Étape 3 — Inscrire le serveur à la CAPI
cscli capi register
cscli capi status
# Doit retourner : You can successfully interact with Central API (CAPI)
Le serveur télécharge maintenant la blocklist communautaire toutes les heures.
Étape 4 — Inscrire à la Console (optionnel mais recommandé)
Console.crowdsec.net donne un dashboard web gratuit (3 machines max).
cscli console enroll -e context $YOUR_TOKEN_FROM_CONSOLE
Token obtenu dans Console → Security Engines → Add a new engine.
Étape 5 — Installer collections selon votre stack
# Collections par défaut déjà installées : linux, sshd
cscli collections list
# Ajouter selon votre stack
cscli collections install crowdsecurity/caddy
cscli collections install crowdsecurity/nginx
cscli collections install crowdsecurity/wordpress
cscli collections install crowdsecurity/postfix
cscli collections install crowdsecurity/iptables
cscli collections install crowdsecurity/base-http-scenarios
# Recharger
systemctl reload crowdsec
Étape 6 — Installer le bouncer iptables
Le bouncer applique les bans au niveau iptables :
apt install -y crowdsec-firewall-bouncer-iptables
systemctl status crowdsec-firewall-bouncer
cscli bouncers list
Le bouncer met à jour les règles iptables toutes les 60 secondes (configurable).
Étape 7 — Tester la détection
Depuis un autre poste, simuler une attaque SSH brute-force :
# Sur poste externe
for i in $(seq 1 10); do ssh -o StrictHostKeyChecking=no badpass@VOTRE_VPS; done
Sur le VPS :
cscli alerts list
# Doit afficher l'alerte sshd-bf
cscli decisions list
# Doit afficher le ban actif
Étape 8 — Configurer la whitelist
Éviter de vous bannir vous-même en ajoutant votre IP fixe :
nano /etc/crowdsec/parsers/s02-enrich/whitelists.yaml
name: crowdsecurity/whitelists
description: "Whitelist private IPs and admins"
whitelist:
reason: "Trusted admins"
ip:
- "192.168.0.0/16"
- "10.0.0.0/8"
- "172.16.0.0/12"
- "VOTRE.IP.PUBLIQUE.FIXE"
cidr:
- "100.64.0.0/10" # Tailscale
systemctl reload crowdsec
Étape 9 — Métriques en temps réel
cscli metrics
# Affiche : parsers, scenarios, bouncers, alerts
Dashboard Console.crowdsec.net affiche le détail visuel.
Étape 10 — Logs et debugging
journalctl -u crowdsec -f
tail -f /var/log/crowdsec.log
# Pour bouncer
journalctl -u crowdsec-firewall-bouncer -f
Erreurs fréquentes
| Erreur | Cause | Solution |
|---|---|---|
| CAPI register échoue | Pas d’accès Internet sortant | Vérifier UFW outbound 443 |
| Logs non parsés | Format différent | Customiser parser ou ajuster journalctl |
| Bouncer ne bloque pas | iptables flushé ailleurs | Vérifier UFW + chain CROWDSEC_CHAIN |
| Agent crash boot | Permission denied logs | Adduser crowdsec adm |
| Bouncer 401 Unauthorized | API key expirée | cscli bouncers add new-bouncer |
| Faux positif bot Google | Whitelist Googlebot manquant | Ajouter postoverflow whitelist |
Adaptation au contexte ouest-africain
Trois précisions. IP fixe limitée : si pas d’IP publique fixe (typique chez ADSL Sonatel, Maroc Telecom, Orange CI), utiliser Tailscale + whitelist range Tailscale. 4G fluctuante : votre IP mobile change fréquemment, donc impossible de whitelist. Utiliser SSH key + 2FA + bastion fixe sur Tailscale. Logs heure locale : configurer timezone serveur sur Africa/Casablanca, Africa/Dakar, ou Africa/Tunis pour cohérence audits.
Tutoriels frères
FAQ
Migration depuis Fail2ban ? Désactiver Fail2ban (systemctl disable --now fail2ban) puis installer CrowdSec. Pas de risque doublons.
Performance impact ? Agent : 30-80 Mo RAM. Bouncer : 5-10 Mo. CPU : ~1% en moyenne. Aucun impact perceptible.
Désinscription CAPI ? cscli capi unregister. Plus de blocklist communautaire ensuite.
Compatible Docker ? Oui, image officielle crowdsecurity/crowdsec. Avec mounts logs hôte.
API REST ? Oui, LAPI sur 127.0.0.1:8080. Auth via API keys.
Pour aller plus loin
- 🔝 Retour au pilier : Guide complet CrowdSec 2026
- Documentation : docs.crowdsec.net