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
Avant
Côté la mise en place, il faut :infrastructure
-
UnServeurcompteLinuxCloudflare(Debianactif/ Ubuntu / RHEL) -
LesAccèsdomainesroot ou sudo -
Reverse proxy exposé (Nginx, Traefik, Apache…)
-
CrowdSec non installé ou propre
Côté Cloudflare
-
Domaine(s) déjà protégés
viapar Cloudflare -
CrowdSecAccèsinstalléàetl’interfacefonctionnelCloudflare -
Untoken APIOffre Cloudflare compatible avec règles WAF (Free suffisant pour lesdroitsIP:rules)Zone → Firewall ServicesAccount → Firewall Services
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 dude Cloudflare BouncerCrowdSec
SurAjout ladu machine hébergeantdé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.yamlinstallerExemplelepourbouncer Cloudflare (binaire ou package),vérifier la compatibilité avec la version de CrowdSec.
Le bouncer fonctionne comme un service autonome.
Configuration
Le fichier de configuration permet de définirNginx :
filenames:
- /var/log/nginx/access.log
labels:
type: nginx
leInstaller tokenles API,collections utiles
cscli collections install crowdsecurity/nginx
cscli collections install crowdsecurity/http-cve
cscli collections install crowdsecurity/base-http-scenarios
l’ID du compte Cloudflare,
les zones à protéger,
le type d’actionRedémarrer :
sudo systemctl restart crowdsec
block
challenge
managed_challenge
la durée de synchronisation.
Exemples de comportements configurables :
bloquer immédiatementVérifier lesIPscénariosbannies,actifs
cscli scenarios list
appliquer un CAPTCHA pour certaines catégories,
exclure des IP internes ou de confiance.
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.