本节介绍了如何将 WAF 设置为异常分数模式。

更改 WAF 配置文件的默认行为

注:

规则可能具有不同的中断操作。大多数规则将 block 作为中断操作。Block 将触发规则引擎以执行附加到策略的 WAF 配置文件中提到的默认操作。该默认操作包含 deny 操作,deny 操作随后触发标记(检测)或拒绝(实施)请求。

例如,默认操作 phase:1,pass,status:403,log,auditlog

新的默认操作需要为 pass。需要为 WAF 处理的所有阶段更改该操作。

要修改默认操作,请执行以下操作:

  1. NSX Advanced Load Balancer UI 中,导航到模板 > WAF > WAF 配置文件

  2. 单击所需策略对应的编辑图标。

  3. 编辑 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)。如果未正确编写变量,则规则不会按预期方式进行匹配。