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 do 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 boolean 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 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