Le Cloudflare Bouncer de CrowdSec
Dans un contexte où la majorité des attaques ciblent les services exposés sur Internet, la combinaison de CrowdSec et Cloudflare constitue une solution de protection particulièrement efficace.
Le Cloudflare Bouncer permet d’appliquer automatiquement les décisions de sécurité de CrowdSec directement au niveau de l’infrastructure Cloudflare, avant même que le trafic n’atteigne les serveurs protégés.
Cette approche offre une mitigation en amont, réduisant considérablement la charge sur les serveurs et bloquant les attaques à la source.
Principe général du Cloudflare Bouncer
Dans l’écosystème CrowdSec :
-
l’agent CrowdSec détecte les comportements malveillants,
-
le moteur décisionnel prend une décision (ban, captcha, allow),
-
le bouncer applique cette décision.
Le Cloudflare Bouncer est donc le composant chargé de transmettre les décisions de CrowdSec à l’API Cloudflare, afin de créer automatiquement des règles de sécurité.
Fonctionnement détaillé
Détection locale
CrowdSec analyse les journaux (logs) des services exposés :
-
serveurs web (Nginx, Apache, Traefik…),
-
reverse proxies,
-
services applicatifs.
Il identifie les comportements suspects :
-
brute force,
-
scans,
-
bots agressifs,
-
attaques par répétition.
Prise de décision
Lorsque le moteur détecte un comportement malveillant :
-
une décision est créée localement (ex. : ban IP pendant 4 heures),
-
cette décision est également partagée avec la CTI CrowdSec (intelligence collective).
Application via Cloudflare
Le Cloudflare Bouncer :
-
interroge régulièrement l’API locale de CrowdSec,
-
récupère les décisions actives,
-
crée ou met à jour des règles de sécurité Cloudflare.
Ces règles peuvent être :
-
blocage total,
-
challenge JavaScript,
-
CAPTCHA (selon configuration).
Le trafic malveillant est bloqué avant d’atteindre le serveur, directement sur l’infrastructure Cloudflare.
Pourquoi utiliser le Cloudflare Bouncer ?
Blocage en amont
Les attaques sont stoppées au niveau :
-
du CDN,
-
du WAF Cloudflare,
-
des points de présence Cloudflare mondiaux.
Le serveur n’est jamais sollicité.
Réduction de la charge serveur
-
Moins de connexions entrantes,
-
Moins de logs,
-
Moins de consommation CPU/RAM.
Protection globale
Une IP bannie est bloquée :
-
sur tous les domaines Cloudflare ciblés,
-
indépendamment du serveur physique.
Idéal pour les infrastructures modernes
Particulièrement adapté aux :
-
hébergements mutualisés,
-
environnements cloud,
-
conteneurs Docker,
-
Kubernetes,
-
reverse proxies exposés.
Architecture type
Internet
↓
Cloudflare (Bouncer CrowdSec)
↓
Reverse Proxy / Serveur Web
↓
Applications
CrowdSec peut être installé :
-
sur le reverse proxy,
-
sur un serveur applicatif,
-
ou sur une machine dédiée à l’analyse des logs.
Prérequis
Côté infrastructure
-
Serveur Linux (Debian / Ubuntu / RHEL)
-
Accès root ou sudo
-
Reverse proxy exposé (Nginx, Traefik, Apache…)
-
CrowdSec non installé ou propre
Côté Cloudflare
-
Domaine(s) déjà protégés par Cloudflare
-
Accès à l’interface Cloudflare
-
Offre Cloudflare compatible avec règles WAF (Free suffisant pour les IP rules)
Mise en place du Cloudflare Bouncer
Création du token API Cloudflare
Dans Cloudflare :
-
créer un token personnalisé,
-
accorder les permissions firewall,
-
limiter le token aux zones concernées.
Cela garantit un principe de moindre privilège.
Installation de CrowdSec
Ajout du dépôt CrowdSec
curl -s https://install.crowdsec.net | sudo sh
Installation
apt install crowdsec -y
Vérification
sudo systemctl status crowdsec
cscli version
Configuration de CrowdSec
Vérifier les logs analysés
cscli metrics
Si aucun log n’apparaît, vérifier les chemins dans :
/etc/crowdsec/acquis.yaml
Exemple pour Nginx :
filenames:
- /var/log/nginx/access.log
labels:
type: nginx
Installer les collections utiles
cscli collections install crowdsecurity/nginx
cscli collections install crowdsecurity/http-cve
cscli collections install crowdsecurity/base-http-scenarios
Redémarrer :
sudo systemctl restart crowdsec
Vérifier les scénarios actifs
cscli scenarios list
Lancement et vérification
Une fois démarré :
-
le bouncer se connecte à l’API CrowdSec,
-
synchronise les décisions,
-
crée automatiquement les règles Cloudflare.
Les règles sont visibles dans :
-
Security → WAF → Rules (Cloudflare),
-
cscli decisions list côté CrowdSec.
Bonnes pratiques
Limiter les faux positifs
-
utiliser des durées de ban raisonnables,
-
préférer le challenge au blocage pour certains scénarios,
-
whitelister les IP internes, VPN et partenaires.
Centraliser la détection
Un seul CrowdSec peut analyser :
-
les logs de plusieurs services,
-
plusieurs reverse proxies,
-
plusieurs conteneurs.
Le Cloudflare Bouncer applique ensuite la protection à grande échelle.
Combiner avec d’autres bouncers
Le Cloudflare Bouncer peut être utilisé en complément :
-
d’un bouncer firewall local,
-
d’un bouncer Nginx,
-
d’un WAF applicatif.
Limites à connaître
-
Le bouncer dépend de l’API Cloudflare (latence possible).
-
Les règles Cloudflare ont des quotas (selon l’offre).
-
Protection uniquement pour le trafic passant par Cloudflare.
-
Non adapté aux services non HTTP (SSH direct, SMTP…).
Cas d’usage idéaux
-
Sites web publics
-
APIs exposées
-
Applications SaaS
-
Reverse proxies (Traefik, Nginx, HAProxy)
-
Infrastructures cloud et conteneurisées
Conclusion
Le Cloudflare Bouncer de CrowdSec est une solution puissante qui permet de déplacer la sécurité au plus près de l’attaquant.
En combinant la détection comportementale de CrowdSec et la capacité de mitigation mondiale de Cloudflare, il offre une protection efficace, scalable et moderne contre les menaces actuelles.
C’est une brique essentielle pour toute infrastructure exposée sur Internet souhaitant bloquer les attaques avant qu’elles n’atteignent les serveurs.