Como permitir um endereço IP legítimo ao usar a lista de reputação de IP ou a lista de IPs anônimos no AWS WAF?

Última atualização: 29/7/2022

Minhas solicitações legítimas estão sendo bloqueadas por um grupo de regras gerenciadas da lista de reputação de IP da Amazon ou por um grupo de regras gerenciadas da lista de IPs anônimos. Como permito meu endereço IP no AWS WAF?

Breve descrição

Solicitações legítimas podem ser bloqueadas por um dos seguintes grupos de regras gerenciadas pela AWS:

Para permitir um ou mais endereços IP específicos, use um dos seguintes métodos para resolver esse problema:

  • Instruções de escopo para reduzir o escopo das solicitações que a regra avalia. Escolha essa opção para abordar a lógica em um único grupo de regras.
  • Rótulos em solicitações da Web para permitir que uma regra que corresponde à solicitação comunique os resultados da correspondência para regras que são avaliadas posteriormente na mesma ACL da Web. Escolha essa opção para reutilizar a mesma lógica em diversas regras.

Resolução

Opção 1: como usar instruções de escopo reduzido

Primeiro, crie um conjunto de IPs.

  1. Abra o console do AWS WAF.
  2. No painel de navegação, escolha IP sets (Conjuntos de IPs) e depois Create IP set (Criar conjunto de IPs).
  3. Insira informações em IP set name (Nome do conjunto de IPs) e Description - optional (Descrição - opcional) para o conjunto de IPs. Por exemplo: MyTrustedIPs.
    Observação: não é possível alterar o nome do conjunto de IPs depois de criar o conjunto de IPs.
  4. Em Region (Região), escolha a região da AWS em que você deseja armazenar o conjunto de IPs. Para usar um conjunto de IPs em ACLs da Web que protegem distribuições do Amazon CloudFront, você deve usar Global (CloudFront).
  5. Para IP version (Versão do IP), escolha a versão que você deseja usar.
  6. Para IP addresses (Endereços IP), insira um endereço IP ou intervalo de endereços IP por linha que você deseja permitir, em notação CIDR.
    Observação: o AWS WAF é compatível com todos os intervalos CIDR IPv4 e IPv6, exceto /0.
    Exemplos:
    Para especificar o endereço IPv4 192.168.0.26, insira 192.168.0.26/32.
    Para especificar o endereço IPv6 0:0:0:0:0:ffff:c000:22c, insira 0:0:0:0:0:ffff:c000:22c/128.
    Para especificar o intervalo de endereços IPv4 de 192.168.20.0 a 192.168.20.255, insira 192.168.20.0/24.
    Para especificar o intervalo de endereços IPv6 de 2620:0:2d0:200:0:0:0:0 a 2620:0:2d0:200:ffff:ffff:ffff:ffff, insira 2620:0:2d0:200::/64.
  7. Revise as configurações do conjunto de IPs. Se corresponder às suas especificações, escolha Create IP set (Criar conjunto de IPs).

Em seguida, adicione uma declaração scope-down à regra gerenciada pela AWS específica que bloqueia suas solicitações.

  1. No painel de navegação, em AWS WAF, escolha Web ACLs (ACLs da Web).
  2. Em Region (Região), selecione a região da AWS em que você criou sua ACL da Web.
    Observação: selecione Global se a sua ACL da Web estiver configurada para o Amazon CloudFront.
  3. Selecione sua ACL da Web.
  4. Na guia Rules (Regras) da ACL da Web, escolha o grupo específico de regras gerenciadas da AWS que está bloqueando sua solicitação e, em seguida, escolha Edit (Editar).
  5. Para Scope-down statement - optional (Instrução Scope-down - opcional), escolha Enable scope-down statement (Habilitar instrução scope-down).
  6. Para If a request (Se uma solicitação), escolha doesn't match the statement (NOT) (não corresponde à instrução - NOT).
  7. Em Statement (Instrução), para Inspect (Inspecionar), escolha Originates from IP address in (Origina do endereço IP em).
  8. Para IP Set (Conjunto de IPs), escolha o conjunto de IPs que você criou anteriormente. Por exemplo: MyTrustedIPs.
  9. Para IP address to use as the originating address (Endereço IP seja usado como endereço de origem), escolha Source IP address (Endereço IP de origem).
  10. Escolha Save rule (Salvar regra).

Opção 2: usar rótulos em solicitações da Web

Primeiro, crie um conjunto de IPs.

  1. Abra o console do AWS WAF.
  2. No painel de navegação, escolha IP sets (Conjuntos de IPs) e depois Create IP set (Criar conjunto de IPs).
  3. Insira informações em IP set name (Nome do conjunto de IPs) e Description - optional (Descrição - opcional) para o conjunto de IPs. Por exemplo: MyTrustedIPs.
    Observação: não é possível alterar o nome do conjunto de IPs depois de criar o conjunto de IPs.
  4. Em Region (Região), escolha a região da AWS em que você deseja armazenar o conjunto de IPs. Para usar um conjunto de IPs em ACLs da Web que protegem distribuições do Amazon CloudFront, você deve usar Global (CloudFront).
  5. Para IP version (Versão do IP), escolha a versão que você deseja usar.
  6. Para IP addresses (Endereços IP), insira um endereço IP ou intervalo de endereços IP por linha que você deseja permitir, em notação CIDR.
    Observação: o AWS WAF é compatível com todos os intervalos CIDR IPv4 e IPv6, exceto /0.
    Exemplos:
    Para especificar o endereço IPv4 192.168.0.26, insira 192.168.0.26/32.
    Para especificar o endereço IPv6 0:0:0:0:0:ffff:c000:22c, insira 0:0:0:0:0:ffff:c000:22c/128.
    Para especificar o intervalo de endereços IPv4 de 192.168.20.0 a 192.168.20.255, insira 192.168.20.0/24.
    Para especificar o intervalo de endereços IPv6 de 2620:0:2d0:200:0:0:0:0 a 2620:0:2d0:200:ffff:ffff:ffff:ffff, insira 2620:0:2d0:200::/64.
  7. Revise as configurações do conjunto de IPs. Se corresponder às suas especificações, escolha Create IP set (Criar conjunto de IPs).

Em seguida, altere as ações da regra para contagem em um grupo de regras.

  1. Na guia Rules (Regras) da página de ACL da Web, selecione o grupo de regras gerenciadas pela AWS que está bloqueando sua solicitação e depois escolha Edit (Editar).
  2. Na seção Rules (Regras) do grupo de regras, siga um destes procedimentos:
    Para AWSManagedIPReputationList, ative Count (Contagem).
    Para AnonymousIPList Rule, ative Count (Contagem).
  3. Escolha Save rule (Salvar regra).

Por fim, crie uma regra com prioridade numérica mais alta que a Regra gerenciada pela AWS específica que está bloqueando a solicitação.

  1. No painel de navegação, em AWS WAF, escolha Web ACLs (ACLs da Web).
  2. Em Region (Região), escolha a região da AWS em que você criou sua ACL da Web.
    Observação:
    selecione Global se a sua ACL da Web estiver configurada para o Amazon CloudFront.
  3. Selecione sua ACL da Web.
  4. Escolha Rules (Regras).
  5. Escolha Add Rules (Adicionar regras) e depois escolha Add my own rules and rule groups (Adicionar minhas próprias regras e grupos de regras).
  6. Em Name (Nome), insira um nome de regra e escolha Regular Rule (Regra regular).
  7. Para If a request (Se uma solicitação), escolha matches all the statements (AND) (corresponde a todas as instruções (AND)).
  8. Em Statement 1 (Instrução 1):
    Para Inspect (Inspecionar), escolha Has a label (Tem um rótulo).
    Em Match scope (Escopo de correspondência), escolha Label (Rótulo).
    Para Match key (Chave de correspondência), selecione awswaf:managed:aws:amazon-ip-list:AWSManagedIPReputationList ou awswaf:managed:aws:anonymous-ip-list:AnonymousIPList com base em qual regra gerenciada estava bloqueando sua solicitação
  9. Em Statement 2 (Instrução 2):
    Para Negate statement (NOT) (Instrução de negação - NOT), escolha Negate statement results (Resultados da instrução de negação).
    Para Inspect (Inspecionar), escolha Originates from IP address in (Origina do endereço IP em).
    Para IP Set (Conjunto de IPs), escolha o conjunto de IPs que você criou anteriormente.
    Para IP address to use as the originating address (Endereço IP seja usado como endereço de origem), escolha Source IP address (Endereço IP de origem).
  10. Para Action (Ação), escolha Block (Bloquear).
  11. Escolha Add Rule (Adicionar regra).
  12. Para Set rule priority (Definir prioridade da regra), mova a regra para baixo da Regra gerenciada pela AWS que estava bloqueando a solicitação.
  13. Escolha Save (Salvar).

Importante: é uma prática recomendada testar regras em um ambiente de não produção com a opção Action (Ação) definida como Count (Contagem). Avalie a regra usando métricas do Amazon CloudWatch combinadas com solicitações por amostra do AWS WAF ou logs do AWS WAF. Quando estiver convencido de que a regra faz o que você deseja, altere a opção Action (Ação) para Block (Bloquear).