Présentation des stratégies de pare-feu reCAPTCHA

Ce document présente les règles du pare-feu reCAPTCHA.

Une stratégie de pare-feu reCAPTCHA est un ensemble de règles qui correspondent aux attributs de condition pour protéger votre site contre le spam et les utilisations abusives. Chaque règle est évaluée pour le trafic entrant. Les règles sont évaluées dans l'ordre dans lequel elles sont ajoutées dans la stratégie.

Composants de la stratégie de pare-feu reCAPTCHA

Une règle de stratégie de pare-feu reCAPTCHA se compose des composants suivants:

  • path: chemin d'URL auquel s'applique la règle de stratégie de pare-feu. Exemple : /login.
  • condition: condition de règle. Une condition de règle est une expression CEL (Common Expression Language) qui doit se résoudre en une valeur booléenne. Exemple : recaptcha.score >= 0.5.
  • action: action que votre fournisseur de services de WAF'application doit exécuter lorsque la condition de la stratégie est remplie. Pour en savoir plus, consultez la section Actions des règles.

Lorsqu'une requête entrante correspond à une condition de stratégie pour le chemin d'accès spécifié, votre fournisseur de services de WAF d'application autorise, bloque ou redirige la requête, en fonction de l'action spécifiée. La règle par défaut est d'autoriser l'accès.

Exemple de stratégie de pare-feu reCAPTCHA

L'exemple de stratégie de pare-feu reCAPTCHA suivant contient une règle appliquée à l'action login. Il bloque l'accès si le score est inférieur à 0,5.

     policy {
          path: login.php
          condition: recaptcha.score < 0.5
          action: block
        }

Attributs de condition de la stratégie de pare-feu reCAPTCHA

Le tableau suivant répertorie les attributs de jeton reCAPTCHA que vous pouvez utiliser pour définir des conditions dans vos règles de pare-feu reCAPTCHA.

Nom de l'attribut Type de données Description
recaptcha.token.valid booléen Indique si le jeton reçu est valide. Un jeton est valide s'il n'est pas malformé ni expiré, même si le score est faible.
recaptcha.token.action chaîne Nom de l'action fourni lors de la génération du jeton. Renseigné uniquement pour les jetons d'action. Il s'agit du paramètre action transmis à grecaptcha.enterprise.execute() lors de la création du jeton. Pour en savoir plus, consultez la section Noms des actions.
recaptcha.score float Score d'un jeton reCAPTCHA. Un score valide est compris entre 0,0 et 1,0. Le score 1,0 indique que l'interaction présente un risque faible et est très certainement légitime, tandis que 0,0 indique que l'interaction présente un risque élevé et peut être frauduleuse. Pour en savoir plus, consultez la page Interpréter les scores.
recaptcha.assessment_type entier Type d'évaluation effectuée. assessment_type est défini en fonction de la clé reCAPTCHA pour le WAF transmise avec la requête.

Pour comparer la valeur de recaptcha.assessment_type dans votre expression CEL, utilisez l'une des constantes suivantes:

  • AssessmentType.ACTION
  • AssessmentType.SESSION
  • AssessmentType.CHALLENGEPAGE
  • AssessmentType.EXPRESS
Par exemple, pour comparer une évaluation de jeton d'action, utilisez AssessmentType.ACTION.
http.ip chaîne Adresse IP de la requête entrante.
http.path chaîne Chemin de l'URI de la requête.
http.domain chaîne Domaine de l'URI demandé.

Actions des stratégies de pare-feu reCAPTCHA

Le tableau suivant répertorie les différentes actions de stratégie que vous pouvez spécifier dans vos règles de stratégie de pare-feu reCAPTCHA:

Action de règle Description Résultat de l'action
allow Autorise l'accès à la page demandée. La requête entrante de l'utilisateur est transmise sans interruption à votre backend.
block Refus d'accès à la page demandée. Une erreur HTTP 403 (Accès refusé) est renvoyée à l'utilisateur.
redirect Redirige la requête entrante de l'utilisateur vers la page de test reCAPTCHA. La page de défi reCAPTCHA évalue la requête de l'utilisateur et associe un cookie en fonction de l'évaluation. Par la suite, la requête de l'utilisateur est à nouveau redirigée vers la page d'origine.
substitute Affiche une page différente de celle demandée à la demande d'un utilisateur frauduleux. Le chemin d'accès demandé est remplacé par un autre chemin d'accès lors de l'envoi de la requête à votre backend. L'utilisateur continue de voir l'URL d'origine.
set_header Définit un en-tête personnalisé et permet à la requête utilisateur entrante de continuer vers le backend. Le backend peut alors déclencher une protection personnalisée. Un en-tête est associé à la requête de l'utilisateur. Votre backend utilise cet en-tête pour déclencher une protection ou une analyse personnalisée.

Étape suivante