Como aplicar um limite de taxa a um parâmetro de solicitação ou URI específico no AWS WAF?

6 minuto de leitura
0

Como aplicar um limite de taxa a um parâmetro de solicitação ou URI específico no AWS WAF?

Breve descrição

O AWS WAF tem regras baseadas em taxas que rastreiam a taxa de solicitações de cada endereço IP de origem. Essas regras iniciam a ação de regra em IPs com taxas que ultrapassam um limite especificado em um período de cinco minutos.

Você pode usar uma regra baseada em taxas para bloquear temporariamente as solicitações de um endereço IP que está enviando solicitações excessivas. Por padrão, o AWS WAF agrega solicitações com base no endereço IP da origem da solicitação da Web. No entanto, você pode configurar a regra para usar um endereço IP de um cabeçalho HTTP, como X-Forwarded-For.

Para essas instruções de regra baseadas em taxas, você também pode definir condições como parte das instruções de escopo reduzido. É possível definir condições para que somente as solicitações que corresponderem às instruções de escopo reduzido sejam consideradas para avaliação por essa regra.

Observação: o console do AWS WAF não tem uma opção para “instruções de escopo reduzido” para uma regra baseada em taxa. Selecione a opção Only consider requests that match the criteria in a rule statement (Considerar somente solicitações que correspondam aos critérios em uma instrução de regra) para criar o equivalente a uma instrução de escopo reduzido.

A resolução a seguir considera dois cenários em que você pode personalizar a regra baseada em taxas em um parâmetro específico.

Resolução

Cenário 1: adicionar um limite de taxa a um URI específico

Observação: você pode especificar qualquer parâmetro de solicitação.

  1. Abra o console do AWS WAF.
  2. Selecione Web ACLs (ACLs da Web)
  3. Selecione a ACL da Web e, em seguida, a guia Rules (Regras).
  4. Selecione Add rules (Adicionar regras).
  5. Selecione Add my own rules and rule group (Adicionar minhas próprias regras e grupos de regras).
  6. Selecione Rule builder (Construtor de regras) para Rule type (Tipo de regra).
  7. Insira um nome em Name e selecione Rate-based rule (Regra baseada em taxas).
  8. Informe os seguintes parâmetros para Request rate details (Detalhes da taxa de solicitações):
    Rate limit (Limite de taxa): insira um número entre 100 e 20.000.000. Esse é o número máximo de solicitações permitidas para cada IP em um período de 5 minutos.
    IP address to use for rate limiting (Endereço IP a ser usado para limitação de taxa): se quiser limitar a taxa com base no campo de IP do cliente, selecione Source IP address (Endereço IP de origem). Ou, se quiser limitar a taxa com base no endereço IP no cabeçalho, selecione IP address in header (Endereço IP no cabeçalho). Por exemplo, X-Forwarder-for.
    Criteria to count request towards rate limit (Critérios para contar a solicitação em relação ao limite de taxa): selecione Only consider requests that match the criteria in a rule statement (Considerar somente solicitações que correspondam aos critérios em uma instrução de regra).
  9. Na lista suspensa If a request (Se uma solicitação), selecione matches the statement (corresponder à instrução). Se você tiver várias condições para especificar, poderá alterar essa seleção de acordo com seu caso de uso.
  10. Preencha os seguintes campos na seção detalhes da instrução:
    Observação: neste exemplo, o limite de taxa está no caminho do URI “/admin”. Você pode alterar os detalhes com base no seu caso de uso.
    Inspect (Inspecionar): caminho do URI
    Match type (Tipo de correspondência): contém string
    String to match (String para correspondência): /admin
    Text transformation (Transformação de texto): nenhuma
  11. Na seção Action (Ação), selecione Block (Bloquear).
  12. Selecione Add rule (Adicionar regra). Mova a regra para a prioridade correta para seu caso de uso e selecione Save (Salvar).

Cenário 2: excluir IPs internos selecionados de regras de limite de taxa

Nesse cenário, crie um conjunto de IPs contendo todos os seus IPs internos. Em seguida, exclua esse conjunto de IPs na instrução de escopo reduzido.

Use as etapas a seguir para excluir um conjunto de IPs de uma regra baseada em taxas:

  1. Abra o console do AWS WAF.
  2. Selecione Web ACLs (ACLs da Web).
  3. Selecione a ACL da Web e, em seguida, a guia Rules (Regras).
  4. Selecione Add rules (Adicionar regras).
  5. Selecione Add my own rules and rule group (Adicionar minhas próprias regras e grupos de regras).
  6. Selecione Rule builder (Construtor de regras) para Rule type (Tipo de regra).
  7. Insira um nome em Name e selecione Rate-based rule (Regra baseada em taxas) como o valor de Type (Tipo).
  8. Informe os seguintes parâmetros para Request rate details (Detalhes da taxa de solicitações):
    Rate limit (Limite de taxa): insira um número entre 100 e 20.000.000. Esse é o número máximo de solicitações permitidas para cada IP em um período de 5 minutos.
    IP address to use for rate limiting (Endereço IP a ser usado para limitação de taxa): se quiser limitar a taxa com base no campo de IP do cliente, selecione Source IP address (Endereço IP de origem). Ou, se quiser limitar a taxa com base no endereço IP no cabeçalho, selecione IP address in header (Endereço IP no cabeçalho). Por exemplo, X-Forwarder-for.
    Criteria to count request towards rate limit (Critérios para contar a solicitação em relação ao limite de taxa): selecione Only consider requests that match the criteria in a rule statement (Considerar somente solicitações que correspondam aos critérios em uma instrução de regra).
  9. Na lista suspensa If a request (Se uma solicitação), selecione Doesn’t match the statement (NOT) (Não corresponder à instrução - NOT).
  10. Preencha os seguintes campos na seção detalhes da instrução:
    Inspect (Inspecionar): originado de um endereço IP de entrada.
    IP set (Conjunto de IPs): selecione o conjunto de IPs na lista suspensa.
    IP address to use as the originating address (Endereço IP a ser usado como endereço de origem): se você quiser que o limite de taxa seja baseado no campo de IP do cliente, selecione Source IP address (Endereço IP de origem). Ou, se quiser limitar a taxa com base no endereço IP no cabeçalho, selecione IP address in header (Endereço IP no cabeçalho). Por exemplo, X-Forwarder-for.
  11. Na seção Action (Ação), selecione Block (Bloquear).
  12. Selecione Add rule (Adicionar regra). Mova a regra para a prioridade correta para seu caso de uso e selecione Save (Salvar).

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos