"abusivo" é totalmente relativo, mas em termos de acesso à web é quase certo que a captura de um limite de taxa no número de conexões / segundo atraia usuários legítimos.
Tenha em mente o que acontece quando você visita uma página da web
- Uma conexão HTTP é aberta e a página principal (digamos,
index.html
) é baixada. - Seu navegador analisa
index.html
e descobre de que outros recursos precisa:- CSS
- Javascript
- Imagens
- Coisas em um ou (mais "páginas principais")
- Provavelmente mais coisas que estou esquecendo
- Seu navegador pega todos esses itens.
Pode fazer isso de duas maneiras "- Em série: Fazendo o download de cada item em sequência (uma conexão por vez)
- Em paralelo: Download de vários itens de uma vez (várias conexões abertas).
O keepalive HTTP teoricamente mantém o número de ciclos connect () inativos, mas alguns navegadores podem não suportar HTTP keepalive (ou podem decidir não usá-lo por qualquer motivo), caso em que cada item sendo baixado significa que outra conexão é aberta o servidor.
Uma página da Web é, portanto, potencialmente um grande número de conexões - fácil o bastante para desarmar seu firewall, especialmente se você tiver mais de um usuário em um IP ou se seus usuários navegarem ativamente.
Em vez de bloquear completamente, você tem algumas opções:
-
Marque os pacotes correspondentes em
pf
e limite a largura de banda comaltq
.
Isso não é realmente ideal - você ainda vai pegar usuários legítimos - mas pelo menos eles são limitados (lentos), não bloqueados (quebrados). -
Use o mod_evasive , mod_security ou similar
Esses módulos são mais trabalhosos para o Apache, mas são mais configuráveis e ajudam a evitar a captura de usuários legítimos.