I'm looking for some help on a problem encountered with a modsecurity configuration. we recently discovered that our modsecurity configuration didn't behave as we thought, specifically the modsecurity audit logs are generated for all calls, while we have set the nolog parameters in the SecRule entries.
So giving an example:
SecAuditEngine RelevantOnly
SecAuditLogRelevantStatus ^5
SecDefaultAction log,auditlog,deny,status:403,phase:2,t:lowercase,t:replaceNulls,t:compressWhitespace
SecRule REQUEST_FILENAME "^/application(/.*)?$" phase:2,chain,t:none,allow,nolog
SecRule REQUEST_METHOD (?i)^(GET|POST|HEAD)$
SecAction block
Expectation with requests matching this entry would be that no log entries would be made to either error log or audit log. Actual result is that indeed error log remains empty, but the audit log gets filled up.
In the audit log, we can confirm that the request is (in B block):
GET /application/that/does/something?and=has&some=parameters
We can also confirm that the SecRule referenced is the one matching, as if we remove it, the request is considered forbidden.
What we'd like to achieve: no entries in audit log for the matching rule
Thanks in advance for any help one might provide