Visão geral do gerenciamento de bots do Google Cloud Armor

O Google Cloud Armor oferece gerenciamento eficaz de solicitações automatizadas de clientes para seus back-ends por meio de integração nativa com o reCAPTCHA Enterprise. O reCAPTCHA Enterprise usa técnicas avançadas de análise de risco para distinguir entre usuários humanos e clientes automatizados. Com a integração, o reCAPTCHA Enterprise emite um token criptografado que contém a avaliação do reCAPTCHA Enterprise e atributos associados sobre o risco associado à solicitação. O Google Cloud Armor descriptografa esse token sem solicitação/resposta adicional para o servidor reCAPTCHA Enterprise. Com base nos atributos do token, o Google Cloud Armor permite permitir, bloquear ou redirecionar as solicitações recebidas.

O gerenciamento de bots do Google Cloud Armor apresenta os seguintes recursos integrados.

  • Desafio manual
    • É possível redirecionar solicitações internamente para a avaliação do reCAPTCHA Enterprise com desafios manuais opcionais e isentar os usuários que forem aprovados na avaliação.
    • Você não precisa fazer nenhuma implementação do reCAPTCHA Enterprise.
    • Você deve configurar uma regra de política de segurança para redirecionar para avaliação do reCAPTCHA Enterprise.
  • Aplique a avaliação do reCAPTCHA Enterprise
    • É possível avaliar os tokens do reCAPTCHA Enterprise anexados a uma solicitação e tomar decisões de política de segurança em processo com base nos atributos do token, sem exigir que os back-ends estejam envolvidos, e sem incorrer no custo de rede de uma solicitação/resposta para decifrar o token.
    • É necessário escolher entre usar tokens de ação ou tokens de sessão do reCAPTCHA Enterprise e executar a implementação do reCAPTCHA Enterprise para que os tokens sejam anexados a uma solicitação.
    • Você precisa configurar uma regra de política de segurança que avalie os tokens do reCAPTCHA Enterprise.

Além dos recursos anteriores baseados na integração do reCAPTCHA Enterprise, o gerenciamento de bots do Google Cloud Armor apresenta os seguintes recursos:

  • Redirecionar (302)
    • Você pode redirecionar solicitações para o URL alternativo configurado com uma resposta 302.
  • Decorar solicitação
    • É possível inserir cabeçalhos personalizados nas solicitações antes de fazer o proxy deles para os back-ends.

Casos de uso

Nesta seção, você verá como usar o gerenciamento de bots para controlar o acesso de clientes automatizados:

Usar um desafio manual para distinguir entre usuários legítimos e clientes automatizados

É possível redirecionar uma solicitação para o reCAPTCHA Enterprise para avaliar o usuário e atender aos desafios manuais, se necessário, sem nenhuma outra implementação do reCAPTCHA Enterprise. Quando os usuários humanos compartilham a mesma assinatura (como caminhos de URL ou outras assinaturas L7) que um bot ou um sistema abusivo, essa ação fornece uma maneira de provar que eles são humanos e têm acesso. em vez de ser bloqueado. Somente os usuários aprovados na avaliação podem adquirir um cookie de isenção e ter acesso ao seu serviço.

O diagrama a seguir mostra como um desafio manual distingue se uma solicitação vem de um cliente humano ou automatizado:

Exemplo de redirecionamento para o reCAPTCHA.
Exemplo de redirecionamento para o reCAPTCHA (clique para ampliar)

Suponha que um usuário Maya e um bot estejam navegando na página de login (/login.html) no seu site (www.myapp.com). Para permitir o acesso ao Maya sem conceder acesso ao bot, use a regra a seguir para redirecionar a solicitação ao reCAPTCHA Enterprise para avaliação:

request.path.matches(\"/login.html\") => redirect, type=GOOGLE_RECAPTCHA

Na primeira vez que o usuário final acessa seu site, a solicitação é redirecionada para um serviço interno do Google reCAPTCHA Enterprise, que responde com uma página HTML com o JavaScript do reCAPTCHA Enterprise incorporado. Quando a página é renderizada, o JavaScript incorporado é executado para avaliar o usuário e atende aos desafios manuais, se necessário. Os usuários que passam na avaliação do reCAPTCHA Enterprise recebem um cookie de isenção, que é anexado automaticamente pelo navegador a cada uma das solicitações subsequentes ao mesmo site até que ele expire. Os usuários que não passam na avaliação não recebem um cookie de isenção. Nesse caso, somente o navegador Maya recebe um cookie de isenção. Solicitações com um cookie de isenção válido são isentas de redirecionamentos adicionais e, portanto, podem acessar seu site.

Aplicar avaliação do reCAPTCHA Enterprise

Quando há um token do reCAPTCHA Enterprise anexado a uma solicitação recebida, o Google Cloud Armor avalia a solicitação e aplica a ação configurada com base nos atributos individuais no token.

Tokens do reCAPTCHA Enterprise

O reCAPTCHA Enterprise emite dois tipos de tokens: tokens de ação e tokens de sessão. Ambos os tipos de token contêm atributos, incluindo uma pontuação de confiança que representa a probabilidade de um usuário ser humano.

Antes de configurar políticas de segurança para avaliar os tokens do reCAPTCHA Enterprise, você precisa optar por usar tokens de ação, tokens de sessão ou ambos. Recomendamos que você leia a documentação do reCAPTCHA Enterprise para informar sua decisão. Consulte a comparação de casos de uso do reCAPTCHA Enterprise para mais informações.

Depois de determinar qual tipo de token você quer usar, execute a implementação do reCAPTCHA Enterprise para que o token seja anexado com uma solicitação. Para informações sobre como implementar tokens no reCAPTCHA Enterprise, consulte Como implementar tokens de ação do reCAPTCHA Enterprise e Como implementar tokens de sessão do reCAPTCHA Enterprise.

Por fim, configure regras de segurança que o Google Cloud Armor usa para avaliar tokens reCAPTCHA Enterprise anexados à solicitação.

A figura a seguir demonstra o fluxo de aplicação de tokens reCAPTCHA Enterprise.

Fluxo de aplicação de token reCAPTCHA.
Fluxo de aplicação de token reCAPTCHA (clique para ampliar)

Redirecionar (resposta 302)

É possível usar uma ação de redirecionamento baseado em URL para redirecionar solicitações externamente para um endpoint diferente. Você fornece um destino de redirecionamento na forma de um URL, e o Google Cloud Armor redireciona a solicitação exibindo uma resposta 302 para o cliente.

Decorar solicitação

O Google Cloud Armor pode inserir cabeçalhos de solicitação personalizados antes de fazer o proxy das solicitações para seu aplicativo. Essa opção permite marcar solicitações suspeitas nos casos em que é possível realizar processamento ou análise alternativos. Esse parâmetro de ação precisa ser adicionado a uma ação existente, como allow.

A seguir