Introduction
La sĂ©curisation dâun serveur exposĂ© sur Internet est une Ă©tape essentielle en production.
CrowdSec est une solution moderne de sécurité collaborative qui analyse les logs et bloque automatiquement les comportements malveillants.
Contrairement à des outils classiques, CrowdSec repose sur une intelligence collective pour détecter et prévenir les attaques.
Fonctionnement de CrowdSec
CrowdSec repose sur trois composants principaux :
- Analyse des logs (SSH, Nginx, ApacheâŠ)
- Détection des comportements suspects
- Remédiation automatique via firewall
Le systĂšme sâappuie sur une base de donnĂ©es collaborative dâIP malveillantes partagĂ©e entre utilisateurs.
Installation de CrowdSec
Ubuntu / Debian
curl -s https://install.crowdsec.net | sudo bash
sudo apt install crowdsec
Installe CrowdSec et ses dépendances.
RHEL / CentOS / AlmaLinux
dnf install epel-release
curl -s https://install.crowdsec.net | sudo bash
dnf install crowdsec
Démarrer le service
sudo systemctl enable crowdsec
sudo systemctl start crowdsec
Active CrowdSec au démarrage et lance le service.
Vérifier le fonctionnement
sudo cscli metrics
Affiche les statistiques dâanalyse et les Ă©vĂ©nements dĂ©tectĂ©s.
Installer un bouncer (blocage des attaques)
CrowdSec détecte les attaques, mais nécessite un bouncer pour bloquer les IP.
Exemple : iptables bouncer
sudo apt install crowdsec-firewall-bouncer-iptables
Le bouncer applique automatiquement les décisions de blocage au firewall.
Activer les collections utiles
Protection SSH
sudo cscli collections install crowdsecurity/ssh
Détecte les attaques brute force sur SSH.
Protection Nginx
sudo cscli collections install crowdsecurity/nginx
Protection Apache
sudo cscli collections install crowdsecurity/apache2
Recharger CrowdSec
sudo systemctl restart crowdsec
Applique les nouvelles rÚgles de détection.
Tester la détection
sudo cscli decisions list
Affiche les IP actuellement bloquées.
Simuler une attaque SSH
ssh fakeuser@localhost
Permet de générer des logs pour tester CrowdSec.
Ajouter la protection collaborative
sudo cscli console enroll
Connecte votre instance Ă la base collaborative CrowdSec.
Gestion des décisions
Lister les IP bloquées
sudo cscli decisions list
Supprimer un blocage
sudo cscli decisions delete --ip X.X.X.X
Bonnes pratiques
- Installer uniquement les collections nécessaires
- Monitorer réguliÚrement les logs
- Coupler avec un firewall réseau (cloud provider)
- Tester les blocages pour éviter les faux positifs
- Maintenir CrowdSec Ă jour
Cas dâusage
- Serveur exposé SSH
- Hébergement web (WordPress, Nginx, Apache)
- API publiques
- Infrastructure cloud
Comparaison rapide avec Fail2Ban
CrowdSec va plus loin que Fail2Ban en utilisant une base collaborative dâattaquants.
- Fail2Ban â blocage local basĂ© sur logs
- CrowdSec â dĂ©tection + intelligence collective
Limites
- Nécessite un minimum de configuration
- Peut générer des faux positifs si mal configuré
- Dépend des logs analysés
Conclusion
CrowdSec est une solution moderne et efficace pour sécuriser un serveur Linux contre les attaques courantes.
Sa capacité à combiner analyse locale et intelligence collective en fait un outil particuliÚrement adapté aux environnements exposés.