block
描述:执行SecDefaultAction定义的阻断性动作。
所属动作组:阻断性动作
此操作本质上是一个占位符,旨在供规则编写者用于阻止访问,但不指定阻止的具体执行方式。这个想法是为了使用户可以自定义阻断后执行哪些操作,以及允许用户,如果他们愿意,可以选择覆盖阻止操作。在ModSecurity的未来版本中,将添加更多控件和功能来定义“如何”阻止。
例如:
#配置阻断后所执行的的默认动作
SecDefaultAction phase:2,deny,id:101,status:403,log,auditlog
#检测我们想要阻止的攻击
SecRule ARGS attack1 phase:2,block,id:102
#检测我们只想警告的攻击
SecRule ARGS attack2 phase:2,pass,id:103
可以使用SecRuleUpdateActionById指令覆盖规则处理阻断的方式。这在三种情况下很有用:
如果规则已阻止硬编码,并且您希望它使用您确定的策略
如果规则被写入阻止,但您希望它只发出警告
如果规则只写入警告,但您希望它阻止
以下示例演示了第一种情况,其中删除了硬编码块以支持用户可控制的块:
#配置阻断后所执行的的默认动作
SecDefaultAction phase:2,deny,status:403,log,auditlog,id:104
#检测攻击并阻止
SecRule ARGS attack1 phase:2,id:1,deny
#更改ID为1的规则的阻断方式
SecRuleUpdateActionById 1 block
更多使用方式可参见:ModSecurity拦截后跳转到指定的提示页面
Created with the Personal Edition of HelpNDoc: Easy EPub and documentation editor