本节介绍了如何将 WAF 设置为异常分数模式。
更改 WAF 配置文件的默认行为
注:
规则可能具有不同的中断操作。大多数规则将 block
作为中断操作。Block
将触发规则引擎以执行附加到策略的 WAF 配置文件中提到的默认操作。该默认操作包含 deny 操作,deny 操作随后触发标记(检测)或拒绝(实施)请求。
例如,默认操作 phase:1,pass,status:403,log,auditlog
。
新的默认操作需要为 pass。需要为 WAF 处理的所有阶段更改该操作。
要修改默认操作,请执行以下操作:
从 NSX Advanced Load Balancer UI 中,导航到 。
单击所需策略对应的编辑图标。
在编辑 WAF 配置文件屏幕中修改默认操作,如下所示。
更改各个阈值和阻止不同的阈值变量(例如,按组)
可以使用 CRS 之前的自定义规则更改阈值或分数变量。
SecRule REMOTE_ADDR "@unconditionalMatch" "id:4099803,phase:1,pass,setvar:tx.rfi_score_threshold=2"
要使用不同的阈值进行阻止,需要使用 CRS 之后的自定义规则。
注:
建议禁用 CRS 规则 949110
,该规则根据总分拒绝请求。
以下规则可用于阻止规则。
SecRule TX:RFI_SCORE "@ge %{tx.rfi_score_threshold}""msg:'Inbound RFI-Anomaly Score Exceeded (Total Score: %{tx.rfi_score})', severity:CRITICAL,phase:request,id:1949110,t:none, deny,log,tag:'application-multi',tag:'language-multi', tag:'platform-multi',tag:'attack-generic', setvar:tx.inbound_tx_msg=%{tx.msg}"
该规则仅阻止 tx.rfi_score_threshold
和累积的 tx.rfi_score
变量。
可以为所有其他攻击组创建类似的规则。
注:
在 ModSecurity 语言中,变量(例如,TX:RFI_SCORE
)必须使用 “:”
(冒号)编写。
在操作列表和运算符中,变量是使用 . (dot)
编写的(例如,tx.rfi_score
)。如果未正确编写变量,则规则不会按预期方式进行匹配。