Comportamento de ações CAPTCHA e Challenge - Administrador de segurança da rede do AWS WAF, AWS Firewall Manager, AWS Shield Advanced e AWS Shield

Apresentação de uma nova experiência de console para o AWS WAF

Agora você pode usar a experiência atualizada para acessar a funcionalidade do AWS WAF em qualquer lugar no console. Consulte mais detalhes em Trabalhar com a experiência atualizada do console.

Comportamento de ações CAPTCHA e Challenge

Esta seção explica o que as ações CAPTCHA e Challenge fazem.

Quando uma solicitação da web corresponde aos critérios de inspeção de uma regra com ação CAPTCHA ou Challenge, o AWS WAF determina como lidar com a solicitação de acordo com o estado do token e a configuração do tempo de imunidade. O AWS WAF também considera se a solicitação pode lidar com as intersticiais do quebra-cabeça CAPTCHA ou do script de desafio. Os scripts foram projetados para serem tratados como conteúdo HTML e só podem ser tratados adequadamente por um cliente que espera conteúdo HTML.

nota

São cobradas taxas adicionais quando você usa a ação de regra CAPTCHA ou Challenge em uma de suas regras ou como uma substituição de ação de regra em um grupo de regras. Para obter mais informações, consulte Preços do AWS WAF.

Como a ação lida com a solicitação da web

O AWS WAF aplica a ação CAPTCHA ou Challenge a uma solicitação da web da seguinte forma:

  • Token válido: o AWS WAF trata isso de forma semelhante a uma ação Count. O AWS WAF aplica todos os rótulos e personalizações de solicitação que você configurou para a ação da regra e depois continua avaliando a solicitação usando as demais regras do pacote de proteção (ACL da Web).

  • Token ausente, inválido ou expirado: o AWS WAF interrompe a avaliação do pacote de proteção (ACL da Web) da solicitação e impede que ela vá para o destino pretendido.

    O AWS WAF gera uma resposta que ele retorna ao cliente, conforme o tipo de ação de regra:

    • Challenge – AWS WAF inclui o seguinte na resposta:

      • O cabeçalho x-amzn-waf-action com um valor de challenge.

        nota

        Para aplicações Javascript em execução no navegador do cliente, esse cabeçalho só está disponível no domínio da aplicação. O cabeçalho não está disponível para recuperação entre domínios. Para obter detalhes, consulte a seção a seguir.

      • Código de status do HTTP 202 Request Accepted.

      • Se a solicitação contiver um cabeçalho Accept com um valor de text/html, a resposta incluirá uma página intersticial JavaScript com um script de desafio.

    • CAPTCHA – AWS WAF inclui o seguinte na resposta:

      • O cabeçalho x-amzn-waf-action com um valor de captcha.

        nota

        Para aplicações Javascript em execução no navegador do cliente, esse cabeçalho só está disponível no domínio da aplicação. O cabeçalho não está disponível para recuperação entre domínios. Para obter detalhes, consulte a seção a seguir.

      • Código de status do HTTP 405 Method Not Allowed.

      • Se a solicitação contiver um cabeçalho Accept com um valor de text/html, a resposta incluirá uma intersticial JavaScript com um script de desafio.

Para configurar a hora de expiração do token no nível do pacote de proteção (ACL da Web) ou da regra, consulte Como configurar a expiração de timestamps e tempos de imunidade de token no AWS WAF.

Os cabeçalhos não estão disponíveis para aplicativos JavaScript executados no navegador do cliente

Quando o AWS WAF responde a uma solicitação do cliente com um CAPTCHA ou uma resposta de desafio, ele não inclui cabeçalhos de compartilhamento de recursos de origem cruzada (CORS). Os cabeçalhos CORS são um conjunto de cabeçalhos de controle de acesso que informam ao navegador do cliente quais domínios, métodos HTTP e cabeçalhos HTTP podem ser usados por aplicativos JavaScript. Sem cabeçalhos CORS, os aplicativos JavaScript executados em um navegador cliente não têm acesso aos cabeçalhos HTTP e, portanto, não conseguem ler o cabeçalho x-amzn-waf-action fornecido nas respostas CAPTCHA e Challenge.

O que o desafio e as intersticiais CAPTCHA fazem

Quando uma intersticial de desafio é executada, depois que o cliente responde com sucesso, se ele ainda não tiver um token, a intersticial inicializa um para ele. Em seguida, ela atualiza o token com o timestamp de resolução do desafio.

Quando uma intersticial CAPTCHA é executada, se o cliente ainda não tiver um token, a intersticial CAPTCHA invoca primeiro o script de desafio para desafiar o navegador e inicializar o token. Em seguida, a intersticial executa seu quebra-cabeça CAPTCHA. Quando o usuário final conclui o quebra-cabeça com sucesso, a intersticial atualiza o token com o timestamp de resolução do CAPTCHA.

Em ambos os casos, depois que o cliente responde com sucesso e o script atualiza o token, o script reenvia a solicitação web original usando o token atualizado.

Você pode configurar como o AWS WAF trata os tokens. Para mais informações, consulte Uso de tokens na mitigação de ameaças inteligentes do AWS WAF.