我是 OWASP ModSecurity 的新手,我想知道如何排除某些 URL 的某些特定规则。
我搜索过,发现我应该将它们排除在
modsecurity.conf
文件中,但我不知道它在哪里。一旦找到它,我不知道如何编写命令。我在文档页面中找不到任何内容。
例如此规则:
SecRule REQUEST_URI ARGS_NAMES|ARGS|XML:/* "@rx ((?:[~!@#\$%\^&\*\(\)\-\+=\{\}\[\]\|:;\"'´’‘`<>][^~!@#\$%\^&\*\(\)\-\+=\{\}\[\]\|:;\"'´’‘`<>]*?){2})" \
"id:942432,\
phase:2,\
block,\
capture,\
t:none,t:urlDecodeUni,\
msg:'Restricted SQL Character Anomaly Detection (args): # of special characters exceeded (2)',\
logdata:'Matched Data: %{TX.1} found within %{MATCHED_VAR_NAME}: %{MATCHED_VAR}',\
tag:'application-multi',\
tag:'language-multi',\
tag:'platform-multi',\
tag:'attack-sqli',\
tag:'paranoia-level/4',\
tag:'OWASP_CRS',\
tag:'capec/1000/152/248/66',\
tag:'PCI/6.5.2',\
ver:'OWASP_CRS/4.8.0',\
severity:'WARNING',\
setvar:'tx.inbound_anomaly_score_pl4=+%{tx.warning_anomaly_score}',\
setvar:'tx.sql_injection_score=+%{tx.warning_anomaly_score}'"
CRS 4.8.0 中提到的规则是 942432。文件
modsecurity.org
是 ModSecurity 的一部分。如果您想排除,您应该将其放入 REQUEST-900-EXCLUSIONS-BEFORE.conf。
首先,复制/移动此文件,不带
.example
后缀,然后添加排除项,如下所示:
SecRule REQUEST_URI "@beginsWith /your/uri" \
"id:10000,\
phase:1,\
pass,\
nolog,\
ctl:ruleRemoveById=942432"
如果
942432
以 uri
开头,则此规则将阻止执行规则 /your/uri
。
欲了解更多信息,请阅读 CRS 的调整部分。