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

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

Les règles de pare-feu reCAPTCHA sont une liste de règles configurables qui correspondent aux attributs de condition pour protéger votre site contre le spam et les utilisations abusives.

Composants des règles de stratégie de pare-feu reCAPTCHA

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

  • path : chemin d'URL auquel s'applique la règle de stratégie de pare-feu. Exemple : /login. Le chemin d'accès peut être un format glob, tel que /*.html.
  • condition : condition de la 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 plug-in WAF doit exécuter lorsque la condition de la règle est remplie. Pour en savoir plus, consultez Actions des règles.

Lorsqu'une requête entrante correspond à la fois au chemin et à la condition d'une règle, le plug-in reCAPTCHA pour votre fournisseur de services WAF applique une action. Les actions disponibles incluent l'autorisation, le blocage ou la redirection de la demande vers une page de challenge interstitiel.

Les règles sont évaluées dans l'ordre, et une seule règle est activée. Si aucune règle ne correspond, la règle par défaut est d'autoriser l'accès.

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

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

Attributs de condition de la règle de pare-feu reCAPTCHA

Le tableau suivant liste 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 qui est 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 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 de la stratégie de pare-feu reCAPTCHA

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

Action de règlement Description Résultat de l'action
allow Permet d'accéder à la page demandée. La requête entrante de l'utilisateur est transmise à votre backend sans interruption.
block Refuse l'accès à la page demandée. Une erreur HTTP 403 (accès refusé) est renvoyée à l'utilisateur.
redirect Redirige la requête utilisateur entrante vers la page de test reCAPTCHA. La page de test reCAPTCHA évalue la requête de l'utilisateur et associe un cookie en fonction de l'évaluation. Plus tard, la demande de l'utilisateur est à nouveau redirigée vers la page d'origine.
substitute Affiche une page différente de celle demandée pour une requête frauduleuse. 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.

Étapes suivantes