Alterando o log do ModSecurity em uma base por transação

1

Estou tentando rastrear todas as solicitações feitas em um site em um servidor de hospedagem compartilhada. A captura de pacotes vai ser muito trabalhosa.

Usamos o Mod Security (2.8) com bom efeito, embora devido à carga, tenhamos registros limitados habilitados

SecAuditEngine RelevantOnly
SecAuditLogRelevantStatus "^(?:5|4(?!04))"

Eu realmente não quero registrar tudo para todo o servidor apenas para inspecionar o que está acontecendo com esse host virtual. Eu tentei definir

SecAuditEngine On

... dentro de arquivos .htaccess e produz um erro interno 500, com o error_log indicando que essas diretivas não são permitidas no .htaccess, embora, na documentação do Modsec, o escopo dessas diretivas seja mostrado como "Qualquer"

Eu até tentei criar um simples SecRule:

SecRule SERVER_NAME "example\.com" "phase:1,ctl:SecAuditEngine=On,id:123456789"

Mas isso cria um erro de sintaxe e parece que o SecAuditEngine ou o SecAuditLogRelevantStatus não podem ser alternados dinamicamente.

Alguém sabe se é possível modificar uma dessas duas diretivas no momento da transação por solicitação?

    
por Santrix 12.09.2014 / 13:17

1 resposta

2

Isso pode ser feito usando o sistema de modelo do apache para alterar a diretiva SecAuditEngine em uma base de usuário ou domínio. Em um servidor cPanel, isso pode ser feito colocando-se arquivos * .conf nos seguintes locais:

/usr/local/apache/conf/userdata/std/2/username/modsec.conf /usr/local/apache/conf/userdata/ssl/2/username/modsec.conf

com conteúdo:

<LocationMatch .*>
    SecAuditEngine On
</LocationMatch>

A configuração "On" diz à segurança mod para registrar dados de transação para todos os códigos de resposta (exceto 404/401 devido a um caminho diferente)

    
por 21.11.2014 / 10:08