CrowdSec en production – 1,59M requêtes bloquées en 7 jours


Dans le premier article sur CrowdSec, je documentais la mise en place sur le serveur par Florian Perrot, l’admin sys du collectif – suite aux attaques répétées sur le site de SOS MEDITERRANEE. C’était il y a quelques semaines. Voici ce que les chiffres disent depuis.

Les résultats sur 7 jours

Le dashboard CrowdSec Remediation Metrics est clair :

  • 1,59M requêtes bloquées sur 7 jours
  • 50,13 Go de trafic sortant économisé
  • 1,59M lignes de logs évitées
  • 258,96 Mo de stockage préservé

Le pic visible sur le graphe autour du 23 avril – plus de 200k requêtes bloquées en une journée. Une attaque coordonnée, absorbée sans que les sites hébergés ne voient passer quoi que ce soit.

Ce qui se passe concrètement : CrowdSec analyse les logs en temps réel, détecte les comportements suspects, et le bouncer Nginx bloque les IPs malveillantes au niveau du reverse proxy – avant même que la requête atteigne les conteneurs WordPress. Les robots ne trouvent pas de faille parce qu’ils n’arrivent jamais jusqu’au site.

Le bémol : Unknown Behavior

100% des attaques bloquées sont catégorisées « Unknown Behavior » dans le dashboard. C’est le point à affiner.

CrowdSec classe les comportements malveillants en scénarios – brute force, scan de ports, injection SQL, etc. « Unknown Behavior » signifie que les requêtes bloquées ne correspondent à aucun scénario connu de la communauté, ou que les scénarios activés sur le serveur ne produisent pas de classification explicite.

Deux pistes à explorer :

  • Activer des scénarios supplémentaires depuis le Hub CrowdSec – des collections WordPress existent et permettent de détecter et classifier les patterns d’attaque spécifiques à WordPress (xmlrpc, wp-login brute force, enumération d’utilisateurs…)
  • Vérifier la configuration du Remediation Component – le dashboard indique « No data found to display » dans la section Malicious Traffic Discarded, ce qui suggère que le bouncer Nginx remonte ses métriques partiellement

En attendant, les IPs sont bloquées – classification ou pas. L’Unknown Behavior est un problème de visibilité, pas d’efficacité.

Ce que ça confirme

CrowdSec tient ses promesses sur une infra Docker multi-projets. Le coût en ressources est minimal, la protection est active 24/7, et l’intelligence collective fonctionne – des IPs qui ont attaqué des milliers de serveurs avant le mien sont bloquées proactivement, sans que j’aie quoi que ce soit à configurer.

Prochaine étape : activer les collections WordPress sur le Hub, affiner la classification, et faire remonter les métriques du bouncer correctement. Suite au prochain épisode.


Stack : CrowdSec · Bouncer Nginx · Docker · Traefik · WordPress · Florian Perrot (sysadmin)