Recursos para integração com um provedor de serviços de WAF

Neste documento, você vai entender os recursos do reCAPTCHA para WAF e determinar qual deles corresponde melhor ao seu caso de uso.

O reCAPTCHA para WAF oferece os seguintes recursos que podem ser usados para integrar com um provedor de serviços de firewall de aplicativos da Web (WAF):

Visão geral dos recursos

As integrações do reCAPTCHA para WAF 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 WAF 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 WAF:

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 teste 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 coletados no navegador para o reCAPTCHA para análise.
  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 plug-in do WAF decodifica e valida os atributos do token de ação em vez do aplicativo de back-end.
  5. O plug-in WAF aplica ações com base nas regras de política de segurança ou de firewall configuradas, conforme aplicável.

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

Google Cloud Armor

Provedor de serviços de WAF terceirizado

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 plug-in WAF valida esse cookie e aplica ações com base nas regras da política de segurança ou de firewall.

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

Google Cloud Armor

Plug-in WAF de terceiros

Página de teste do reCAPTCHA

Use o recurso de 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 WAF, a solicitação do usuário é redirecionada para a página de desafio 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 plug-in WAF 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:

Google Cloud Armor

Provedor de serviços de WAF terceirizado

reCAPTCHA Express para WAF

Você pode usar o reCAPTCHA Express para proteger seus aplicativos em um ambiente que não oferece suporte à execução de JavaScript do reCAPTCHA ou SDKs para dispositivos móveis integrados, por exemplo, dispositivos IoT e set-top boxes. É possível integrar o reCAPTCHA Express com um provedor de serviços WAF do reCAPTCHA ou em um ambiente independente em um servidor de aplicativos.

O reCAPTCHA Express usa apenas indicadores de back-end para gerar uma pontuação de risco do reCAPTCHA, o que resulta em uma precisão de detecção menor do que as integrações que envolvem um componente do lado do cliente. Você pode usar essa pontuação para avaliar qualquer solicitação HTTP.

O fluxo de trabalho do reCAPTCHA Express consiste nas seguintes etapas:

  1. Quando um usuário solicita acesso a uma página da Web, o plug-in do WAF envia uma solicitação para criar uma avaliação.
  2. O reCAPTCHA avalia a interação do usuário e retorna uma pontuação de risco.
  3. Com base na pontuação de risco, o plug-in WAF do reCAPTCHA ou o servidor de aplicativos permite ou bloqueia o acesso.

O diagrama de sequência a seguir mostra o fluxo de trabalho do reCAPTCHA Express:

A seguir