mod_security não funciona

mod_security não funciona

Estou tentando fazer o mod_security funcionar, pesquisei bastante na web, e seguieste tutorialpara configurar o mod_security (todos os meus arquivos de configuração são iguais aos do tutorial) e quando eu executo httpd -M | grep -Ei '(evasive|security)'ele gera

 security2_module (shared)
 evasive20_module (shared)

Então as extensões estão sendo carregadas, mas não bloqueia nada, nem grava nada no arquivo de logs, até configurei SecDebugLogLevelpara 9 e o log de depuração ainda fica em branco.

Tentei carregar os módulos antes dos demais, depois dos demais, no meio, reiniciei o apache diversas vezes, e não consegui nada.

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

Responder1

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

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

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

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

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

Há algo nos logs de erros após uma parada completa e reinicialização. Deveria 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 PCRE no arquivo de log de erros (o que pode acontecer se o ModSecurity foi compilado com uma versão do PRCE diferente da Apache)? Execute um comando ldd em httpd e mod_security.so para garantir que eles correspondam. Para sua informação, NÃO recebo nenhum módulo de segurança exibido quando executo o comando "httpd -M" na minha versão de trabalho - acho que porque ele não é carregado a menos que um Incluir seja executado.

O log de depuração está sendo criado, mas está vazio? Se for criado, é 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ê usou está sugerindo? Não é desconhecido ter várias versões do Apache instaladas e aquela para a qual você está editando a configuração não é a que está sendo usada :-)

Eu recomendo o manual ModSecurity de Ivan Ristic, uma amostra do qual está disponível gratuitamente:https://www.feistyduck.com/library/modsecurity-handbook-free/e isso cobre a instalação. Ivan escreveu originalmente o ModSecurity, então recomendo comprar o livro inteiro. São algumas versões atrasadas, mas ainda são relevantes. A principal mudança não coberta pelo livro é que um ID de regra agora é obrigatório.

informação relacionada