Cloudflare WAF : le filtre qui bloque les attaques avant votre serveur
Le WAF de Cloudflare intercepte les requêtes HTTP malveillantes au niveau du réseau mondial Cloudflare, avant même qu'elles atteignent votre serveur. C'est la première ligne de défense périphérique. Mais son efficacité dépend entièrement de la façon dont il est configuré : les règles par défaut du plan Free couvrent une partie seulement des scénarios d'attaque réels, et les règles managées avancées requièrent un plan payant. Voici ce qu'on met en place chez nos clients, et pourquoi la configuration compte autant que le plan souscrit.
Définition en une phrase
Le WAF Cloudflare (Web Application Firewall) est un service d'analyse et de filtrage des requêtes HTTP qui bloque les attaques connues (injections SQL, XSS, scans de vulnérabilités, exploitation de CVE) avant qu'elles parviennent à votre serveur web.
En clair, pour les non-initiés. Votre site reçoit des milliers de requêtes chaque jour : visiteurs légitimes, mais aussi robots qui testent des failles, scripts qui cherchent des pages d'administration exposées, ou attaquants qui tentent d'injecter du code. Le WAF Cloudflare lit chaque requête entrante, la compare à une base de règles connues, et bloque ou challenge celles qui ressemblent à des attaques. Votre serveur ne les voit jamais.
Pourquoi c'est important pour votre site
Sans WAF, votre serveur web traite toutes les requêtes, bonnes ou mauvaises. Chaque tentative d'exploitation consomme des ressources serveur, laisse une empreinte dans vos logs, et peut aboutir si une vulnérabilité non patchée correspond à la tentative.
Avec un WAF Cloudflare correctement configuré :
- Les scans automatiques de vulnérabilités (Nuclei, WPScan lancés par des bots) sont bloqués avant d'atteindre votre WordPress.
- Les tentatives d'injection SQL sur vos formulaires ou paramètres d'URL sont coupées en amont.
- Une CVE critique publiée sur un plugin WordPress peut être bloquée par une règle WAF le temps que vous patchiez, même sans mise à jour immédiate.
- Le volume de logs parasites diminue, ce qui facilite la détection d'attaques ciblées réelles.
Sur les sites qu'on audite avant de configurer le pack PK.CFE, plus de 70 % ont Cloudflare activé mais sans une seule règle WAF custom. Seules les règles managées Cloudflare de base sont actives, ce qui laisse passer de nombreux patterns d'attaque spécifiques aux CMS.
Comment ça fonctionne, concrètement
Le WAF Cloudflare évalue chaque requête HTTP entrante contre un ensemble de règles. Chaque règle a une action associée : block (rejeter la requête), challenge (soumettre un JS challenge ou CAPTCHA), log (enregistrer sans bloquer), ou skip (ignorer les autres règles).
Les règles s'organisent en deux catégories :
Règles managées (Managed Rulesets) : maintenues par Cloudflare, mises à jour automatiquement en réponse aux nouvelles CVE et aux vecteurs d'attaque émergents. Incluent des règles spécifiques pour WordPress, Drupal, Joomla, PHP, SQLi, XSS.
Règles custom : écrites par l'opérateur (vous, ou nous). Elles ciblent des patterns spécifiques à votre site : bloquer les requêtes vers /wp-admin en dehors de vos IPs, rejeter les user-agents de scanners connus, bloquer les requêtes sur /xmlrpc.php.
# Exemple de règle custom Cloudflare (WAF Custom Rules)
# Bloquer l'accès à /wp-admin depuis les IPs hors whitelist
(http.request.uri.path contains "/wp-admin") and not (ip.src in {203.0.113.10 203.0.113.20})
Action : Block
La puissance réelle du WAF Cloudflare réside dans la combinaison des deux : les règles managées couvrent le bruit de fond générique, les règles custom couvrent les patterns propres à votre infrastructure.
Plans Cloudflare et WAF
Le plan Free inclut un accès aux règles WAF managées de base, mais le nombre de règles custom est limité [à vérifier par l'équipe : confirmer les limites exactes du plan Free vs Pro au moment du déploiement, Cloudflare les fait évoluer]. Les plans Pro et Business ouvrent les rulesets managés avancés (Cloudflare Managed Ruleset complet, OWASP Core Ruleset) et augmentent les quotas de règles custom.
Pour un WordPress ou PrestaShop standard avec 5 à 10 règles custom bien ciblées, le plan Free couvre souvent l'essentiel. Dès qu'on monte en e-commerce avec des protections PCI, ou dès qu'on a besoin des règles OWASP complètes, le plan Pro devient nécessaire.
Comment Secushot configure le Cloudflare WAF en intervention
Dans notre pack PK.CFE Sérénité Cloudflare et dans le protocole P.03 Durcissement, notre configuration WAF standard comprend :
Règles managées activées :
- Cloudflare Managed Ruleset (sensibilité calibrée pour éviter les faux positifs sur WordPress/PrestaShop).
- OWASP Core Ruleset si le plan le permet, en mode
logd'abord pendant 48 h pour identifier les faux positifs.
Règles custom posées systématiquement (sur WordPress) :
# 1. Bloquer wp-login.php hors IPs connues
(http.request.uri.path eq "/wp-login.php") and not (ip.src in $whitelist_admins)
Action : Block
# 2. Bloquer xmlrpc.php sauf si Jetpack actif
(http.request.uri.path eq "/xmlrpc.php")
Action : Block
# 3. Challenge sur /wp-admin pour les IPs non listées
(http.request.uri.path contains "/wp-admin/") and not (ip.src in $whitelist_admins)
Action : JS Challenge
# 4. Bloquer les user-agents de scanners connus
(http.user_agent contains "WPScan") or (http.user_agent contains "Nuclei") or (http.user_agent contains "sqlmap")
Action : Block
# 5. Bloquer les requêtes avec payloads SQL/XSS courants dans les query strings
(http.request.uri.query contains "UNION SELECT") or (http.request.uri.query contains "<script>")
Action : Block
Sur PrestaShop / e-commerce :
On ajoute des règles spécifiques sur les endpoints de paiement et d'API, et on configure des rate limiting rules (voir Cloudflare Bot Management pour les règles de débit sur le checkout).
Réglage de sensibilité : on ne met pas les règles managées au niveau de sensibilité maximum d'emblée. Un niveau trop haut génère des faux positifs (formulaires de contact bloqués, requêtes légitimes d'administrateurs rejetées). On monte progressivement après une phase d'observation en log.
Les erreurs qu'on rencontre le plus souvent
1. WAF activé mais toutes les règles managées en mode log
On voit régulièrement des configurations où le WAF est "actif" mais toutes les actions sont sur log au lieu de block. L'opérateur a voulu éviter les faux positifs, ce qui est prudent au départ, mais a oublié de basculer en mode bloquant après la phase d'observation. Le dashboard Cloudflare montre beaucoup d'activité dans les logs, mais rien n'est effectivement bloqué.
2. Zéro règle custom, uniquement les règles managées par défaut
Les règles managées Cloudflare sont génériques. Elles ne connaissent pas votre structure d'URL, vos endpoints d'administration spécifiques, ni les patterns de vos attaquants habituels. Sans règles custom, /wp-admin reste ouvert à tous les scans, et les tentatives de brute force sur votre login ne sont limitées qu'en débit, pas en origine.
3. Mode SSL Cloudflare en Flexible avec WAF actif
Avec SSL en mode Flexible, Cloudflare parle à votre serveur en HTTP. Un attaquant qui trouve le chemin direct vers votre IP de serveur (en contournant Cloudflare) peut envoyer des requêtes non filtrées en HTTP directement. La protection WAF ne s'applique qu'aux requêtes qui passent par Cloudflare. Mode Full (Strict) uniquement, toujours.
4. Règles custom trop larges bloquant du trafic légitime
Un exemple classique : une règle qui bloque tout User-Agent contenant "Python" pour stopper des scrapers, mais qui coupe aussi les appels API légitimes de Zapier ou d'outils d'automatisation marketing qui utilisent Python dans leur user-agent. On calibre toujours les règles custom en log avant de basculer en block.
Questions fréquentes
Le WAF Cloudflare Free est-il suffisant pour un WordPress standard ? Pour un site institutionnel ou blog sans données sensibles, oui avec 5 à 10 règles custom bien posées. Pour un e-commerce ou un site avec espace client et données personnelles, le plan Pro apporte les rulesets managés avancés qui couvrent davantage de vecteurs d'attaque. On fait le choix avec vous selon votre profil de risque.
Le WAF Cloudflare remplace-t-il un plugin de sécurité WordPress comme Wordfence ? Ils ne couvrent pas le même périmètre. Le WAF Cloudflare filtre le trafic réseau avant votre serveur. Wordfence protège WordPress depuis l'intérieur (fichiers, base de données, logins). Pour un niveau de protection sérieux, les deux sont complémentaires. Notre recommandation pour les clients PK.CFE : WAF Cloudflare pour le réseau, et une configuration serveur durcie plutôt qu'un plugin de plus sur WordPress.
Cloudflare WAF protège-t-il contre les attaques DDoS ? Partiellement. Cloudflare a une couche DDoS distincte (Magic Transit, Under Attack Mode) qui est différente du WAF applicatif. Le WAF filtre les attaques applicatives sophistiquées (layer 7). Les volumétriques pure (layer 3/4) sont traitées par d'autres mécanismes Cloudflare. Les deux sont souvent actifs simultanément.
Faut-il être développeur pour configurer le WAF Cloudflare ? Non pour activer les règles managées et ajuster les niveaux de sensibilité, l'interface Cloudflare est accessible. Oui pour écrire des règles custom pertinentes : la syntaxe des expressions requiert de comprendre la structure de vos URLs et de vos patterns de trafic. C'est ce qu'on fait pour vous dans PK.CFE.
Le WAF Cloudflare est-il inclus dans le plan gratuit ? Un accès basique est inclus dans le plan Free, mais le périmètre des règles managées et le nombre de règles custom sont plus limités que dans les plans payants [à vérifier par l'équipe : limites exactes Free vs Pro à confirmer avant publication].
Peut-on whitelister des IPs pour qu'elles contournent le WAF ?
Oui, via les IP Access Rules ou les Bypass rules dans le WAF. On whitelist systématiquement les IPs d'administration connues du client pour éviter de bloquer l'accès de l'équipe IT aux outils internes.
Pour aller plus loin
- Connexe : Cloudflare Bot Management, HSTS, CSP (Content Security Policy).
- Protocoles concernés : le WAF Cloudflare est configuré dans le pack Sérénité Cloudflare PK.CFE (1 490 € TTC, sous 5 jours) et dans le durcissement sécurité P.03. Il fait partie du scope du pack E-commerce piraté PK.ECM.
Cloudflare actif sur votre site mais WAF non configuré ? Notre pack Sérénité Cloudflare (PK.CFE, 1 490 € TTC, livré en 5 jours) pose 5 à 10 règles WAF custom adaptées à votre stack, active les règles managées au bon niveau de sensibilité, et durcit l'ensemble de votre configuration Cloudflare. Rapport PDF avant/après. Briefer le pack PK.CFE