Lors de la configuration d'une liste d'autorisation ou de règles personnalisées, vous définissez des conditions de correspondance pour cibler les requêtes à inspecter. Chaque condition se compose d'un champ de correspondance et d'un opérateur logique.
Qu'est-ce qu'une condition de correspondance ?
Une condition de correspondance définit les caractéristiques des requêtes que DCDN WAF inspecte en périphérie du réseau. Lorsque vous configurez une politique de protection personnalisée, une liste d'autorisation ou une liste de blocage d'adresses IP, utilisez une ou plusieurs Match Condition pour établir les critères d'une règle. Si une requête entrante satisfait aux conditions de correspondance, elle déclenche la règle. WAF applique alors l'action spécifiée à cette requête, par exemple Block, JavaScript Validation ou Monitor.
Champs de correspondance pris en charge
Le tableau suivant décrit les champs de correspondance disponibles.
|
Champ de correspondance |
Opérateurs logiques |
Description |
|
URI |
|
Identifiant uniforme de ressource (URI) d'une requête, indiquant le chemin de la ressource. La valeur doit commencer par une barre oblique ( |
|
IP |
|
Adresse IP source du client émettant la requête. La valeur doit respecter les exigences suivantes :
|
|
Referer |
|
URL de la page d'origine. |
|
User-Agent |
|
Informations relatives au navigateur du client, notamment son identité, son moteur de rendu et sa version. |
|
Query string |
|
Partie de l'URL située après le point d'interrogation (?). |
|
Cookie |
|
Informations sur les cookies contenues dans la requête. |
|
Content-Type |
|
Type de média du corps de la requête, tel qu'indiqué dans l'en-tête Content-Type. Également appelé type MIME. |
|
Content-Length |
Is Less Than, Is Equal To, Is Greater Than |
Taille du corps de la requête en octets. Valeurs valides : 0 à 8192. |
|
X-Forwarded-For |
|
Adresse IP d'origine du client, identifiée par l'en-tête de requête X-Forwarded-For (XFF) lorsque le trafic transite par un proxy HTTP ou un équilibreur de charge. Cet en-tête n'est présent que si la requête est routée via un proxy ou un équilibreur de charge. |
|
Request body |
|
Contenu du corps de la requête. WAF n'inspecte pas les corps de requête dont la taille dépasse 8 Ko. |
|
HTTP method |
|
Méthode utilisée dans la requête. Les méthodes prises en charge incluent GET, POST, DELETE, PUT, OPTIONS, CONNECT, HEAD, TRACE et PATCH. |
|
Header |
|
En-têtes de la requête. Les champs d'en-tête personnalisés sont pris en charge. |
|
URI path |
|
Composante de chemin de l'URI de la requête. |
|
Query string parameter |
|
Paramètre situé dans la chaîne de requête. Par exemple, dans l'URL |
|
Host |
|
Nom de domaine ciblé par la requête. |
|
CookieName |
|
Nom (ou clé) d'un cookie. Par exemple, dans le cookie |
|
BodyParameter |
|
Nom d'un paramètre dans le corps de la requête. Par exemple, si un corps de requête contient la chaîne |
|
Nom de fichier |
|
Nom du fichier situé à la fin du chemin URI. Par exemple, dans |
|
Extension de fichier |
|
Extension du fichier demandé, telle que |
Opérateurs logiques
|
Opérateur logique |
Description |
|
Is, Is Not |
Vérifie si la valeur du champ correspond ou non à l'adresse IP ou au bloc CIDR spécifié. |
|
Contains, Does Not Contain |
Détermine si la valeur du champ contient ou non la sous-chaîne indiquée. |
|
Is in, Is Not in |
Contrôle si la valeur du champ figure ou non dans la liste d'adresses IP fournie. |
|
Contains One of, Does Not Contain Any of |
Évalue si la valeur du champ contient au moins l'une des sous-chaînes spécifiées, ou aucune d'entre elles. |
|
Equals, Does Not Equal |
Compare la valeur du champ pour vérifier une correspondance exacte ou une différence avec la valeur cible. |
|
Equals One of, Does Not Equal Any of |
Teste si la valeur du champ correspond exactement à l'une des valeurs proposées, ou ne correspond à aucune. |
|
Length Equals, Length Is Greater Than, Length Is Less Than |
Met en relation la longueur de la valeur du champ (en octets) avec une valeur numérique définie. |
|
Exists, Does Not Exist |
Détecte la présence ou l'absence du champ spécifié dans la requête. |
|
Is Less Than, Is Equal To, Is Greater Than |
Effectue une comparaison numérique entre la valeur du champ et un seuil défini. |
|
Starts With, Ends With |
Analyse si la valeur du champ commence ou se termine par la sous-chaîne donnée. |
|
Regex Match, Regex Mismatch |
Valide la conformité de la valeur du champ par rapport à une expression régulière (regex), ou signale une non-conformité. |
|
Is Empty |
Signale si la valeur du champ est vide. |
Exemples de configuration
Exemple 1 : Définissez le champ de correspondance sur
URI, l'opérateur logique surContainset le contenu de correspondance sur/login.php. Cette règle se déclenche si l'URI d'une requête contient/login.php.Exemple 2 : Configurez le champ de correspondance sur
IP, l'opérateur logique surIset le contenu de correspondance sur 192.168.0.1. Cette règle s'applique aux requêtes provenant de l'adresse IP 192.168.0.1.