Pass просто перейдет к следующему правилу. Вы хотите использовать allow:
Обратите внимание, что вы также, вероятно, не хотите записывать это правило в журнал, и вы должны дать ему идентификатор (обязательно для ModSecurity 2.7 и выше):
SecRule REQUEST_METHOD "GET" "phase:1,id:1000;nolog,allow"
Также обратите внимание, что разрешение не работает в режиме DetectionOnly, так как это разрушительное правило, которое всегда заставляло меня думать, что это плохой способ. Поэтому вам нужно принудительно включить механизм правил, чтобы он работал там.
У меня есть следующие правила, позволяющие заносить в белый список статическое содержимое, если это помогает (необходимо настроить для вашей конкретной среды):
#Allow any GET & HEAD requests, where no parameters passed, for static content file types
SecRule REQUEST_METHOD "^(GET|HEAD)$" "phase:1,id:'1000',chain,allow,nolog"
SecRule &ARGS "@eq 0" "chain"
SecRule REQUEST_FILENAME ".*\.(css|eot|gif|htm|html|jpeg|jpg|js|pdf|png|svg|ttf|woff|woff2)$" "t:lowercase,ctl:ruleEngine=On"
#Allow any GET & HEAD requests, where no parameters passed, for default index files (e.g. /somepage/)
#except for dynamic content urls (which start with api or application):
SecRule REQUEST_METHOD "^(GET|HEAD)$" "phase:1,id:'1001',chain,allow,nolog"
SecRule &ARGS "@eq 0" "chain"
SecRule REQUEST_URI "/$" "chain"
SecRule REQUEST_URI "!^/(api|application)" "t:lowercase,ctl:ruleEngine=On"
Дайте мне знать, если у вас есть какие-либо вопросы по этому поводу.
person
Barry Pollard
schedule
26.10.2015