Como limitar o servidor Apache com base em IP?

3

Atualmente, tenho uma implementação customizada em PHP / mysql que controla os hits da web e bloqueia aqueles que excedem uma determinada taxa para o mesmo IP. Ou seja se um determinado IP de origem atingir o servidor mais de X vezes nos últimos Y segundos, ele será redirecionado para um local predefinido Z e o processamento de solicitação normal será abortado.

Funciona bem, mas coloca uma ênfase significativa no MySQL.

Então, eu queria saber se existe uma ferramenta especial para isso disponível? Talvez um módulo do Apache ou algum tipo de filtro?

    
por rustyx 22.09.2013 / 00:00

2 respostas

7

O melhor

  • mod_evasive (Focado mais na redução da exposição DoS)
  • mod_cband (Melhor destaque para controle de largura de banda 'normal')

e o resto

Mais uma opção - mod_qos

Não é simples de configurar, mas poderoso.

link

    
por 22.09.2013 / 01:47
4

você pode ser capaz de fazer isso em um nível inferior com o iptables e ignorar o apache / mysql todos juntos .... combinar e encaminhar para outro host / porta? eu só caí:

iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 6 -j DROP
    
por 22.09.2013 / 00:29

Tags