Recursos para integração com o Google Cloud Armor

Neste documento, você vai entender os recursos do reCAPTCHA para o Google Cloud Armor e determinar qual deles é mais adequado ao seu caso de uso.

O reCAPTCHA oferece os seguintes recursos que podem ser usados para integrar ao Google Cloud Armor:

Visão geral dos recursos

As integrações do reCAPTCHA para o Google Cloud Armor oferecem suporte a tokens de ação, tokens de sessão, página de teste e reCAPTCHA Express.

É possível usar um ou mais recursos do reCAPTCHA para Google Cloud Armor em um único aplicativo. Por exemplo, é possível aplicar um token de sessão a todas as páginas e, com base na pontuação do token de sessão, redirecionar solicitações suspeitas para a página de teste do reCAPTCHA. Além disso, é possível usar um token de ação para ações importantes, como a finalização de compra. Para mais informações, consulte os exemplos.

A tabela a seguir mostra uma breve comparação dos recursos disponíveis do reCAPTCHA para o Google Cloud Armor:

Categoria de comparação Tokens de ação reCAPTCHA Tokens de sessão reCAPTCHA Página de teste do reCAPTCHA reCAPTCHA express
Caso de uso Usado para proteger ações do usuário, como fazer login ou comentar postagens. Usado para proteger toda a sessão do usuário no domínio do site. Use quando você suspeitar de atividade de spam direcionada ao site e precisar filtrar bots.

Esse método interrompe a atividade do usuário porque ele precisa verificar um teste de CAPTCHA.

Use o reCAPTCHA Express quando seu ambiente não for compatível com a integração do JavaScript do reCAPTCHA ou dos SDKs para dispositivos móveis.
Plataformas compatíveis Sites e aplicativos para dispositivos móveis Sites Sites Todas as solicitações HTTP.

Incluindo: APIs, sites, aplicativos para dispositivos móveis e dispositivos IoT, como TVs e consoles de jogos

Esforço de integração do cliente Média

Integração manual do lado do cliente.

Média

Instale o JavaScript do reCAPTCHA manualmente ou por injeção no WAF.

Baixa

Interstitial acionado por políticas de segurança.

Baixa

Sem integração de cliente.

Precisão da detecção Maior

Há indicadores específicos de cliente, servidor e ação disponíveis.

Alta

Há indicadores específicos do cliente e do servidor disponíveis.

Média

Há indicadores específicos do cliente e do servidor disponíveis. Os indicadores do cliente só estão disponíveis em uma página intersticial.

Baixa

Somente indicadores do lado do servidor estão disponíveis.

Versão compatível do reCAPTCHA Chaves reCAPTCHA baseadas em pontuação e com caixa de seleção Chaves reCAPTCHA baseadas em pontuação Chaves baseadas em desafio do reCAPTCHA incorporadas em uma página intersticial Chaves expressas do reCAPTCHA

Tokens de ação reCAPTCHA

É possível usar tokens de ação reCAPTCHA para proteger interações importantes do usuário, como a finalização da compra em páginas da Web e apps para dispositivos móveis.

O fluxo de trabalho de tokens de ação do reCAPTCHA consiste nas seguintes etapas:

  1. Quando um usuário final aciona uma ação protegida pelo reCAPTCHA, a página da Web ou o aplicativo móvel envia sinais que são coletados no navegador para análise pelo reCAPTCHA.
  2. O reCAPTCHA envia um token de ação para a página da Web ou o aplicativo para dispositivos móveis.
  3. Anexe esse token de ação ao cabeçalho da solicitação que você quer proteger.
  4. Quando o usuário final solicita acesso com o token de ação, o Google Cloud Armor decodifica e valida os atributos do token de ação em vez do aplicativo de back-end.
  5. O Google Cloud Armor aplica ações com base nas regras de política de segurança configuradas.

O diagrama de sequência a seguir mostra o fluxo de trabalho dos tokens de ação reCAPTCHA para sites:

O diagrama de sequência a seguir mostra o fluxo de trabalho dos tokens de ação reCAPTCHA para aplicativos móveis:

Tokens de sessão reCAPTCHA

Use tokens de sessão reCAPTCHA quando quiser proteger toda a sessão do usuário no domínio do site. Um token de sessão permite reutilizar uma teste reCAPTCHA por um período especificado. Assim, nenhuma outra avaliação é necessária para um usuário específico, o que reduz o atrito do usuário e o total de chamadas do reCAPTCHA necessárias.

Para permitir que o reCAPTCHA aprenda sobre o padrão de navegação dos usuários finais, recomendamos usar um token de sessão reCAPTCHA em todas as páginas da Web do site.

O fluxo de trabalho de tokens de sessão reCAPTCHA consiste nas seguintes etapas:

  1. O navegador carrega o JavaScript reCAPTCHA do reCAPTCHA.
  2. O reCAPTCHA JavaScript define um token de sessão como um cookie no navegador do usuário final após a avaliação.
  3. O navegador do usuário final armazena o cookie, e o JavaScript reCAPTCHA o atualiza a cada 30 minutos, desde que o JavaScript do reCAPTCHA permaneça ativo.
  4. Quando o usuário solicita acesso com o cookie, o Google Cloud Armor valida esse cookie e aplica ações com base nas regras da política de segurança.

O diagrama de sequência a seguir mostra o fluxo de trabalho dos tokens de sessão reCAPTCHA:

Página de teste do reCAPTCHA

Use o recurso página de teste do reCAPTCHA para redirecionar solicitações recebidas no reCAPTCHA e determinar se cada solicitação é potencialmente fraudulenta ou legítima.

Essa aplicação de um redirecionamento e um possível teste de CAPTCHA interrompem a atividade do usuário. Recomendamos usar isso para filtrar bots quando suspeitar de atividade de spam direcionada ao site.

Quando um usuário final (usuário) acessa o site pela primeira vez, os seguintes eventos acontecem:

  1. Na camada do Google Cloud Armor, a solicitação do usuário é redirecionada para a página de teste do reCAPTCHA.
  2. O reCAPTCHA responde com uma página HTML incorporada ao reCAPTCHA JavaScript.
  3. Quando a página de teste é renderizada, o reCAPTCHA avalia a interação do usuário. Se necessário, o reCAPTCHA veicula um teste de CAPTCHA para o usuário.
  4. Dependendo do resultado da avaliação, o reCAPTCHA realizará as seguintes ações:

    1. Se a interação do usuário for aprovada na avaliação, o reCAPTCHA emitirá um cookie de isenção. O navegador anexa esse cookie de isenção às solicitações subsequentes do usuário no site até que o cookie expire. Por padrão, o cookie de isenção expira após três horas.
    2. Se a interação do usuário não for aprovada na avaliação, o reCAPTCHA não emitirá um cookie de isenção.
  5. O reCAPTCHA atualiza a página da Web com o cookie de isenção se o usuário acessar a página da Web usando uma chamada GET/HEAD. Se o usuário acessar a página da Web usando uma chamada POST/PUT, o usuário precisará clicar no link de atualização da página.

  6. O Google Cloud Armor isenta as solicitações que têm um cookie de isenção válido de serem redirecionadas novamente e concede acesso ao site.

O diagrama de sequência a seguir mostra o fluxo de trabalho da página de teste do reCAPTCHA:

A seguir