O que é a limitação de taxa para o Azure Front Door?

A limitação de taxa permite detectar e bloquear níveis anormalmente altos de tráfego de qualquer endereço IP de soquete. Ao usar o Firewall de Aplicativo Web do Azure no Azure Front Door, 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 o Azure Front Door. 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 o Azure Front Door.

Você pode definir os limites de taxa no nível do endereço IP do soquete ou no nível do endereço remoto. Se você tiver vários clientes que acessam o Azure Front Door de diferentes endereços IP de soquete, 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 do Aplicativo 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 solicitação X-Forwarded-For.

Configurar uma política de limite de taxa

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

Ao configurar uma regra de limite de taxa, você especifica o limite. O limite é o número de solicitações da Web permitidas de cada endereço IP de soquete em um período 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 no seu aplicativo.

Se você precisa aplicar uma regra de limite de taxa a todas as suas solicitações, considere usar uma condição de correspondência como no 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 cabeçalho Host de comprimento maior que 0. Como todas as solicitações HTTP válidas para o Azure Front Door contêm um cabeçalho Host, essa condição de correspondência tem o efeito de corresponder a todas as solicitações HTTP.

Limites de taxa e servidores do 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 serão bloqueadas assim que o limite de taxa for atingido para cada um dos endereços IP do cliente.

É possível que as solicitações do mesmo cliente cheguem a um servidor diferente do Azure Front Door que ainda não tenha atualizado 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 do Azure Front Door poderá passar na verificação do limite de taxa. Portanto, para um limite baixo (por exemplo, menos de 200 solicitações por minuto), é possível que algumas solicitações acima do limite sejam aprovadas.

Algumas considerações que você deve ter em mente ao determinar os valores de limite e as janelas de tempo para a limitação de taxa:

  • Um tamanho de janela maior com o menor limite de contagem de solicitações aceitável é a configuração mais eficaz para evitar ataques de DDoS. Essa configuração é mais eficaz porque quando um invasor atinge o limite, ele é bloqueado para o 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 vez de um minuto) e valores de limite maiores (por exemplo, 200 em vez de 100) tende a fornecer maior precisão na imposição de limites próximos ao limite de taxa, em comparação a usar tamanhos de janela de tempo mais curtos e valores de limite mais baixos.
  • A limitação da taxa de WAF do Azure Front Door opera em um período de tempo fixo. Depois que um limite de taxa é violado, todo o tráfego correspondente à regra de limitação de taxa é bloqueado para o restante da janela fixa.

Próximas etapas