apache mod_evasive com configurações mpm_prefork para funcionar

2

Eu tentei encontrar todas as informações que eu poderia sobre isso e eu entendo o problema com mod_evasive não funciona quando o servidor está no modo mpm_prefork (em vez de trabalhador).

No entanto, consegui fazê-lo funcionar parcialmente diminuindo o

StartServers
MinSpareServers
MaxSpareServers

no arquivo de configuração. Então, minha pergunta é: se eu configurar o mpm_prefork.conf :

StartServers 1
MinSpareServers 0
MaxSpareServers 0
MaxRequestWorkers 150
MaxConnectionsPerChild 0

seria basicamente igual a uma instância em execução (como se 'worker'), nesse caso o mod_evasive ainda estaria sendo executado como se o servidor estivesse sendo executado como 'worker'?

Existe algum problema potencial em tal configuração? (como muitos pedidos legítimos não sendo tratados, etc)? Existem outras opções para meus requisitos básicos (o mod_security seria útil?)

Entendo que essa não é a melhor maneira de atenuar ataques, mas estou apenas procurando segurança básica contra rastreadores personalizados, que ocasionalmente sobrecarregam meu servidor com dezenas de solicitações por segundo.

    
por user1869304 01.04.2015 / 22:28

1 resposta

0

Parece que os contadores usados pelo mod_evasive não são compartilhados entre processos. Por isso, cada vez que o mpm_prefork gera um novo processo, os contadores voltam a 0.

Uma forma de fazer o mod_evasive funcionar com o mpm_prefork é:

  • StartServers = MaxRequestWorkers = MaxSpareServers (para que todos os processos sejam criados na inicialização e nenhum novo processo seja criado ou eliminado)
  • MaxConnectionsPerChild 0 (Portanto, os processos não serão reciclados. No entanto, isso pode ser perigoso em caso de vazamento de memória, portanto, você deve usar um valor grande em vez de 0)
  • Divide DOSPageCount e DOSSiteCount pelo número de processos do servidor

Isso se baseia apenas no comportamento que eu pude observar em meu próprio servidor e deve ser testado com cuidado.

    
por 20.09.2016 / 14:58