如何将ModSecurity中的某个Cookiestringjoin白名单

在我们的服务器上使用第三方软件,我们得到了很多误解。 他们自己似乎无法解决这个问题,我正试图解决如何通过包含“CERTAINSTRING_”

下面是一个禁令的例子。 他们都是相同的规则ID

www.mysite.com 27.33.154.111 981231 [15/Dec/2013:12:14:36 +1100] Pattern match: \ "(/\\*!?|\\*/|[';]--|--[\\s\\r\\n\\v\\f]|(?:--[^-]*?-)|([^\\-&])#.*?[\\s\\r\\n\\v\\f]|;?\\x00)" \ at REQUEST_COOKIES: _CERTAINSTRING. \ [file "/usr/local/apache/conf/modsecurity_crs_41_sql_injection_attacks.conf"] \ [line "49"] \ [id "981231"] \ [rev "2"] \ [msg "SQL Comment Sequence Detected."] \ [data "Matched Data: 1#" "description::325,1091,/file-path/file-name/999/1,http://www.mysite.com/file-path/file-name/999/1#" "rev found within REQUEST_COOKIES:_CERTAINSTRING: 240,1091,/file-path/file-name/999/1,http://www.mysite.com/file-path/file-name/999/1#" "description::325,1091,/file-path/file-name/999/1,http://www.mysite…”] \ [severity "CRITICAL"] \ [ver "OWASP_CRS/2.2.8"] \ [maturity "8"] \ [accuracy "8"] \ [tag "OWASP_CRS/WEB_ATTACK/SQL_INJECTION"] \ [tag "WASCTC/WASC-19"] \ [tag "OWASP_TOP_10/A1"] 

您可以使用SecRuleUpdateTargetById来修改规则

 SecRuleUpdateTargetById 981231 !REQUEST_COOKIES:/^ _CERTAINSTRING/ 

这将禁用导致您痛苦请求cookie的名字以_CERTAINSTRING开头的规则。

更新:

上面的规则需要放在它所指的规则之后。 这通常是通过创build一个在所有CRS规则之后读取的文件完成的,例如根据审计日志消息中引用的位置

/usr/local/apache/conf/modsecurity_crs_61_customrules.conf