pular para o conteúdo
voltar ao mapa
técnica
etapa: agir
2 min de leitura

Rate limiting adaptativo

Um limite fixo por IP é fácil de contornar e injusto com redes compartilhadas. O rate limiting que funciona escolhe bem a chave, aprende o comportamento normal e escala a resposta.

Cloudflare Rate LimitingAWS WAF rate-based rulesNGINX limit_reqEnvoy

O que é

restringe quantas requisições uma entidade pode fazer em uma janela de tempo. Ele protege contra força bruta, , scraping e esgotamento de recursos, e é uma das poucas defesas que funcionam mesmo quando o atacante envia tráfego que, requisição por requisição, parece válido.

A escolha da chave é metade do trabalho

Limitar por IP é o ponto de partida, mas atrás de um NAT corporativo ou de uma operadora móvel milhares de usuários legítimos compartilham o mesmo IP, enquanto um atacante com uma botnet espalha o tráfego por milhares de IPs. A chave certa depende do que você protege:

  • IP: simples, bom contra abuso grosseiro, ruim com NAT e botnets.
  • Conta ou identificador no corpo (por exemplo, o usuário tentado no login): pega o ataque a uma conta vinda de muitos IPs.
  • Token, cookie ou header de sessão: limita por cliente autenticado, não por rede.
  • ASN, país ou fingerprint: útil como agregador para detectar ondas coordenadas.
  • Combinações (IP + caminho, conta + ASN): reduzem falso positivo.

Janelas, limites e a escada de respostas

Em vez de só bloquear, escale a resposta. Um primeiro excesso recebe um desafio, o segundo um bloqueio curto e a reincidência um bloqueio mais longo, sempre com prazo (TTL) para que o erro de um dia não vire punição permanente.

rate limit rule - ilustrativotext
# login: 10 tentativas por minuto por IP, e 5 por minuto por conta tentada
match:   (http.request.method eq "POST" and http.request.uri.path eq "/api/login")
counting: per ip.src            -> 10 req / 60s
          per login username    ->  5 req / 60s   (característica customizada)
response: 1º excesso  -> Managed Challenge
          reincidência -> Block, timeout 600s

Adaptativo: o limite acompanha o normal

Limites fixos envelhecem: uma campanha de marketing dobra o tráfego legítimo e dispara bloqueios, e um atacante paciente fica logo abaixo do limite. O caminho adaptativo usa o baseline de cada endpoint e janela (por hora e dia da semana) e alerta ou age quando o desvio passa de um limiar, com ou .

Na prática, o limite estático continua como teto de segurança e o adaptativo cuida do comportamento fino, sempre passando por observação e shadow antes de bloquear.

Onde o limite deve viver

Idealmente na borda, antes de o tráfego custar processamento na origem. Mas alguns limites só fazem sentido perto da aplicação (por usuário autenticado, por tenant), onde a identidade já é conhecida. Cada camada tem seu papel, assunto do tópico de defesa em camadas.

Rate limitingLimite de requisições por entidade e janela de tempo. A escolha da chave (IP, conta, token, ASN) pesa tanto quanto o valor do limite.ver no glossário →Credential stuffingAtaque que testa em massa pares usuário/senha vazados de outros serviços. Assinatura: muitas falhas de login distribuídas por muitos IPs, com poucas tentativas por conta.ver no glossário →Z-scoreDistância de um valor até a média, medida em desvios padrão. Em detecção, valores muito acima do histórico recente da mesma chave sugerem anomalia.ver no glossário →EWMAmédia móvel exponencialMédia que dá mais peso aos dados recentes. Usada como baseline adaptativo: acompanha a mudança do tráfego normal sem ficar presa ao passado.ver no glossário →

conexões no mapa

atualizado em 14/10/2026 · fontes para aprofundar · reportar erro

Estude antes

Desbloqueia

teste o que entendeu

Carregando perguntas…