Share via


O que é limite de taxa para o Azure Front Door?

A limitação de taxa permite detetar e bloquear níveis anormalmente altos de tráfego de qualquer endereço IP de soquete. Usando o Firewall de Aplicativo Web do Azure na Porta da Frente do Azure, você pode mitigar alguns tipos de ataques de negação de serviço. A limitação de taxa também protege você contra clientes que foram acidentalmente configurados incorretamente para enviar grandes volumes de solicitações em um curto período de tempo.

O endereço IP do soquete é o endereço do cliente que iniciou a conexão TCP com a Porta da Frente do Azure. Normalmente, o endereço IP do soquete é o endereço IP do usuário, mas também pode ser o endereço IP de um servidor proxy ou outro dispositivo que fica entre o usuário e a Porta da Frente do Azure.

Você pode definir limites de taxa no nível de endereço IP do soquete ou no nível de endereço remoto. Se você tiver vários clientes que acessam o Azure Front Door de endereços IP de soquete diferentes, cada um deles terá seus próprios limites de taxa aplicados. O endereço IP do soquete é o endereço IP de origem que o firewall de aplicativo da Web (WAF) vê. Se o usuário estiver atrás de um proxy, o endereço IP do soquete geralmente é o endereço do servidor proxy. O endereço remoto é o IP original do cliente que geralmente é enviado através do cabeçalho da X-Forwarded-For solicitação.

Configurar uma política de limite de taxa

A limitação de taxa é configurada usando regras WAF personalizadas.

Ao configurar uma regra de limite de taxa, você especifica o limite. O limite é o número de solicitações da Web que são permitidas a partir de cada endereço IP de soquete dentro de um período de tempo de um minuto ou cinco minutos.

Você também deve especificar pelo menos uma condição de correspondência, que informa ao Azure Front Door quando ativar o limite de taxa. Você pode configurar vários limites de taxa que se aplicam a caminhos diferentes dentro do seu aplicativo.

Se você precisar aplicar uma regra de limite de taxa a todas as suas solicitações, considere usar uma condição de correspondência como o exemplo a seguir:

Screenshot that shows the Azure portal showing a match condition that applies to all requests. The match condition looks for requests where the Host header size is zero or greater.

A condição de correspondência anterior identifica todas as solicitações com um Host cabeçalho de comprimento maior que 0. Como todas as solicitações HTTP válidas para o Azure Front Door contêm um Host cabeçalho, essa condição de correspondência tem o efeito de corresponder a todas as solicitações HTTP.

Limites de taxa e servidores Azure Front Door

As solicitações do mesmo cliente geralmente chegam ao mesmo servidor do Azure Front Door. Nesse caso, você verá que as solicitações são bloqueadas assim que o limite de taxa é atingido para cada um dos endereços IP do cliente.

É possível que as solicitações do mesmo cliente cheguem a um servidor Azure Front Door diferente que ainda não atualizou os contadores de limite de taxa. Por exemplo, o cliente pode abrir uma nova conexão TCP para cada solicitação e cada conexão TCP pode ser roteada para um servidor diferente do Azure Front Door.

Se o limite for baixo o suficiente, a primeira solicitação para o novo servidor Azure Front Door poderá passar na verificação de limite de taxa. Assim, para um limite baixo (por exemplo, menos de cerca de 200 solicitações por minuto), você pode ver algumas solicitações acima do limite serem aprovadas.

Algumas considerações a ter em mente ao determinar valores de limite e janelas de tempo para limitação de taxa:

  • Um tamanho de janela maior com o menor limite aceitável de contagem de solicitações é a configuração mais eficaz para evitar ataques DDoS. Essa configuração é mais eficaz porque, quando um invasor atinge o limite, ele é bloqueado pelo restante da janela de limite de taxa. Portanto, se um invasor for bloqueado nos primeiros 30 segundos de uma janela de um minuto, ele será limitado apenas pelos 30 segundos restantes. Se um invasor for bloqueado no primeiro minuto de uma janela de cinco minutos, ele será limitado pelos quatro minutos restantes.
  • Definir tamanhos de janela de tempo maiores (por exemplo, cinco minutos em um minuto) e valores de limite maiores (por exemplo, 200 acima de 100) tende a ser mais preciso na aplicação de limites próximos ao limite de taxa do que usar os tamanhos de janela de tempo mais curtos e valores de limite mais baixos.
  • O limite de taxa WAF do Azure Front Door opera em um período de tempo fixo. Quando um limite de taxa é violado, todo o tráfego correspondente a essa regra de limite de taxa é bloqueado pelo restante da janela fixa.

Próximos passos