
Si vous utilisez un serveur Linux avec Nginx, SSH ou WordPress, vous connaissez probablement déjà Fail2Ban. C’est un bon outil, mais il fonctionne localement — il bloque uniquement les adresses IP ayant attaqué votre serveur.
CrowdSec fonctionne de manière totalement différente. Il s’agit d’un système de protection basé sur une réputation IP partagée. Si des milliers de serveurs dans le monde détectent une adresse IP malveillante, votre serveur peut la bloquer avant même qu’une attaque ne soit tentée.
Comment fonctionne CrowdSec ?
- analyse les journaux système (nginx, ssh, wordpress)
- détecte les comportements suspects
- partage les informations sur les IP attaquantes avec d’autres serveurs
- bloque le trafic au niveau du pare-feu
Résultat ? La majorité des bots et scanners Internet n’atteignent jamais votre serveur Nginx.
Installation de CrowdSec sur Debian / Ubuntu
L’installation de CrowdSec est très simple et disponible directement depuis les dépôts Debian.
|
1 2 |
apt update apt install crowdsec |
Pendant l’installation, CrowdSec :
- crée une API locale (LAPI)
- enregistre le serveur dans l’API centrale CrowdSec
- télécharge les scénarios de sécurité de base
Installation du firewall bouncer
CrowdSec détecte les menaces, mais nécessite un composant d’exécution — appelé bouncer — qui bloque le trafic au niveau du pare-feu.
|
1 |
apt install crowdsec-firewall-bouncer |
Par défaut, le bouncer utilise nftables et ajoute automatiquement des règles bloquant les adresses IP malveillantes.
Installation des collections de sécurité
Les collections contiennent des analyseurs de logs ainsi que des scénarios de détection d’attaques.
|
1 2 3 4 |
cscli collections install crowdsecurity/nginx cscli collections install crowdsecurity/wordpress cscli collections install crowdsecurity/base-http-scenarios cscli collections install crowdsecurity/sshd |
Rechargez ensuite la configuration :
|
1 |
systemctl reload crowdsec |
Configuration des logs Nginx
Pour permettre à CrowdSec d’analyser le trafic HTTP, vous devez indiquer les fichiers de logs Nginx.
Éditez le fichier :
|
1 |
nano /etc/crowdsec/acquis.yaml |
Ajoutez la configuration suivante :
|
1 2 3 4 5 |
filenames: - /var/log/nginx/access*.log - /var/log/nginx/error*.log labels: type: nginx |
Puis redémarrez le service :
|
1 |
systemctl restart crowdsec |
Vérification du fonctionnement de CrowdSec
Statut du service :
|
1 |
systemctl status crowdsec |
Liste des bannissements actifs :
|
1 |
cscli decisions list |
Statistiques :
|
1 |
cscli metrics |
Résultat final
Après une installation correcte de CrowdSec :
- le serveur bloque automatiquement les botnets connus
- les attaques WordPress et brute-force SSH sont arrêtées au niveau du pare-feu
- Nginx traite beaucoup moins de trafic malveillant
- la charge CPU et IO du serveur est significativement réduite
CrowdSec peut être considéré comme une évolution de Fail2Ban — un système qui ne réagit pas seulement localement, mais qui exploite une intelligence globale des menaces.