Limitação de taxa para Firewall de Aplicativo Web do Azure no Gateway de Aplicativo do Azure

Aplica-se a: ✔️ Gateway de Aplicativo V2

Limitar a taxa para o Firewall de Aplicativo Web no Application Gateway ajuda você a detectar e bloquear níveis anormalmente altos de tráfego destinados à sua aplicação. Ao usar limitação de taxa no Application Gateway WAF v2, você pode mitigar muitos tipos de ataques de negação de serviço, proteger contra clientes que estejam configurados incorretamente para enviar grandes volumes de solicitações em um curto período de tempo ou controlar as taxas de tráfego para seu site a partir de regiões geográficas específicas.

Políticas de limitação de taxa

Configure limitação de taxa usando regras WAF personalizadas em uma política.

Observação

As regras de limite de taxa só têm suporte em Web Application Firewalls que executam o mecanismo WAF mais recente. Para garantir que você está usando o motor mais recente, selecione CRS 3.2 como o conjunto de regras padrão. Além disso, regras de limite de taxa não são suportadas em nuvens isoladas.

Ao configurar uma regra de limite de taxa, especifique o limite: o número de solicitações permitidas dentro do período de tempo especificado. A limitação de taxa no Gateway de Aplicativo WAF v2 utiliza um algoritmo de janela deslizante para determinar quando o tráfego ultrapassa o limite e precisa ser removido. Durante a primeira janela em que o limite da regra é violado, qualquer tráfego adicional que corresponda à regra de limite de taxa é descartado. Pela segunda janela, o tráfego até o limite na janela configurada é permitido, produzindo um efeito de limitação.

Você também deve especificar uma condição de correspondência que informa ao WAF quando ativar o limite de taxa. Você pode configurar várias regras de limite de taxa que correspondam a diferentes variáveis e caminhos em sua política.

O Application Gateway WAF v2 também introduz um GroupByUserSession, que você deve configurar. O GroupByUserSession especifica como as solicitações são agrupadas e contadas para uma regra de limite de taxa correspondente.

Os três GroupByVariables a seguir estão disponíveis no momento:

  • ClientAddr – Essa é a configuração padrão e significa que cada limite de limite de taxa e mitigação se aplica independentemente a cada endereço IP de origem exclusivo.
  • GeoLocation - O tráfego é agrupado por sua geografia com base em um Geo-Match no endereço IP do cliente. Para uma regra de limite de taxa, o tráfego da mesma geografia é agrupado.
  • Nenhum - Todo o tráfego é agrupado e contado em relação ao limite da regra de limite de taxa. Quando o limite é violado, a ação é disparada em relação a todo o tráfego correspondente à regra e não mantém contadores independentes para cada endereço IP ou geografia do cliente. Use Nenhum com condições específicas de correspondência, como uma página de login ou uma lista de Agentes de usuário suspeitos.
  • ClientAddrXFFHeader - Cada limite de taxa e mitigação se aplica independentemente com base no endereço IP encontrado no cabeçalho X-Forwarded-For da Solicitação HTTP
  • GeoLocationXFFHeader – O tráfego é agrupado por sua geografia com base em um Geo-Match no endereço IP encontrado no cabeçalho X-Forwarded-For da Solicitação HTTP. Para uma regra de limite de taxa, o tráfego da mesma geografia é agrupado.

Detalhes de limitação de taxa

A política do Firewall de Aplicativo Web conta e acompanha os limites de taxa configurados de forma independente para cada endpoint ao qual está conectado. Por exemplo, uma única política WAF anexada a cinco ouvintes diferentes mantém contadores independentes e aplicação de limites para cada um dos ouvintes.

Os limites de taxa nem sempre são aplicados exatamente como definido, então não use limitação de taxa para controle detalhado do tráfego de aplicações. Em vez disso, use-o para mitigar taxas anômalas de tráfego e manter a disponibilidade das aplicações.

O algoritmo de janela deslizante bloqueia todo o tráfego correspondente para a primeira janela em que o limite é excedido e, em seguida, limita o tráfego em janelas futuras. Tenha cuidado ao definir limites ao configurar regras de correspondência ampla com GeoLocation ou None como GroupByVariables. Limites configurados incorretamente podem levar a interrupções frequentes do tráfego correspondente.

Observação

Cada instância de Application Gateway v2 mantém seu próprio contador de limite de taxa. Quando múltiplas instâncias estão ativas, elas distribuem as requisições recebidas entre si, e o limite de taxa se aplica independentemente a cada instância.

Por exemplo, considere um limite de 400 solicitações por IP do cliente por minuto. Se duas instâncias recebem 270 e 230 requisições do mesmo IP do cliente, nenhuma das instâncias atinge o limite. O WAF permite os pedidos mesmo que o número combinado de solicitações ultrapasse 400. Portanto, quando múltiplas instâncias estiverem ativas, não trate o limite configurado como um limite estrito para todo o gateway.

Próxima etapa