Não é possível desativar o mecanismo modsecurity no Apache 2.4, Ubuntu 14.04

0

Eu recentemente atualizei do 12.04 LTS para o 14.04 LTS, e estou tentando lidar com as mudanças no modsecurity.

No início, o modsecurity parecia estar completamente quebrado (ele foi listado como pacotes órfãos a serem removidos com autoremove). Eu autorizei, deletei as configurações antigas e instalei o libapache2-modsecurity.

Isso pareceu funcionar, no entanto, por alguma razão, parece estar ignorando comandos em meus arquivos virtualhost. No passado, eu criava regras especiais para diferentes tipos de sites e desabilitava completamente o mecanismo de regras nas páginas em que lançava vários falsos positivos (como phpmyadmin ou administração wordpress) com os seguintes comandos no arquivo host virtual:

<Directory /xxx/phpmyadmin>
   SecRuleEngine Off
</Directory>

No entanto, isso não funciona mais. Se eu definir em modsecurity.conf:

SecRuleEngine On

Não consigo acessar a página - ela imediatamente lança um 401 não permitido. A única solução que encontrei até agora é desabilitar completamente o mecanismo em modsecurity.conf (até mesmo o DetectionOnly lançará os erros):

SecRuleEngine Off

Minha pergunta é: alguma coisa mudou no apache 2.4 que ignoraria essas configurações específicas de diretório? Eu tentei cercá-lo em um IfModule security2_module e também adicionando o comando a um arquivo .htaccess no diretório sem resultado.

Obrigado!

    
por tk421storm 20.12.2015 / 22:14

1 resposta

0

Então, acho que descobri, embora não encontre nenhuma documentação sobre o apache ou modsecurity, o que explicaria por que ele não está funcionando como costumava ser. De qualquer forma, vou postar minha solução aqui caso alguém mais tenha o mesmo problema.

Configurar o sinalizador SecRuleEngine no arquivo modsecurity.conf agora sobrescreve todos os outros valores em hosts virtuais, portanto, tudo está ligado ou desligado. Configurá-lo aqui também parece ignorar os sinalizadores SecRuleRemoveById em hosts virtuais, o que é muito ruim.

Eu comentei o sinalizador do SecRuleEngine no modsecurity.conf, e estou configurando-o em uma pasta por pasta no meu arquivo hosts virtuais. Por exemplo:

<Directory ***>
    <IfModule security2_module>
        SecRuleRemoveById xxxxxx
        SecRuleEngine On
    </IfModule>
</Directory>

Isso parece estar funcionando para mim agora.

    
por tk421storm 22.12.2015 / 17:12