mod_evasive atrás de HAPROXY

6

Eu tenho um par de máquinas Apache 2 atrás de uma configuração HAPROXY, tentei configurar o mod_evasive nessas máquinas Apache enquanto também usava o mod_rpaf para obter o verdadeiro ip do cliente X-FORWARDED.

Por alguma razão, o mod_evasive agarra e bloqueia alguns ips (testando com o ApacheBench) mas alguns podem continuar e abrir mais conexões e basicamente DOS meus servidores.

alguma ideia do que pode excluir um ip do outro em mod_evasive? considerando o fato de estar atrás de um proxy e que os clientes reais estão visíveis nos logs do apache?

As definições do mod_evasive são os padrões quando o DOSWhitelist é definido para a nossa máscara de sub-rede (192.168. . por exemplo).

o módulo rpaf tem a definição RPAFproxy_ips com o nosso ip HAPROXY. alguma idéia?

    
por Elad Meidar 09.02.2011 / 04:40

2 respostas

2

O problema que você encontrou é provavelmente parte do design do mod_evasive: as estatísticas usadas para bloquear são salvas em cada processo filho. Portanto, se você estiver usando o Prefork MPM e tiver MaxClients como 50, as conexões com cada um desses 50 clientes serão rastreadas de forma independente.

Além disso, há a configuração MaxRequestsPerChild. Quando isso for alcançado, a criança será morta e as estatísticas junto com ela. Então, em alguns casos, o mod_evasive simplesmente não é efetivo.

Desculpe, não tenho uma alternativa melhor para recomendar neste momento. Eu estou procurando por mim mesmo. (Eu ainda não confirmei se funciona melhor com outros MPMs.)

Referências:

por 17.05.2011 / 15:51
0

Você pode usar mod_evasive_x para usar o valor do cabeçalho X-Forwarded-For para o endereço IP do cliente e a última versão estável de mod_rpaf onde você pode configurar a máscara de sub-rede para os valores de RPAF_ProxyIPs. Para minhas instâncias na AWS por trás do balanceador de carga (ELB), ele funciona corretamente.

    
por 04.05.2017 / 11:37