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 SecDebugLogLevel
para 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.