Visão geral das políticas de firewall do reCAPTCHA

Este documento apresenta uma visão geral das políticas de firewall do reCAPTCHA.

Uma política de firewall do reCAPTCHA é um conjunto de regras que correspondem a atributos de condição para proteger seu site contra spam e abuso. Cada regra é avaliada para o tráfego recebido. As regras são avaliadas na mesma ordem em que são adicionadas à política.

Componentes da política de firewall do reCAPTCHA

Uma regra de política de firewall do reCAPTCHA consiste nos seguintes componentes:

  • path: um caminho de URL ao qual a regra de política de firewall se aplica. Por exemplo, /login.
  • condition: uma condição da política. Uma condição de política é uma expressão CEL (Common Expression Language) que precisa resolver para um valor booleano. Por exemplo, recaptcha.score >= 0.5.
  • action: uma ação que o provedor de serviços do WAF precisa executar quando a condição da política é atendida. Para mais informações, consulte ações de políticas.

Quando uma solicitação recebida corresponde a uma condição de política para o caminho especificado, o provedor de serviços do WAF permite, bloqueia ou redireciona a solicitação, com base na ação especificada. A regra padrão é permitir o acesso.

Exemplo de política de firewall do reCAPTCHA

O exemplo de política de firewall do reCAPTCHA a seguir contém uma regra que é aplicada à ação login. O acesso é bloqueado se a pontuação for menor que 0,5.

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

Atributos da condição da política de firewall do reCAPTCHA

A tabela a seguir lista os atributos de token reCAPTCHA que podem ser usados para definir condições nas políticas de firewall do reCAPTCHA.

Nome do atributo Tipo de dado Descrição
recaptcha.token.valid booleano Se o token recebido é válido. Um token é válido se não estiver incorreto ou expirado, mesmo que a pontuação seja baixa.
recaptcha.token.action string O nome da ação fornecido na geração do token. Preenchido apenas para tokens de ação. Esse é o parâmetro action que é transmitido para grecaptcha.enterprise.execute() quando o token é criado. Para mais informações, consulte Nomes de ação.
recaptcha.score float A pontuação de um token reCAPTCHA. Uma pontuação válida varia de 0,0 a 1,0. A pontuação 1,0 indica que a interação apresenta risco baixo e é provavelmente legítima, enquanto 0,0 indica que a interação apresenta alto risco e pode ser fraudulenta. Para mais informações, consulte Como interpretar pontuações.
recaptcha.assessment_type integer O tipo de avaliação que foi feita. assessment_type é definido de acordo com a chave reCAPTCHA para WAF transmitida com a solicitação.

Para comparar o valor de recaptcha.assessment_type na expressão CEL, use uma das seguintes constantes:

  • AssessmentType.ACTION
  • AssessmentType.SESSION
  • AssessmentType.CHALLENGEPAGE
  • AssessmentType.EXPRESS
Por exemplo, para comparar uma avaliação de token de ação, use AssessmentType.ACTION.
http.ip string O endereço IP da solicitação recebida.
http.path string O caminho do URI da solicitação.
http.domain string O domínio do URI solicitado.

Ações de política de firewall do reCAPTCHA

A tabela a seguir lista as várias ações de política que podem ser especificadas nas regras de política de firewall do reCAPTCHA:

Ação da política Descrição Resultado da ação
allow Permite o acesso à página solicitada. A solicitação do usuário recebida não é interrompida no back-end.
block Nega o acesso à página solicitada. Um erro HTTP 403 (proibido) é retornado ao usuário.
redirect Redireciona a solicitação do usuário para a página de teste do reCAPTCHA. A página de desafio do reCAPTCHA avalia a solicitação do usuário e anexa um cookie com base na avaliação. Mais tarde, a solicitação do usuário é redirecionada novamente para a página original.
substitute Exibir uma página diferente da solicitada para uma solicitação fraudulenta do usuário. O caminho solicitado é substituído por um caminho diferente ao enviar a solicitação para o back-end. O usuário continua vendo o URL original.
set_header Define um cabeçalho personalizado e permite que a solicitação do usuário recebida continue para o back-end. O back-end pode acionar uma proteção personalizada. Um cabeçalho é anexado à solicitação do usuário. O back-end usa esse cabeçalho para acionar uma proteção ou análise personalizada.

A seguir