Perguntas frequentes sobre o AWS WAF

Geral

O AWS WAF é um firewall de aplicações Web que ajuda a proteger aplicações Web de ataques por meio da configuração de regras que permitem, bloqueiam ou monitoram (contagem) solicitações da Web de acordo com condições que você mesmo define. Essas condições incluem endereços IP, cabeçalhos e corpo HTTP, strings de URI, injeção de SQL e cross-site scripting.

À media que o serviço subjacente recebe solicitações para os sites, ele envia essas solicitações ao AWS WAF para verificar o cumprimento das regras. Quando uma solicitação cumpre uma condição definida nas regras, o AWS WAF instrui o serviço subjacente para bloquear ou permitir a solicitação, de acordo com a ação definida para a condição.

O AWS WAF é estreitamente integrado ao Amazon CloudFront, Application Load Balancer (ALB), Amazon API Gateway e AWS AppSync, serviços normalmente usados pelos clientes da AWS para entregar conteúdo para sites e aplicações. Quando você usa o AWS WAF no Amazon CloudFront, suas regras são executadas em todos os pontos de presença da AWS, localizadas em todo o mundo e próximas dos seus usuários finais. Isso significa que a segurança não prejudica a performance. As solicitações bloqueadas são interrompidas antes de elas atingirem os seus servidores da web. Ao usar o AWS WAF em serviços regionais, como o Application Load Balancer, Amazon API Gateway e AWS AppSync, as regras são executadas na região e podem ser usadas para proteger tanto recursos voltados para a Internet quanto aqueles internos.

Sim, o AWS WAF está integrado com o Amazon CloudFront, que comporta origens personalizadas fora da AWS.

O AWS WAF ajuda a proteger o seu site de técnicas de ataque comuns, como a injeção de SQL e o cross-site scripting (XSS). Além disso, você pode criar regras que podem bloquear ou limitar a taxa de tráfego de agentes de usuário específicos, de endereços IP específicos ou que contenham cabeçalhos de solicitação específicos. Consulte o Guia do desenvolvedor do AWS WAF para ver exemplos.

O AWS WAF Bot Control oferece visibilidade e controle sobre o tráfego de bot comum e difundido para suas aplicações. Com o Bot Control, você pode facilmente monitorar, bloquear ou limitar a taxa de bots generalizados, como scrapers, scanners e crawlers e pode permitir bots comuns, como monitores de status e mecanismos de pesquisa. Você pode usar o grupo de regras gerenciadas do Bot Control juntamente com outras regras gerenciadas para o WAF ou com suas próprias regras personalizadas do WAF para proteger suas aplicações. Consulte a seção AWS WAF Bot Control no guia do desenvolvedor.

Sim. Para receber um histórico das chamadas de API do AWS WAF realizadas na sua conta, basta ativar o AWS CloudTrail no Console de Gerenciamento da AWS do CloudTrail. Para obter mais informações, acesse a página inicial do AWS CloudTrail ou consulte o Guia do desenvolvedor do AWS WAF.

Sim. A compatibilidade com o IPv6 permite que o AWS WAF inspecione solicitações HTTP/S recebidas de endereços IPv6 e IPv4.

Sim. É possível configurar novas condições de correspondência IPv6 para WebACLs novos e existentes, conforme consta na nossa documentação.

Sim. As solicitações de exemplo mostrarão o endereço IPv6 onde for aplicável.

Sim. Você poderá usar todos os recursos atuais para o tráfego via IPv6 e IPv4 sem nenhuma mudança aparente no desempenho, na escalabilidade ou na disponibilidade do serviço.

O AWS WAF pode ser implantado nos serviços Amazon CloudFront, Application Load Balancer (ALB), Amazon API Gateway e AWS AppSync. Como parte do Amazon CloudFront, o AWS WAF pode integrar uma Content Distribution Network (CDN – Rede de distribuição de conteúdo), protegendo recursos e conteúdo em pontos de presença. Como parte do Application Load Balancer, ele pode proteger servidores web de origem executados por trás de ALBs. Como parte do Amazon API Gateway, ele pode ajudar a proteger APIs REST. Como parte do AWS AppSync, isso pode ajudar na proteção e segurança das suas APIs GraphQL.

Consulte a tabela Serviços das regiões da AWS.

Sim. A AWS expandiu seu programa de conformidade com a HIPAA para incluir o AWS WAF como um serviço qualificado pela HIPAA. Se você assinou um acordo de associado comercial (BAA) com a AWS, poderá usar o AWS WAF para proteger aplicativos web contra exploits de web comuns. Para mais informações, consulte Conformidade com a HIPAA.

A cobrança do AWS WAF é feita com base no número de listas de controle de acesso da web (ACLs da web) criadas, no número de regras adicionadas para cada ACL da web e no número de solicitações da web recebidas. Não há compromissos antecipados. As cobranças do AWS WAF se somam ao preço do Amazon CloudFront, aopreço do Application Load Balancer (ALB), ao preço do Amazon API Gateway e ao preço do AWS AppSync.

As regras baseadas em taxa são um tipo de regra que pode ser configurado no AWS WAF, permitindo especificar o número de solicitações Web permitidas por um IP de cliente em um período rotativo e continuamente atualizado de cinco minutos. Se um endereço IP exceder o limite configurado, novas solicitações serão bloqueadas até que a taxa caia abaixo desse limite.

As regras baseadas em taxa são semelhantes às regras normais, mas podem configurar um limite baseado em taxa. Por exemplo, se um limite da regra baseada em taxa for definido como, digamos, 2.000, a regra bloqueará todos os IPs que fizeram mais de 2.000 solicitações nos últimos cinco minutos. Uma regra baseada em taxa também pode conter qualquer outra condição do AWS WAF disponível para uma regra normal.

Uma regra baseada em taxa custa o mesmo que uma regra normal do AWS WAF, ou seja, 1 USD por regra por WebACL por mês

Veja a seguir alguns casos de uso comuns que podem ser abordados com regras baseadas em taxa:

  • Quero bloquear ou contar um endereço IP quando ele exceder a taxa de limite configurada (definida como solicitações Web nos últimos cinco minutos)
  • Quero saber quais endereços IP estão sendo bloqueados por excederem a taxa limite configurada
  • Quero que endereços IP bloqueados sejam removidos automaticamente quando deixarem de exceder a taxa limite configurada
  • Quero isentar alguns intervalos IP de origem com alto tráfego de serem bloqueados por regras baseadas em taxa

Sim. As regras baseadas em taxa são compatíveis com as condições de correspondência atuais do AWS WAF. Assim, você pode refinar ainda mais os critérios de correspondência e limitar as mitigações baseadas em taxa a URLs específicos do site ou ao tráfego oriundo de indicadores (ou agentes de usuário) específicos, bem como adicionar outros critérios de correspondência personalizados.

Sim. Esse novo tipo de regra foi criado para proteger contra casos de uso como ataques DDoS na camada web, tentativas de login por força bruta e bots mal-intencionados.

As regras baseadas em taxa oferecem suporte a todos os recursos de visibilidade disponíveis atualmente nas regras normais do AWS WAF. Além disso, elas têm visibilidade dos endereços IP bloqueados como resultado da regra baseada em taxa.

Sim. Veja um exemplo a seguir. Suponha que você queira limitar as solicitações na página de login em um site. Para fazer isso, você precisa adicionar a seguinte condição de correspondência de string a uma regra baseada em taxa:

  • A parte da solicitação que deve ser filtrada é "URI".
  • O tipo de correspondência é "Starts with".
  • O valor a ser correspondido é "/login" (algo que identifique a página de login na parte do URI da solicitação web)

Além disso, você pode especificar um limite de taxa de, por exemplo, 15.000 solicitações por cinco minutos. A adição dessa regra baseada em taxa a uma lista de controle de acesso web limitará as solicitações na página de login por endereço IP sem afetar o resto do site.

Sim. É possível fazer isso ao ter uma condição de correspondência de IP separada que autorize a solicitação dentro da regra baseada em taxas.

A precisão do endereço IP para o banco de dados de pesquisa do país varia por região. Com base em testes recentes, nossa precisão geral do endereço IP para mapeamento de país é de 99,8%.

Regras gerenciadas para o AWS WAF

As regras gerenciadas são uma maneira fácil de implantar regras pré-configuradas para proteger aplicações contra ameaças comuns como OWASP, bots, vulnerabilidades e exposições comuns (CVE) e outras vulnerabilidades de aplicações. As regras gerenciadas da AWS para o AWS WAF são gerenciadas pela AWS, e as regras gerenciadas do AWS Marketplace são gerenciadas por provedores de segurança de terceiros.

Você pode assinar uma regra gerenciada disponibilizada por um fornecedor de segurança do Marketplace no console do AWS WAF ou no AWS Marketplace. Todas as regras gerenciadas serão disponibilizadas para adição a uma ACL da web do AWS WAF.

Sim. Você pode usar regras gerenciadas juntamente com suas regras personalizadas do AWS WAF. Você pode adicionar regras gerenciadas a uma ACL da web do AWS WAF existente, à qual você talvez já tenha adicionado suas próprias regras.

O número de regras dentro de uma regra gerenciada não é contado no cálculo de limite. Contudo, cada regra gerenciada adicionada a uma ACL da Web contará como uma regra.

Você pode adicionar uma regra gerenciada a uma ACL da Web ou removê-la da ACL da Web a qualquer momento. As regras gerenciadas serão desabilitadas quando você desassociar uma regra gerenciada de qualquer ACL da web.

O AWS WAF permite que você configure uma ação de “contagem” para uma regra gerenciada. Essa ação conta o número de solicitações da Web que correspondem às regras dentro da regra gerenciada. Você pode ver o número de solicitações da web contadas para estimar quantas solicitações da web serão bloqueadas se você ativar a regra gerenciada.

Configuração do AWS WAF

Sim, você pode configurar o CloudFront para que ele apresente uma página de erros personalizada quando as solicitações forem bloqueadas. Consulte o Guia do desenvolvedor do CloudFront para obter mais informações

Após a configuração inicial, a adição ou alteração de regras geralmente leva cerca de um minuto para que seja propagada no mundo inteiro.

O AWS WAF inclui duas maneiras diferentes de verificar como o seu site está sendo protegido: métricas de um minuto são disponibilizadas no CloudWatch e exemplos de solicitações da Web são disponibilizados na API ou no console de gerenciamento do AWS WAF. Essas opções permitem que você veja quais solicitações foram bloqueadas, permitidas ou contadas, e qual regra foi utilizada em uma determinada solicitação (por exemplo, esta solicitação da web foi bloqueada devido a uma condição de endereço IP, etc.). Para obter mais informações, consulte o Guia do desenvolvedor do AWS WAF.

O AWS WAF permite que você configure uma ação de “contagem” para as regras, a qual conta o número de solicitações da Web que atenderam às suas condições de regra. Você pode ver o número de solicitações da web contadas para estimar quantas solicitações da web seriam bloqueadas ou permitidas, caso você ative a regra.

As métricas em tempo real são armazenadas no Amazon CloudWatch. O Amazon CloudWatch permite configurar o período em que você deseja que os eventos expirem. Os exemplos de solicitações da Web são armazenados por até 3 horas.

Sim. O AWS WAF ajuda a proteger aplicações e pode inspecionar solicitações da web transmitidas por HTTP ou HTTPS.

Controle de fraude do AWS WAF | Account Takeover Prevention

O Account Takeover Prevention (ATP) é um grupo de regras gerenciadas que monitora o tráfego para a página de login da sua aplicação com a finalidade de detectar acesso não autorizado a contas de usuário usando credenciais comprometidas. Você pode usar o ATP para evitar ataques de stuffing de credenciais, tentativas de login de força bruta e outras atividades de login anômalas. À medida que são feitas tentativas de login em sua aplicação, o ATP verifica em tempo real se os nomes de usuário e as senhas enviados foram comprometidos em outro lugar na Web. Ao verificar as tentativas de login anômalas provenientes de agentes mal-intencionados, o ATP correlaciona solicitações vistas ao longo do tempo para ajudar você a detectar e mitigar tentativas de força bruta e ataques de stuffing de credenciais. O ATP também oferece JavaScript e iOS/Android SDKs que podem ser integrados à sua aplicação para fornecer a você telemetria adicional em dispositivos de usuários que tentam fazer login em sua aplicação para protegê-la melhor contra tentativas de login automatizadas por bots.

O tráfego entre os dispositivos do usuário e sua aplicação é protegido pelo protocolo SSL/TLS que você configura para o serviço da AWS usado para fazer frente à aplicação, como o Amazon CloudFront, Application Load Balancer, Amazon API Gateway ou AWS AppSync. Depois que uma credencial de usuário chega ao AWS WAF, o AWS WAF a inspeciona e, em seguida, faz o hash e a descarta imediatamente, e a credencial nunca sai da rede da AWS. Qualquer comunicação entre os serviços da AWS que você usa em sua aplicação e o AWS WAF é criptografada em trânsito e em repouso.

O Bot Control oferece a você a visibilidade e o controle sobre o tráfego de bot comum e difundido que pode consumir recursos, distorcer métricas, causar tempo de inatividade e realizar outras atividades indesejadas. O Bot Control verifica vários campos de cabeçalho e propriedades de solicitação em relação a assinaturas de bot conhecidas para detectar e categorizar bots automatizados, como scrapers, scanners e crawlers.

O Account Takeover Prevention (ATP) oferece visibilidade e controle sobre tentativas de login anômalas de agentes mal-intencionados usando credenciais comprometidas, ajudando você a evitar acesso não autorizado que pode levar a atividades fraudulentas. O ATP é usado para proteger a página de login da sua aplicação.

O Bot Control e o ATP podem ser usados de forma independente ou juntos. Assim como nos grupos de regras gerenciadas do Bot Control, você pode usar a ação de regra padrão do ATP para bloquear solicitações correspondentes, ou pode personalizar o comportamento do ATP usando a funcionalidade de mitigação do AWS WAF.

No console do AWS WAF, crie uma nova ACL da Web ou modifique uma ACL da Web existente, se você já estiver usando o AWS WAF. Você pode usar o assistente para ajudar a definir as configurações básicas, como qual recurso quer proteger e quais regras adicionar. Quando receber uma solicitação para adicionar regras, selecione Adicionar regras gerenciadas e, em seguida, Prevenção de fraudes na criação de contas na lista de regras gerenciadas. Para configurar o ATP, insira o URL da página de login da aplicação e indique onde os campos dos formulários de nome de usuário e senha estão localizados no corpo da solicitação.

O JavaScript e Mobile SDKs oferecem telemetria adicional em dispositivos que tentam fazer login em sua aplicação para protegê-la melhor contra tentativas de login automatizadas por bots. Você não precisa usar um dos SDKs, mas recomendamos que faça isso para proteção adicional.

Quando o ATP determina que a credencial de um usuário foi comprometida, ele gera um rótulo para indicar uma correspondência. Por padrão, o AWS WAF bloqueia automaticamente as tentativas de login que são determinadas como mal-intencionadas ou anômalas (por exemplo, níveis anormais de tentativas de login com falha, reincidências e tentativas de login de bots). Você pode alterar como o AWS WAF responde às correspondências escrevendo regras do AWS WAF que atuam no rótulo.

Controle de fraude do AWS WAF | Prevenção de fraudes na criação de contas

A Prevenção de fraudes na criação de contas (ACFP) é um grupo de regras gerenciadas pagas que permite detectar e reduzir ataques de criação de contas falsas contra sua página de inscrição ou registro. Você pode usar o ACFP para evitar abusos promocionais ou de inscrição, de fidelidade ou de recompensas e phishing. À medida que novas inscrições de contas são feitas, o ACFP verifica cada credencial (ou seja, nome de usuário e senha) enviada, domínios de e-mail usados e outras informações, como números de telefone e campos de endereço inseridos em tempo real, e bloqueia a tentativa de inscrição se alguma dessas informações for considerada roubada ou tiver má reputação. Além disso, o ACFP inclui previsões de risco de fraude que você pode usar sem exigir nenhum conhecimento profundo dos modelos de detecção baseados em ML. O ACFP também oferece SDKs recomendados para JavaScript e iOS/Android que podem ser integrados à aplicação para fornecer telemetria adicional sobre o usuário para proteger melhor a aplicação contra tentativas automatizadas de login por bots.

A Aquisição de Contas ataca a página de login de uma aplicação com o objetivo de obter acesso não autorizado a uma conta existente, enquanto a fraude na criação de contas atinge a página de inscrição da aplicação com o objetivo de cometer fraudes por meio dessas contas falsas. O ATP está focado em evitar o preenchimento de credenciais e ataques de força bruta, em que os invasores automatizam centenas de tentativas de login, testando credenciais roubadas em vários sites. Em vez disso, o ACFP se concentra na prevenção de fraudes automatizadas, como abuso promocional ou de inscrição, de fidelidade ou de recompensas e phishing. O ACFP e o ATP podem ser usados de forma independente ou juntos.

No console do AWS WAF, crie uma nova ACL da Web ou modifique uma ACL da Web existente, se você já estiver usando o AWS WAF. Você pode usar o assistente para ajudar a definir as configurações básicas, como qual recurso quer proteger e quais regras adicionar. Quando receber uma solicitação para adicionar regras, selecione Adicionar regras gerenciadas e, em seguida, Account Takeover Prevention na lista de regras gerenciadas. Para configurar o ACFP, insira o URL da página de criação e registro da conta da sua aplicação. Além disso, você também pode indicar onde os campos do formulário de nome de usuário, senha, endereço e número de telefone estão localizados no corpo da solicitação.

Opcional, mas altamente recomendado. A integração do SDK fornece informações adicionais, como versões do navegador, plug-ins e dados de tela, que aumentam a eficácia das regras do ACP. Se a integração do SDK não for usada, aplicaremos isso usando a ação Desafio. A ação Desafio não funciona bem com Aplicações de página única (SPA) e aplicações móveis nativas, portanto, para essas aplicações, a integração do SDK é obrigatória. Para outras aplicações que podem suportar uma atualização de página, como páginas HTML, a integração com o SDK é opcional. Oferecemos suporte ao SDK JS para aplicações da Web e ao SDK para Android e iOS para aplicações móveis nativas.

Você pode observar como o ACFP está protegendo a aplicação analisando o Painel de Fraude no console, o registro completo do WAF e as métricas do CloudWatch.

Painel: um painel centralizado para monitorar solicitações analisadas pelas métricas do CloudWatch do ACFP e do ATP: todas as ações de regras com o grupo de regras do ACFP emitirão métricas do CloudWatch que os clientes podem usar para criar alertas e notificações.

Registro em log do WAF: todas as solicitações analisadas pelo ACFP serão registradas em logs no WAF para que você possa usar as soluções de registro em log existentes para consultar e analisar os logs da regra gerenciada do ACFP. O ACFP registrará detalhes como ações de regras, informações do rótulo e pontuação de risco, que podem ser usados para rastrear a eficácia do ACFP.