Como posso evitar a inundação do DoS do Apache?

1

Eu configurei um servidor rodando o apache e alguns dias atrás notei nos logs que há bots executando consultas intermináveis no site. Os logs mostram que esses bots estão executando cerca de 60 consultas por segundo durante cerca de 20 minutos provenientes do mesmo endereço IP. Como posso limitar as consultas e qual é a maneira apropriada de lidar com esses bots?

Obrigado antecipadamente.

    
por tftd 03.02.2011 / 17:08

4 respostas

4

Considere a possibilidade de instalar um software limitador de taxa, que o ajudará a defender não apenas bots legais. Você pode usar mod_evasive para o Apache, ou pode instalar o Nginx como front-end e usar seu HttpLimitZoneModule , está embutido.

    
por 03.02.2011 / 17:36
2

Eu recomendo a ferramenta fail2ban ( link ); nós o usamos em nossos próprios servidores e é incrivelmente útil para limitar as inundações do DoS para mais do que apenas o Apache.

O fail2ban monitora ativamente vários logs para diferentes padrões (temos o nosso configurado para monitorar apenas os hits do Apache), e se ele determinar que há muitos hits em um determinado período de tempo a partir de um IP específico, ele proibirá esse IP para um período que você determina (usamos uma janela de banimento de 20 minutos)

O fail2ban tem pacotes pré-construídos para a maioria das distribuições, ou você pode pegar a fonte; Sendo Python, você nem precisa compilá-lo! : D

    
por 03.02.2011 / 22:21
0

Uma solução simples seria editar seu arquivo robots.txt e adicionar a seguinte linha:

User-agent: *
Atraso de rastreamento: 60

Altere o atraso de rastreamento para um número em segundos entre as solicitações. Bons bots deveriam ouvir isso e esperar entre os pedidos. No entanto, os robôs "ruins" não ouvem as regras do robots.txt ...

    
por 03.02.2011 / 17:15
-1

robots.txt e redirecionando os bots para sites estáticos. Geralmente é bom ter bots (mecanismos de busca) rastreando (indexando) seu site. Os métodos sugeridos ajudam você a controlar como eles o indexam.

    
por 03.02.2011 / 17:14