mod_security não está funcionando

1

Estou tentando fazer o mod_security funcionar, procurei muito na Web e segui este tutorial para configurar mod_security (todos os meus arquivos de configuração são os mesmos que o tutorial), e quando eu executo httpd -M | grep -Ei '(evasive|security)' it saídas

 security2_module (shared)
 evasive20_module (shared)

Portanto, as extensões estão sendo carregadas, mas não bloqueiam nada, nem escrevem nada no arquivo de logs, eu mesmo defino SecDebugLogLevel para 9 e o log de depuração ainda está em branco.

Eu tentei carregar os módulos antes dos outros, depois os outros, no meio, reiniciei o apache várias vezes e não consegui nada.

Estou usando o Amazon Linux (é como o CentOS), com o Apache 2.4 Prefork.

    
por Rogerio Chaves 25.02.2015 / 02:46

1 resposta

2

Precisa de mais informações para poder ajudar (todas as configurações relevantes do apache de httpd.conf e modsecurity.conf).

No entanto, aqui estão algumas dicas que podem ajudá-lo a resolver seu problema:

Você está usando o comando IfModule correto? Eu uso o mod_security2.c, mas não tenho certeza se isso é importante:

<IfModule mod_security2.c>
    Include conf/modsecurity.conf
</IfModule>

Você já tentou parar e iniciar o Apache completamente (não uma reinicialização normal)?

Existe alguma coisa nos logs de erros após um ponto final e reinicialização. Ele deve ter algumas entradas [: notice] como esta:

ModSecurity for Apache/2.9.0 (http://www.modsecurity.org/) configured.
ModSecurity: APR compiled version="1.5.0"; loaded version="1.5.0"
...etc.

Isso mostra que o ModSecurity foi carregado.

Há algum erro de PCRE no arquivo de log de erros (o que pode acontecer se o ModSecurity foi compilado com uma versão diferente do PRCE que o Apache)? Execute um comando ldd contra o httpd e o mod_security.so para garantir que eles correspondam. Como um FYI eu não recebo nenhum módulo de segurança mostrando quando eu executo o comando "httpd -M" na minha versão de trabalho - eu acho que não está carregado a menos que um Include seja executado.

O log de depuração está sendo criado, mas está vazio? Se for criado, isso é um bom sinal de que o próprio ModSecurity está sendo carregado.

Suas configurações do Apache estão todas no diretório / etc / httpd / conf, como o guia que você está sugerindo? Não é desconhecido ter várias versões do Apache instaladas e a que você está editando a configuração não é a que está sendo usada: -)

Eu recomendo o manual de ModSecurity de Ivan Ristic, cujo provador está disponível gratuitamente: link e este abrange a instalação. Ivan originalmente escreveu o ModSecurity, então eu recomendo comprar o livro inteiro. É um par de versões por trás, mas ainda mais relevantes. A principal alteração não coberta pelo livro é que agora o ID da regra é obrigatório.

    
por 28.02.2015 / 10:59