Quero usar o AWS WAF para me proteger contra ataques de login de força bruta.
Resolução
Os seguintes recursos do AWS WAF ajudam a evitar ataques de login por força bruta:
- Regras baseadas em taxas
- Quebra-cabeças CAPTCHA
- Grupo de regras gerenciado de prevenção contra apropriação de contas (ATP) do AWS WAF
- Automações de segurança para o AWS WAF
Regras baseadas em taxas
Para bloquear solicitações quando a taxa de solicitação for maior do que a esperada, crie uma instrução de regra baseada em taxas. Para estabelecer o limite para uma regra baseada em taxas, ative o registro em log do AWS WAF. Em seguida, dependendo do destino do log, use o Amazon Athena ou o Amazon CloudWatch Log Insights para analisar seus logs.
Também é possível criar uma declaração de regra baseada em taxa específica para um caminho de URI, como /login. Os ataques de força bruta geralmente têm como alvo as páginas de login para obter acesso às credenciais da conta. Páginas diferentes em um site podem receber taxas diferentes de solicitações. Por exemplo, uma página inicial pode receber uma taxa maior de tráfego em comparação com uma página de login.
Depois de estabelecer um limite, use a seguinte declaração de escopo reduzido para criar uma declaração de regra baseada em taxas que seja específica para sua página de login:
- Em Solicitação de inspeção, escolha o caminho do URI.
- Em Tipo de correspondência, escolha Começa com string.
- Para que a string corresponda, escolha /login.
Quebra-cabeças CAPTCHA
Os quebra-cabeças CAPTCHA podem ajudar a evitar os seguintes ataques:
- Ataques de força bruta de bots
- Preenchimento de credenciais
- Captura de dados na web
- Solicitações de spam para servidores
Quando você cria uma regra com a ação CAPTCHA, os usuários devem primeiro preencher o CAPTCHA antes de fazer login.
Para configurar o CAPTCHA em sua página de login, use a seguinte configuração de regras:
- Em Inspecionar, escolha o caminho do URI.
- Em Tipo de correspondência, escolha Começa com string.
- Para que a string corresponda, escolha /login.
- Em Ação, escolha CAPTCHA.
- Para Tempo de imunidade, escolha Tempo em segundos.
Observação: para ajudar a evitar ataques de força bruta de um humano, defina um tempo de imunidade baixo.
Para obter mais informações, consulte Práticas recomendadas para usar as ações CAPTCHA e Challenge.
Grupo de regras gerenciado pelo ATP
Para inspecionar solicitações maliciosas que tentam controlar sua conta, use o grupo de regras gerenciadas ATP. Por exemplo, ataques de login de força bruta podem usar tentativa e erro para adivinhar credenciais e obter acesso não autorizado à sua conta.
O grupo de regras gerenciadas ATP contém regras predefinidas que fornecem visibilidade e controle sobre solicitações inesperadas e tentativas de login.
Para inspecionar solicitações, use o seguinte subconjunto de regras no grupo de regras gerenciadas do ATP:
- VolumetricIpHigh: Altos volumes de solicitações enviadas por endereços IP individuais.
- AttributePasswordTraversal: Tentativas que usam travessia de senha.
- AttributeLongSession: Tentativas que usam sessões de longa duração.
- AttributeUsernameTraversal: Tentativas que usam travessia de nome de usuário.
- VolumetricSession: Grandes volumes de solicitações enviadas por sessões individuais.
- MissingCredential: Credenciais que estão faltando.
Para obter mais informações, consulte a lista de regras de prevenção de aquisição de contas.
Automações de segurança para o AWS WAF
Para usar um modelo do AWS CloudFormation para implantar uma lista de controle de acesso à web (ACL da web) com um conjunto de regras, execute automações de segurança para o AWS WAF.
Quando um usuário não autorizado tenta adivinhar as credenciais corretas, ele recebe uma resposta de erro, como 401 Unauthorized. A regra de scanners e sondas bloqueia solicitações de um endereço IP que recebe continuamente um código de resposta específico. Quando você ativa essa regra, o Security Automations for AWS WAF implanta uma consulta do AWS Lambda ou do Athena que verifica os logs em busca de códigos de resposta HTTP. Defina um limite para quantas vezes uma solicitação pode receber o mesmo código de erro e por quanto tempo a regra bloqueia solicitações que excedem o limite.
Informações relacionadas
Usando declarações de regras baseadas em taxas no AWS WAF