Règles pare-feu Cloudflare pour débutants : 5 règles gratuites pour filtrer 80 % du trafic malveillant (modèles inclus)

Introduction
Les logs du serveur débordent de requêtes de scan — des milliers d’accès malveillants par jour. Cloudflare gratuit sans aucune règle pare-feu, c’est partir à découvert. Copier-coller des tutoriels en ligne, et rien ne marche : la priorité des règles était inversée.
Les expressions comme (ip.src.country eq "CN") font mal à la tête, mais après quelques jours de tests, 5 règles gratuites suffisent vraiment. Bien configurées, elles filtrent plus de 80 % des requêtes malveillantes sans toucher aux utilisateurs légitimes. Ce guide couvre ces 5 règles : principe, priorités, 30 minutes de configuration.
Chapitre 1 : Pourquoi 5 règles gratuites suffisent
Beaucoup voient « 5 règles personnalisées » sur l’offre gratuite Cloudflare et pensent : « Ce n’est pas assez. » Pro en a 20 — faut-il upgrader ?
Attendez la fin de l’explication.
La plupart du trafic malveillant vient de quelques sources : scanners en datacenter, IP à score de menace élevé, User-Agent anormaux. D’après la communauté Cloudflare, 5 règles bien placées bloquent plus de 80 % des attaques.
C’est la loi 80/20.
En plus des 5 règles personnalisées, l’offre gratuite inclut le Cloudflare Free Managed Ruleset (jeu de règles managées gratuit), activé par défaut, contre des failles comme Shellshock ou Log4J. Jeu managé + 5 règles : suffisant pour un site PME.
Les 15 règles Pro servent surtout à affiner : sous-domaines multiples, stratégies par API. Site simple : 5 règles couvrent l’essentiel.
À condition de les utiliser correctement. Mauvaise priorité : 10 règles ne servent à rien.
Chapitre 2 : Le secret de la priorité des règles
C’est le piège le plus fréquent. Au début, j’avais aussi inversé l’ordre — aucune règle ne s’appliquait.
Les règles pare-feu Cloudflare s’exécutent de haut en bas, comme une chaîne de contrôle. Règle 1, puis 2, etc. Dès qu’une règle correspond, l’action s’applique (Allow, Block, Challenge…) et l’évaluation s’arrête (sauf Allow, qui continue).
Image : le gardien à l’entrée :
- Reconnaître : proches → laisser entrer (liste blanche)
- Vérifier : inconnus → contrôle d’identité (challenge)
- Refuser : suspects → refus (block)
Inverser l’ordre (bloquer avant vérifier) : les visiteurs légitimes n’entrent plus.
Erreur classique : bloquer par pays avant la liste blanche. UptimeRobot à l’étranger, première règle « bloquer tout IP hors Chine » : monitoring coupé, panne invisible.
Bonne pratique : liste blanche toujours en première position. Trafic connu (crawlers, monitoring, vos IP), puis durcissement.
Point souvent oublié : ordre des actions. Même priorité de règle :
- Allow (autoriser) > Skip (ignorer) > Challenge (défi) > Block (bloquer) > Log (journaliser)
Allow l’emporte sur Block si les deux correspondent — d’où la liste blanche en tête.
Chapitre 3 : Les 5 règles d’or
Voici les 5 règles par priorité décroissante, prêtes à copier.
Règle 1 (priorité maximale) : Liste blanche — protéger vos alliés
Rôle : laisser passer le trafic légitime connu, éviter les faux positifs.
Cas d’usage :
- Crawlers (Google, Bing, Baidu…)
- Monitoring (UptimeRobot, StatusCake…)
- IP bureau, domicile
Expression :
(cf.client.bot) or (ip.src in {1.2.3.4 5.6.7.8})
Action : Allow
Notes :
cf.client.bot: crawlers vérifiés par Cloudflare (Google, Bing…)- Remplacez
{1.2.3.4 5.6.7.8}par vos IP, séparées par des espaces - Sans liste IP :
(cf.client.bot)
Règle 2 : Challenge ASN datacenter — trafic hébergé en salle
Rôle : validation humaine pour le trafic venant de datacenters.
Cas d’usage :
Scanners et outils de crawl tournent souvent sur VPS ou cloud ; les utilisateurs réels accèdent rarement depuis une IP datacenter. Un challenge suffit à bloquer les bots.
Expression :
(ip.geoip.asnum in {13335 15169 16509 14618 45090})
Action : Managed Challenge
Table ASN (datacenters courants) :
| ASN | Fournisseur | Note |
|---|---|---|
| AS13335 | Cloudflare | CF — challenge recommandé |
| AS15169 | Google Cloud | GCP |
| AS16509 | Amazon AWS | Plus grand cloud |
| AS14618 | Tencent Cloud | Courant en Chine |
| AS45090 | Alibaba Cloud | Courant en Chine |
Adaptez la liste à votre site. Évitez Block direct — risque pour utilisateurs VPN. Managed Challenge : humains passent, bots restent bloqués.
Règle 3 : Score de menace + filtrage IP à risque
Rôle : bloquer les IP à haut risque via la threat intelligence Cloudflare.
Cas d’usage :
Cloudflare note chaque IP (0-100). Score élevé = plus dangereux. > 10 : possible spam ; > 40 : comportement suspect ; > 50 : block recommandé.
Expression :
(cf.threat_score gt 10)
Action : Challenge (10-40) ou Block (> 50)
Seuils recommandés :
| Score | Niveau | Action |
|---|---|---|
| 0-10 | Faible | Laisser passer |
| 11-40 | Moyen | Challenge |
| 41-50 | Élevé | JS Challenge |
| 51-100 | Très élevé | Block |
Astuce :
Segmentation en deux règles :
- Règle 3A :
(cf.threat_score gt 10 and cf.threat_score le 50)→ Challenge - Règle 3B :
(cf.threat_score gt 50)→ Block
Cela consomme 2 règles. Si le quota manque : gt 10 + Challenge, observer une semaine.
Règle 4 : Blocage User-Agent anormaux
Rôle : filtrer UA vides, crawlers malveillants, outils automatisés.
Cas d’usage :
Un navigateur envoie un User-Agent (« je suis Chrome »). UA vide ou python-requests, curl : probablement un script, pas un humain.
Expression :
(http.user_agent eq "") or (http.user_agent contains "python-requests") or (http.user_agent contains "curl") or (http.user_agent contains "sqlmap") or (http.user_agent contains "nikto") or (http.user_agent contains "MJ12bot")
Action : Block
UA malveillants courants :
python-requests— script Pythoncurl— ligne de commandesqlmap— injection SQLnikto— scanner de vulnérabilitésMJ12bot— crawler Majestic SEO (ignore robots.txt)masscan— scan de portsZmEu— scanner
Attention :
- Ne pas bloquer
Mozilla,Chrome,Safari - Mode Log une semaine pour inventorier les UA anormaux
- API publique : exclure l’UA de votre client API
Règle 5 : Protection des chemins sensibles
Rôle : protéger admin, API sensibles, fichiers de config.
Cas d’usage :
WordPress : /wp-admin, /wp-login.php — cibles favorites. .env, .git : fuite = catastrophe.
Expression :
(http.request.uri.path contains "/wp-login" or http.request.uri.path contains "/wp-admin" or http.request.uri.path contains "/.env" or http.request.uri.path contains "/.git") and not (ip.src in {1.2.3.4})
Action : Block ou Challenge
Notes :
- Remplacez
{1.2.3.4}par votre IP pour accéder à l’admin - Sans liste IP : supprimez
and not (ip.src in {1.2.3.4})et utilisez Challenge
Autres chemins sensibles :
/xmlrpc.php(WordPress XML-RPC, souvent cible DDoS)/phpMyAdmin/config.php/.sql(sauvegarde BDD)
Adaptez à votre stack.
Flux complet des 5 règles
Requête entrante
↓
Règle 1 : crawler ou IP liste blanche ? → oui → autoriser
↓ non
Règle 2 : ASN datacenter ? → oui → challenge → passé / bloqué
↓ non
Règle 3 : score > 10 ? → oui → challenge / block
↓ non
Règle 4 : UA anormal ? → oui → block
↓ non
Règle 5 : chemin sensible ? → oui → block / challenge
↓ non
Autoriser vers l'origine
Ce flux filtre la majorité des attaques automatisées sans faux positifs massifs.
Chapitre 4 : Configuration pas à pas
Les règles seules ne suffisent pas — il faut les déployer.
Étape 1 : page pare-feu
Cloudflare Dashboard → votre domaine → Security → WAF → onglet Custom rules.
Étape 2 : première règle (liste blanche)
-
Create rule
-
Nom :
Liste blanche - crawlers et monitoring -
Expression Builder par défaut ; Edit expression pour coller le code
-
Expression :
(cf.client.bot) or (ip.src in {1.2.3.4})Remplacez l’IP
-
Action : Allow
-
Deploy
Étape 3 : règles 2 à 5
Même méthode, noms, expressions et actions du chapitre 3.
Étape 4 : ordre des règles
Dans la liste, glissez l’icône à six points :
- Liste blanche en haut (priorité 1)
- ASN en second
- Score de menace en troisième
- UA anormaux en quatrième
- Chemins sensibles en cinquième
Étape 5 : tests
-
Liste blanche : votre IP → accès normal
-
UA :
curl -A "sqlmap" https://votre-domaine.comPage de blocage attendue
-
Logs : Dashboard → Security → Events
Si inefficace :
- Erreur de syntaxe
- Ordre de priorité
- Action correcte
Chapitre 5 : Astuces avancées et FAQ
Les 5 règles de base bloquent déjà la majorité des attaques. Quelques optimisations utiles.
Comment juger l’efficacité
Indicateur clé : CSR (Challenge Solve Rate, taux de résolution des défis).
Formule : CSR = défis résolus / défis émis
Plus bas = mieux. CSR ~ 0 % : presque que des bots → Block possible pour économiser les ressources.
CSR élevé (> 50 %) : faux positifs possibles → ajuster les conditions.
Voir le CSR : Security → Events → règle → statistiques.
Éviter les faux positifs
-
Nouvelle règle en Log 7 jours
- Action Log (journaliser sans bloquer)
- Après une semaine, Challenge ou Block si OK
-
Lister vos IP et le monitoring
- IP habituelles en règle 1
- Plages UptimeRobot sur le site officiel
-
Ne pas Block d’emblée
- Challenge d’abord
- Block si CSR ~ 0 %
-
Chute anormale du trafic
- Trafic légitime en baisse → vérifier Security Events
Attaque soudaine
Sous attaque CC ou DDoS : mode Under Attack (bouclier 5 secondes) :
Security → Settings → Security Level → I’m Under Attack
Page 5 s avec validation JS. Bots bloqués ; humains attendent 5 s. Revenir à Medium ou Low après l’attaque.
Renforcement temporaire :
- Challenge → Block
- Blocage géographique si l’attaque vient d’un pays
5 règles insuffisantes
-
Fusionner avec
or- Règle 4 : plusieurs UA en une règle
- Une règle par type de scénario
-
Listes IP
- Cloudflare : milliers d’IP
ip.src in $blacklist- Une règle pour un grand volume
-
Upgrade Pro
- 20 règles et fonctions avancées
- Si le site est rentable
FAQ
Q : Règles inefficaces ?
A : Vérifier :
- Syntaxe (Cloudflare signale les erreurs)
- Priorité (liste blanche en haut)
- Allow ou Skip en amont
Q : Votre IP bloquée ?
A : Ajoutez-la à la règle 1 :
(cf.client.bot) or (ip.src in {votre IP})
Q : Quel seuil de score de menace ?
A :
- Conservatrice :
cf.threat_score gt 30 - Équilibrée :
cf.threat_score gt 10(recommandé) - Agressive :
cf.threat_score gt 5
Commencez avec 10, une semaine d’observation, ajustez selon CSR.
Q : Googlebot bloqué ?
A : Règle 1 (liste blanche) en tête. cf.client.bot reconnaît Google, Bing, etc.
Conclusion
En résumé :
5 règles pare-feu gratuites suffisent. L’essentiel : priorité correcte :
- Liste blanche en premier
- Challenge ASN datacenter
- Filtrage score de menace
- Blocage UA anormaux
- Protection chemins sensibles
Effet sous 30 minutes. Une semaine plus tard, Security Events montre l’impact — scanners et trafic parasite bloqués à la porte.
Configurez maintenant. Dashboard Cloudflare, modèles ci-dessus, copier-coller, ajuster les IP, 30 minutes.
Revenez voir les stats dans une semaine. Gardez cet article pour les ajustements futurs — le chapitre 5 FAQ reste utile.
Votre site mérite une meilleure protection.
Configurer les règles pare-feu Cloudflare pour filtrer le trafic malveillant
De la priorité des règles aux 5 règles d’or — filtrer 80 % du trafic malveillant en 30 minutes
Estimated time: PT30M
-
1
Step 1: Comprendre la priorité et l’ordre des actions
Les règles pare-feu Cloudflare s’exécutent de haut en bas. Règle 1, puis 2, etc. Dès qu’une règle correspond, l’action s’applique (Allow, Block, Challenge…) et l’évaluation s’arrête (sauf Allow). -
2
Step 2: Bloquer par pays avant la liste blanche. UptimeRobot, première règle bloque tout IP hors Chine
monitoring coupé. -
3
Step 3: Liste blanche en première position
crawlers, monitoring, vos IP, puis durcissement. -
4
Step 4: Configurer la règle 1 : liste blanche (priorité maximale)
Rôle : laisser passer le trafic légitime connu. -
5
Step 5: Action
Allow -
6
Step 6: • cf.client.bot
crawlers vérifiés Cloudflare -
7
Step 7: • Sans liste IP
(cf.client.bot) -
8
Step 8: Nom
Liste blanche - crawlers et monitoring -
9
Step 9: Configurer la règle 2 : challenge ASN datacenter
Rôle : validation humaine pour trafic datacenter. -
10
Step 10: Action
Managed Challenge -
11
Step 11: • AS13335
Cloudflare -
12
Step 12: • AS15169
Google Cloud (GCP) -
13
Step 13: • AS16509
Amazon AWS -
14
Step 14: • AS14618
Tencent Cloud -
15
Step 15: • AS45090
Alibaba Cloud -
16
Step 16: Créer la règle ASN datacenter
challenge, coller l’expression, Managed Challenge, Deploy. -
17
Step 17: Configurer la règle 3 : filtrage score de menace
Rôle : bloquer IP à haut risque via threat intelligence Cloudflare. -
18
Step 18: Action
Challenge (10-40) ou Block (> 50) -
19
Step 19: • 0-10
laisser passer -
20
Step 20: • 11-40
Challenge -
21
Step 21: • 41-50
JS Challenge -
22
Step 22: • 51-100
Block -
23
Step 23: • Règle 3A
(cf.threat_score gt 10 and cf.threat_score le 50) → Challenge -
24
Step 24: • Règle 3B
(cf.threat_score gt 50) → Block -
25
Step 25: Configurer la règle 4 : blocage UA anormaux
Rôle : filtrer UA vides, crawlers malveillants, outils automatisés. -
26
Step 26: UA vide ou python-requests, curl
script, pas humain. -
27
Step 27: Action
Block -
28
Step 28: Configurer la règle 5 : chemins sensibles et ordre
Rôle : protéger admin, API, config. -
29
Step 29: Action
Block ou Challenge -
30
Step 30: Remplacez {1.2.3.4} par votre IP. Autres chemins
/xmlrpc.php, /phpMyAdmin, /config.php, /.sql. -
31
Step 31: • Votre IP
accès normal -
32
Step 32: • curl -A sqlmap https://votre-domaine.com
blocage -
33
Step 33: • Logs
Security → Events
FAQ
5 règles pare-feu gratuites Cloudflare suffisent-elles ? Pourquoi filtrer 80 % du trafic malveillant ?
La plupart du trafic malveillant provient de quelques catégories :
• Scanners hébergés en datacenter
• IP à score de menace élevé
• User-Agent anormaux
D'après l'expérience de la communauté Cloudflare, 5 règles bien configurées bloquent plus de 80 % des attaques. C'est la loi 80/20.
En plus des 5 règles personnalisées, l'offre gratuite inclut le Cloudflare Free Managed Ruleset (jeu de règles managées gratuit), activé par défaut, qui protège contre des failles critiques comme Shellshock ou Log4J.
Jeu managé + 5 règles personnalisées : largement suffisant pour un site PME.
Les 15 règles supplémentaires de l'offre Pro servent surtout à affiner l'exploitation : plusieurs sous-domaines, stratégies par API, etc. Si votre site n'est pas si complexe, 5 règles couvrent l'essentiel.
À condition de les utiliser correctement. Mauvaise priorité : 10 règles ne servent à rien.
Pourquoi la priorité des règles est-elle si importante ? Comment la configurer ?
Ordre des actions :
• Allow (autoriser) > Skip (ignorer) > Challenge (défi) > Block (bloquer) > Log (journaliser)
Si une requête correspond à Allow et Block, Allow l'emporte. D'où la liste blanche en tête — priorité maximale, pas de faux positifs.
Erreur fréquente :
Bloquer par pays avant la liste blanche. Vous utilisez UptimeRobot, mais la première règle bloque tout IP hors Chine : le monitoring est coupé, panne invisible.
Bonne pratique :
Liste blanche toujours en première position : trafic connu (crawlers, monitoring, vos IP), puis durcissement progressif.
Ordre correct :
• Liste blanche en haut (priorité 1)
• Challenge ASN en second
• Score de menace en troisième
• UA anormaux en quatrième
• Chemins sensibles en cinquième
Quel seuil de score de menace choisir ? Comment juger l'efficacité des règles ?
• 0-10 : faible risque, laisser passer
• 11-40 : risque moyen, Challenge
• 41-50 : risque élevé, JS Challenge
• 51-100 : risque très élevé, Block
Commencez avec 10, observez une semaine, ajustez selon CSR et faux positifs.
Stratégies :
• Conservatrice : cf.threat_score gt 30 (moins d'interceptions, faible risque de faux positifs)
• Équilibrée : cf.threat_score gt 10 (recommandé, protection et UX)
• Agressive : cf.threat_score gt 5 (plus d'interceptions, risque pour utilisateurs VPN)
Comment juger l'efficacité :
Cloudflare fournit le CSR (Challenge Solve Rate, taux de résolution des défis).
Formule : CSR = nombre de défis résolus avec succès / nombre total de défis émis
Plus c'est bas, mieux c'est :
• CSR proche de 0 % : presque tous les challengés sont des bots. Envisagez Block au lieu de Challenge pour économiser les ressources.
• CSR élevé (ex. > 50 %) : risque de faux positifs sur vrais utilisateurs, ajuster les conditions.
Voir le CSR :
Security → Events → cliquer sur une règle → statistiques détaillées
Effet sous 30 minutes ; après une semaine, Security Events montre l'impact.
Comment éviter les faux positifs ? Que faire si 5 règles ne suffisent pas ?
1) Nouvelle règle en mode Log pendant 7 jours (action Log : journaliser sans bloquer ; après une semaine, passer à Challenge ou Block si OK)
2) Lister vos IP et services de monitoring (IP habituelles en règle 1 ; plages UptimeRobot sur le site officiel)
3) Ne pas Block d'emblée (Challenge d'abord ; Block si CSR proche de 0 %)
4) Surveiller une chute anormale du trafic (trafic légitime en baisse = possible faux positif ; vérifier Security Events)
5 règles insuffisantes :
1) Fusionner avec or (règle 4 : plusieurs UA anormaux en une règle)
2) Listes IP Cloudflare (milliers d'IP ; ip.src in $blacklist : une règle pour un grand volume)
3) Passer à Pro (20 règles et fonctions avancées si le site est rentable)
Règles inefficaces ? Votre IP bloquée ?
• Syntaxe de l'expression (Cloudflare signale les erreurs)
• Ordre de priorité (liste blanche en haut)
• Règle supérieure Allow ou Skip déjà appliquée
IP personnelle bloquée :
Ajoutez votre IP à la règle 1 : (cf.client.bot) or (ip.src in {votre IP})
Tester :
• Votre IP : accès normal
• curl -A sqlmap https://votre-domaine.com : page de blocage
• Logs : Cloudflare Dashboard → Security → Events
Si inefficace :
• Erreur de syntaxe
• Ordre de priorité
• Action correcte
Googlebot bloqué ?
Vérifiez que la règle 1 (liste blanche) est en tête. cf.client.bot reconnaît Google, Bing, etc.
Attaque soudaine ? Que signifie le CSR (taux de résolution des défis) ?
Sous attaque CC ou DDoS, trafic en forte hausse : mode Under Attack (bouclier 5 secondes) :
• Security → Settings → Security Level → I'm Under Attack
• Page de chargement 5 s avec validation JS pour tous les visiteurs
• Les bots échouent ; les humains attendent 5 s
• Revenir à Medium ou Low après l'attaque
Renforcement temporaire :
• Challenge → Block
• Blocage géographique si l'attaque vient d'un pays
CSR (Challenge Solve Rate) :
Formule : CSR = défis résolus / défis émis
Plus bas = mieux :
• CSR ~ 0 % : bots uniquement → Block possible
• CSR élevé (> 50 %) : ajuster les conditions
Voir le CSR :
Security → Events → règle → statistiques détaillées
9 min de lecture · Publié le: 1 déc. 2025 · Mis à jour le: 27 juil. 2026
Cloudflare Full Stack
Si vous arrivez depuis la recherche, le plus rapide est de passer à l’article précédent ou suivant de cette série.
Précédent
Taux de cache Cloudflare bloqué à 30 % ? 3 règles pour viser 90 %
Cloudflare ne met pas le HTML en cache par défaut ? Guide pas à pas avec Cache Rules et Edge TTL pour passer de 30 % à 90 %, réduire fortement la charge serveur. Étapes complètes, sécurité et vérification.
Partie 5 sur 23
Suivant
Guide de configuration du rate limiting Cloudflare : bloquer les attaques CC en 5 minutes, même en version gratuite
Configurez les règles de rate limiting Cloudflare pas à pas : protection contre les attaques CC en 5 minutes. Seuils recommandés pour login, API et pages web, fonctionnalités de la version gratuite, tutoriel complet et pièges à éviter.
Partie 7 sur 23



Commentaires
Connectez-vous avec GitHub pour laisser un commentaire