Como obter o mod_security para registrar todos os dados do POST?

6

Atualmente, tenho um sistema CentOS que registra com êxito as ações relevantes do mod_security no arquivo de log de auditoria. A seguir, minha configuração:

<IfModule mod_security2.c>
  SecRuleEngine On
  SecAuditEngine RelevantOnly
  SecAuditLog /var/log/httpd/modsec_audit.log
  SecDebugLog /var/log/httpd/modsec_debug.log
  SecDebugLogLevel 0
  SecRequestBodyAccess On
  SecDataDir /tmp
  SecTmpDir /tmp
  SecPcreMatchLimit 250000
  SecPcreMatchLimitRecursion 250000
</IfModule>

Isso registra todas as ações em que mod_security intercepta / bloqueia a solicitação devido à configuração SecAuditEngine RelevantOnly .

No entanto, eu gostaria que ele registrasse, adicionalmente, todos os dados POST enviados ao servidor (independentemente do status). Eu poderia conseguir isso configurando SecAuditEngine On , mas isso registra todos os dados GET e POST, o que é um exagero. Eu gostaria basicamente de omitir todos os dados GET a menos que o pedido fosse interceptado.

Alguém pode sugerir como fazer isso?

    
por Chris 27.05.2015 / 19:59

1 resposta

6

Tenha uma regra que ative as solicitações AuditEngine for POST .

Algo parecido com isto (não testado):

SecRule REQUEST_METHOD "POST" "id:1000,phase:2,ctl:auditEngine=On,nolog,pass"

As ações de CTL só afetam a solicitação atual, para depois serem redefinidas para RelevantOnly para a próxima solicitação.

Você também pode criar regras Sanitise para garantir que dados confidenciais, como senhas e dados de cartão de crédito, sejam mascarados antes do registro. Veja aqui: link

    
por 03.06.2015 / 23:07