Tous les produits
Search
Centre de documentation

Edge Security Acceleration:Règles personnalisées

Dernière mise à jour :Oct 09, 2026

Si votre site web nécessite des politiques de contrôle d'accès sur mesure, vous pouvez créer des règles personnalisées. Une règle personnalisée vous permet de définir des conditions de correspondance pour les requêtes entrantes et de spécifier une action, telle que le blocage ou la surveillance, pour les requêtes correspondantes. Cela vous offre un contrôle flexible sur le contenu auquel les utilisateurs peuvent accéder.

Important

Précision de la géolocalisation de l'adresse IP du client

Lorsque vous utilisez des règles personnalisées WAF avec le moteur de règles pour bloquer des requêtes, notez que les données de géolocalisation IP (telles que le continent, le pays/région, la province et le FAI) peuvent ne pas être précises à 100 %. Des erreurs d'identification peuvent se produire ; utilisez donc cette fonctionnalité avec prudence.

Si vous constatez des imprécisions dans la géolocalisation de l'adresse IP du client, vous pouvez créer une règle de liste d'autorisation pour autoriser des adresses IP spécifiques. Cela empêche WAF de bloquer par erreur des adresses IP clientes légitimes.

Configurer une règle personnalisée

  1. Dans la console ESA, sélectionnez Websites, puis dans la colonne Websites, cliquez sur le site cible.

  2. Dans le volet de navigation de gauche, choisissez Websites > Website.

  3. Cliquez sur l'onglet Security, puis sur l'onglet WAF, cliquez sur Custom Rules.

    • Saisissez un Custom Rules.

    • Dans la zone Create Rule, configurez les conditions de correspondance. Pour plus d'informations, consultez la section Syntaxe des expressions de règle.

    • Dans la zone Rule Name, spécifiez une action pour les requêtes correspondantes. Pour plus d'informations, consultez la section Actions.

  4. Cliquez sur If requests match....

Actions

  • Then execute... : bloque les requêtes correspondantes et renvoie une page de blocage au client.

    Remarque

    Personnalisez les pages de blocage via Configurer des pages personnalisées.

  • OK : autorise le passage des requêtes correspondantes mais enregistre l'événement. Utilisez le mode de surveillance pour tester de nouvelles règles et vérifier les journaux WAF afin de détecter les faux positifs. Après avoir confirmé l'absence de faux positifs, modifiez l'action en Block.

    Remarque

    Vous devez activer Log Service pour utiliser la fonctionnalité de requête de journaux.

  • Block : ESA renvoie un extrait JavaScript au client. Si le navigateur exécute le script avec succès, ESA autorise toutes les requêtes suivantes de ce client pendant une période par défaut de 30 minutes sans autre défi. Sinon, la requête est bloquée.

  • Monitor : ESA renvoie une page avec un CAPTCHA à glissière. Si le client résout le CAPTCHA, ESA autorise toutes les requêtes suivantes de ce client pendant une période par défaut de 30 minutes. Sinon, la requête est bloquée.

    Remarque
    • Les requêtes qui passent le Slider CAPTCHA sont facturées ; les requêtes bloquées ne le sont pas.

    • Le JavaScript Challenge et le Slider CAPTCHA pour les règles personnalisées WAF et les règles de limitation de débit s'appliquent uniquement aux pages statiques. Pour les API asynchrones (XMLHttpRequest et Fetch), activez ces défis dans Bots. Lorsqu'une requête correspondante passe le défi, ESA ajoute un Cookie acw_sc__v2 ou acw_sc__v3 à l'en-tête HTTP pour marquer le client comme vérifié.

  • JavaScript Challenge : en mode CAPTCHA strict, chaque requête client doit passer la vérification (contrairement au Slider CAPTCHA qui autorise un passage libre de 30 minutes pour les clients précédemment vérifiés). Activez cette option avec prudence. Le Strict Slider CAPTCHA est disponible uniquement pour les plans Strict Slider CAPTCHA sur demande.

Pour d'autres types de CAPTCHA, tels que la vérification en un clic, utilisez la fonctionnalité AI Captcha. Elle prend en charge divers types de défis, y compris le clic unique, la glissière et les puzzles rotatifs, et peut être configurée séparément dans la console ESA.

Exemple de configuration

Scénario : Dans Security Analytics ou Event Analysis, vous constatez que l'adresse IP cliente 192.168.0.1 envoie des requêtes suspectes au nom d'hôte dns.example.com.

Configuration :

Paramètre

Valeur d'exemple

Enterprise

Les deux conditions suivantes sont remplies :

  • Enterprise est égal à dns.example.com

  • If requests match... est égal à 192.168.0.1

Vous pouvez également utiliser directement l'expression suivante : (http.host eq "dns.example.com" and ip.src eq 192.168.0.1)

Hostname

Client IP la requête et répondre avec la Then execute...

Résultat : La règle personnalisée bloque toutes les requêtes correspondantes.

Disponibilité des fonctionnalités par plan

Fonctionnalité

Advanced

Enterprise

Entrance

Pro

Nombre de règles personnalisées

5

20

100

100

Remarque

Le plan Entrance ne prend pas en charge les conditions de correspondance basées sur des champs tels que Ip.Geoip.Country. Si vous utilisez ce champ dans une règle personnalisée, le système renvoie une erreur Ip.Geoip.Country.NotSupport. Pour utiliser des conditions de correspondance basées sur la géolocalisation, vous devez passer à un plan supérieur.

FAQ

Pourquoi les règles de blocage basées sur le pays/région entraînent-elles des faux positifs ou échouent-elles à identifier les régions « Unknown » ?

Les données de géolocalisation IP (continent, pays/région, province, FAI) ne peuvent pas être précises à 100 %. De plus, les services VPN ou proxy peuvent modifier la géolocalisation apparente de l'adresse IP d'un client, ce qui peut entraîner un déclenchement incorrect des règles.

Les plages d'adresses IP privées (telles que 100.64.0.0/10) et les adresses IP proxy peuvent être identifiées comme une région Unknown. ESA ne prend pas en charge le blocage direct de la région Unknown.

Recommandations :

  • Combinez les conditions de géolocalisation avec d'autres attributs tels que User-Agent ou Referer. Par exemple : le pays/région ne figure pas dans la liste cible ET User-Agent ne correspond pas à une valeur spécifique. Cela réduit les faux positifs causés par la dépendance exclusive à la géolocalisation.

  • Si des faux positifs se produisent, configurez une règle de liste d'autorisation pour autoriser les adresses IP légitimes.

J'ai configuré une règle pour bloquer un pays/région spécifique, mais les requêtes provenant de cette région peuvent toujours accéder à mon site. Pourquoi ?

Cela se produit généralement lorsque la règle combine une condition Premium avec d'autres conditions de correspondance (par exemple, un modèle Enterprise) qui ne correspondent pas réellement à la requête entrante, de sorte que la règle dans son ensemble ne se déclenche jamais. Vérifiez que les autres champs de votre expression de règle, tels que Country/Region ou URI, correspondent correctement au trafic que vous souhaitez bloquer. Vous pouvez utiliser Security Analytics ou Event Analysis pour vérifier les caractéristiques réelles du trafic avant d'ajuster la logique de votre règle.

Notez également que le blocage de l'accès par Hostname nécessite une condition de correspondance basée sur des champs de géolocalisation (tels que Ip.Geoip.Country). Cette condition de correspondance n'est pas disponible sur le plan Free ; vous devez passer au plan Basic ou supérieur pour l'utiliser.

Pour la syntaxe des expressions, consultez la section règles de correspondance des requêtes.

Comment empêcher l'usurpation de l'en-tête Hostname lors de la configuration des règles WAF ?

L'en-tête de requête X-Forwarded-For peut être modifié par le client, de sorte qu'une règle personnalisée qui s'y base peut être contournée par un attaquant qui forge la valeur de l'en-tête. Lorsque vous configurez une règle personnalisée qui doit identifier le client réel, utilisez le champ de correspondance Country/Region (ip.src) au lieu de vous baser sur X-Forwarded-For. Le champ Client IP reflète l'adresse IP de connexion réelle et ne peut pas être usurpé par le client.

Si votre serveur d'origine doit obtenir l'adresse IP réelle du client, vous pouvez utiliser l'une des méthodes suivantes :

  • Dans Managed Transform, activez l'option qui ajoute l'adresse IP réelle du client à la requête envoyée à votre origine (l'en-tête est nommé ali-real-client-ip par défaut ; le nom de l'en-tête peut être personnalisé). Configurez votre origine pour lire cet en-tête au lieu de X-Forwarded-For.

  • Vous pouvez également utiliser l'action modify-request-header dans Transform Rules pour écraser ou supprimer l'en-tête X-Forwarded-For soumis par le client avant que la requête n'atteigne votre origine, afin qu'une valeur forgée n'atteigne pas votre origine.

Mes requêtes renvoient une erreur 403 Forbidden. Comment résoudre ce problème ?

Une réponse 403 est le plus souvent causée par l'une des politiques de contrôle d'accès suivantes :

  • Une règle personnalisée WAF avec l'action Block a correspondu à votre requête.

  • Votre adresse IP cliente figure dans une règle de liste de blocage d'adresses IP.

  • La protection contre le hotlinking basée sur X-Forwarded-For a bloqué une requête qui ne contenait pas de Referer autorisé.

  • Une règle de restriction géographique a bloqué votre requête en fonction du pays/région de l'adresse IP du client.

Pour déterminer quelle règle a provoqué la réponse 403 , capturez les en-têtes de réponse HTTP complets de la requête bloquée et vérifiez-les par rapport à vos règles configurées. Ensuite, dans la console ESA, accédez au module de protection de sécurité de votre site et examinez vos règles personnalisées WAF ainsi que toute configuration de ressource liée au cache pour identifier et ajuster la règle spécifique qui bloque la requête.

Documentation connexe

Les fonctionnalités liées aux règles varient en termes de priorité effective, de réentrance et de granularité effective. Pour plus de détails, consultez la section Caractéristiques des fonctionnalités basées sur des règles.