ctl
说明:ctl动作允许为交互配置选项更新。
动作组:非中断性
例如:
# Parse requests with Content-Type "text/xml" as XML
SecRule REQUEST_CONTENT_TYPE ^text/xml nolog,pass,ctl:requestBodyProcessor=XML
注意
支持以下配置选项:
1.auditEngine
2.auditLogParts
3.debugLogLevel
4.ruleRemoveById(单个的规则ID,或者单个的规则ID范围接受一个参数)
5..requestBodyAccess
6.forceRequestBodyVariable
7.requestBodyLimit
8.requestBodyProcessor
9.responseBodyAccess
10.responseBodyLimit
11.ruleEngine
requestBodyProcessor和forceRequestBodyVariable出现异常,每一个配置选项对一个配置指令的用法基本都是相同的。
requestBodyProcessor
选项允许你配置请求体处理器。默认ModSecurity使用URLENCODED和MULTIPART处理器来处理application/x-www-form-urlencoded
and a multipart/form-data,
第三方处理器,XML也
是支持的,但是从来不隐式使用。相反地,你必须要通知ModSecurity通过在
REQUEST_HEADERS
阶段放置几个规则来使用它。当请求体被当做XML处理后你就能使用XML相关的功能来检测它了。
请求体处理器在解析过程中不会因为一个错误出现就中断交互。而是设置变量
REQBODY_PROCESSOR_ERROR
和 REQBODY_PROCESSOR_ERROR_MSG
,这些变量在REQUEST_BODY阶段应该被检测并采取一个合适的动作。
当没有请求体处理器配置forceRequestBodyVariable选项允许您配置REQUEST_BODY变量,这允许检查未知的请求体类型。
deny
说明:停止规则处理并且中断交互。
动作组:中断性
例如:
SecRule REQUEST_HEADERS:User-Agent "nikto" "log,deny,msg:'Nikto Scanners Identified'"