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

Neste documento, apresentamos uma visão geral das políticas de firewall do reCAPTCHA.

As políticas de firewall do reCAPTCHA são uma lista de regras configuráveis que correspondem a atributos de condição para proteger seu site contra spam e abuso.

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 a que a regra da política de firewall se aplica. Por exemplo, /login. O caminho pode ser um padrão glob, como /*.html.
  • condition: uma condição de política. Uma condição de política é uma expressão CEL (Common Expression Language) que precisa ser resolvida como um valor booleano. Por exemplo, recaptcha.score >= 0.5.
  • action: uma ação que o plug-in do WAF precisa executar quando a condição da política é atendida. Para mais informações, consulte ações de política.

Quando uma solicitação recebida corresponde ao caminho e à condição de uma política, o plug-in do reCAPTCHA para seu provedor de serviços de WAF aplica uma ação. As ações disponíveis incluem: permitir, bloquear ou redirecionar a solicitação para uma página de desafio intersticial.

As políticas são avaliadas em ordem, e apenas uma é ativada. Se nenhuma política corresponder, a regra padrão será permitir o acesso.

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

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

Atributos de 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 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 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 do reCAPTCHA para WAF transmitida com a solicitação.

Para comparar o valor de recaptcha.assessment_type na sua 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 de entrada do usuário é ininterrupta para seu 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 recebida 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 Serve 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 continue para o back-end. Em seguida, o back-end pode acionar uma proteção personalizada. Um cabeçalho é anexado à solicitação do usuário. Seu back-end usa esse cabeçalho para acionar uma proteção ou análise personalizada.

A seguir