Credit : Illustration backtotheweb.fr
Configurer CrowdSec pour proteger son serveur Linux
Configurer CrowdSec pour proteger son serveur Linux
CrowdSec est un outil de securite open source qui analyse les logs de votre serveur pour detecter les comportements malveillants. Contrairement a Fail2ban, il beneficie d'une base de donnees communautaire d'IP malveillantes partagee entre tous les utilisateurs.
Installation de CrowdSec
Sur un serveur Debian/Ubuntu heberge chez IONOS :
curl -s https://install.crowdsec.net | bash
apt install crowdsec -y
Verifiez l'installation :
cscli version
systemctl status crowdsec
CrowdSec detecte automatiquement les services presents sur votre serveur (Nginx, SSH, etc.) et configure les parsers adequats.
Architecture de CrowdSec
CrowdSec fonctionne avec trois composants principaux :
- L'agent : analyse les logs et detecte les attaques
- Les scenarios : definissent les comportements suspects
- Les bouncers : appliquent les decisions (blocage IP)
Installer le bouncer pare-feu
L'agent detecte, mais il faut un bouncer pour agir :
apt install crowdsec-firewall-bouncer-iptables -y
Verifiez que le bouncer est enregistre :
cscli bouncers list
Explorer les collections et scenarios
Listez les collections installees :
cscli collections list
Installez des collections supplementaires selon vos besoins :
cscli collections install crowdsecurity/nginx
cscli collections install crowdsecurity/sshd
cscli collections install crowdsecurity/linux
cscli collections install crowdsecurity/http-cve
Chaque collection contient des parsers et des scenarios adaptes au service concerne.
Commandes essentielles
Surveillez l'activite en temps reel :
# Voir les decisions actives (IP bannies)
cscli decisions list
# Voir les alertes recentes
cscli alerts list
# Statistiques des metriques
cscli metrics
# Voir les parsers actifs
cscli parsers list
Ajoutez ou retirez une decision manuellement :
# Bannir une IP pendant 24h
cscli decisions add --ip 192.168.1.100 --duration 24h --reason "scan detecte"
# Debannir une IP
cscli decisions delete --ip 192.168.1.100
Whitelister des IP
Creez un fichier de whitelist pour ne jamais bloquer vos propres adresses :
nano /etc/crowdsec/parsers/s02-enrich/mywhitelist.yaml
name: crowdsecurity/mywhitelist
description: "Whitelist de mes IP"
whitelist:
reason: "IP de confiance"
ip:
- "203.0.113.50"
- "198.51.100.10"
cidr:
- "10.0.0.0/8"
systemctl reload crowdsec
Connexion a la console CrowdSec
La console web permet de visualiser l'activite de tous vos serveurs :
cscli console enroll VOTRE_CLE_ENROLLMENT
Recuperez votre cle sur app.crowdsec.net apres avoir cree un compte gratuit. La console vous offre :
- Un tableau de bord des alertes
- Les statistiques de blocage
- L'acces aux listes de blocage communautaires
- La gestion multi-serveurs
Scenario personnalise
Vous pouvez creer vos propres scenarios. Exemple pour detecter un scan excessif :
# /etc/crowdsec/scenarios/custom-scan.yaml
type: leaky
name: custom/http-scan
description: "Detect excessive 404 errors"
filter: "evt.Meta.http_status == '404'"
groupby: "evt.Meta.source_ip"
capacity: 30
leakspeed: "10s"
blackholefor: 1h
labels:
type: scan
Mise a jour reguliere
Maintenez CrowdSec et ses scenarios a jour :
cscli hub update
cscli hub upgrade
CrowdSec represente une evolution significative par rapport a Fail2ban grace a son approche collaborative. Chaque serveur de la communaute contribue a la detection des IP malveillantes, offrant une protection proactive plutot que simplement reactive.