Changer le thème

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

Easton editorial illustration: learning console with milestone tokens

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.

80%
Taux de filtrage du trafic malveillant
5 règles pare-feu gratuites bien configurées, avec le jeu managé gratuit, filtrent plus de 80 % des requêtes malveillantes — configuration en 30 minutes

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 :

  1. Reconnaître : proches → laisser entrer (liste blanche)
  2. Vérifier : inconnus → contrôle d’identité (challenge)
  3. 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) :

ASNFournisseurNote
AS13335CloudflareCF — challenge recommandé
AS15169Google CloudGCP
AS16509Amazon AWSPlus grand cloud
AS14618Tencent CloudCourant en Chine
AS45090Alibaba CloudCourant 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 :

ScoreNiveauAction
0-10FaibleLaisser passer
11-40MoyenChallenge
41-50ÉlevéJS Challenge
51-100Trè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 Python
  • curl — ligne de commande
  • sqlmap — injection SQL
  • nikto — scanner de vulnérabilités
  • MJ12bot — crawler Majestic SEO (ignore robots.txt)
  • masscan — scan de ports
  • ZmEu — 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)

  1. Create rule

  2. Nom : Liste blanche - crawlers et monitoring

  3. Expression Builder par défaut ; Edit expression pour coller le code

  4. Expression :

    (cf.client.bot) or (ip.src in {1.2.3.4})

    Remplacez l’IP

  5. Action : Allow

  6. 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

  1. Liste blanche : votre IP → accès normal

  2. UA :

    curl -A "sqlmap" https://votre-domaine.com

    Page de blocage attendue

  3. 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

  1. Nouvelle règle en Log 7 jours

    • Action Log (journaliser sans bloquer)
    • Après une semaine, Challenge ou Block si OK
  2. Lister vos IP et le 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 ~ 0 %
  4. 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

  1. Fusionner avec or

    • Règle 4 : plusieurs UA en une règle
    • Une règle par type de scénario
  2. Listes IP

    • Cloudflare : milliers d’IP
    • ip.src in $blacklist
    • Une règle pour un grand volume
  3. 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 :

  1. Liste blanche en premier
  2. Challenge ASN datacenter
  3. Filtrage score de menace
  4. Blocage UA anormaux
  5. 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. 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. 2

    Step 2: Bloquer par pays avant la liste blanche. UptimeRobot, première règle bloque tout IP hors Chine

    monitoring coupé.
  3. 3

    Step 3: Liste blanche en première position

    crawlers, monitoring, vos IP, puis durcissement.
  4. 4

    Step 4: Configurer la règle 1 : liste blanche (priorité maximale)

    Rôle : laisser passer le trafic légitime connu.
  5. 5

    Step 5: Action

    Allow
  6. 6

    Step 6: • cf.client.bot

    crawlers vérifiés Cloudflare
  7. 7

    Step 7: • Sans liste IP

    (cf.client.bot)
  8. 8

    Step 8: Nom

    Liste blanche - crawlers et monitoring
  9. 9

    Step 9: Configurer la règle 2 : challenge ASN datacenter

    Rôle : validation humaine pour trafic datacenter.
  10. 10

    Step 10: Action

    Managed Challenge
  11. 11

    Step 11: • AS13335

    Cloudflare
  12. 12

    Step 12: • AS15169

    Google Cloud (GCP)
  13. 13

    Step 13: • AS16509

    Amazon AWS
  14. 14

    Step 14: • AS14618

    Tencent Cloud
  15. 15

    Step 15: • AS45090

    Alibaba Cloud
  16. 16

    Step 16: Créer la règle ASN datacenter

    challenge, coller l’expression, Managed Challenge, Deploy.
  17. 17

    Step 17: Configurer la règle 3 : filtrage score de menace

    Rôle : bloquer IP à haut risque via threat intelligence Cloudflare.
  18. 18

    Step 18: Action

    Challenge (10-40) ou Block (> 50)
  19. 19

    Step 19: • 0-10

    laisser passer
  20. 20

    Step 20: • 11-40

    Challenge
  21. 21

    Step 21: • 41-50

    JS Challenge
  22. 22

    Step 22: • 51-100

    Block
  23. 23

    Step 23: • Règle 3A

    (cf.threat_score gt 10 and cf.threat_score le 50) → Challenge
  24. 24

    Step 24: • Règle 3B

    (cf.threat_score gt 50) → Block
  25. 25

    Step 25: Configurer la règle 4 : blocage UA anormaux

    Rôle : filtrer UA vides, crawlers malveillants, outils automatisés.
  26. 26

    Step 26: UA vide ou python-requests, curl

    script, pas humain.
  27. 27

    Step 27: Action

    Block
  28. 28

    Step 28: Configurer la règle 5 : chemins sensibles et ordre

    Rôle : protéger admin, API, config.
  29. 29

    Step 29: Action

    Block ou Challenge
  30. 30

    Step 30: Remplacez {1.2.3.4} par votre IP. Autres chemins

    /xmlrpc.php, /phpMyAdmin, /config.php, /.sql.
  31. 31

    Step 31: • Votre IP

    accès normal
  32. 32

    Step 32: • curl -A sqlmap https://votre-domaine.com

    blocage
  33. 33

    Step 33: • Logs

    Security → Events

FAQ

5 règles pare-feu gratuites Cloudflare suffisent-elles ? Pourquoi filtrer 80 % du trafic malveillant ?
Les 5 règles personnalisées de l'offre gratuite suffisent.

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 ?
Les règles pare-feu Cloudflare s'exécutent de haut en bas, comme une chaîne de contrôle. Règle 1, puis règle 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).

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 ?
Seuils recommandés :
• 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 ?
Éviter les faux positifs :
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 ?
Vérifications si les règles ne s'appliquent pas :
• 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) ?
Attaque soudaine :
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

Commentaires

Connectez-vous avec GitHub pour laisser un commentaire

Easton BlogEaston Blog