匹配的规则加起来就是一个基于请求的阈值。如果达到该阈值,将会阻止请求。本主题介绍了如何配置和修改多个阈值限制。
默认情况下,在服务引擎中设置了多个阈值,并且可以更改这些阈值。
Default thresholds setvar:tx.sql_injection_score_threshold=15, setvar:tx.xss_score_threshold=15, setvar:tx.rfi_score_threshold=5, setvar:tx.lfi_score_threshold=5, setvar:tx.rce_score_threshold=5, setvar:tx.command_injection_score_threshold=5, setvar:tx.php_injection_score_threshold=5, setvar:tx.http_violation_score_threshold=5, setvar:tx.trojan_score_threshold=5, setvar:tx.session_fixation_score_threshold=5, setvar:tx.inbound_anomaly_score_threshold=5, setvar:tx.outbound_anomaly_score_threshold=4
最常用的阈值是 inbound_anomaly_score_threshold
,它用于在默认 CRS 规则“949110 - 入站异常分数”中拒绝请求。
setvar:tx.critical_anomaly_score=5, setvar:tx.error_anomaly_score=4, setvar:tx.warning_anomaly_score=3, setvar:tx.notice_anomaly_score=2"
执行 WAF 策略时,匹配的规则将添加到特定阈值。
例如:931120。检查 RFI (3/4)。
setvar:tx.anomaly_score=+%{tx.critical_anomaly_score}
setvar:tx.rfi_score=+%{tx.critical_anomaly_score}
在评估了所有规则时,规则“949110 - 入站异常分数”将检查阈值 tx.anomaly_score and trigger
,并在达到该阈值时拒绝请求。
SecRule TX:ANOMALY_SCORE "@ge %{tx.inbound_anomaly_score_threshold}" "msg:'Inbound Anomaly Score Exceeded (Total Score: %{TX.ANOMALY_SCORE})', severity:CRITICAL, phase:request, id:949110, t:none, deny, log, tag:'application-multi', tag:'language-multi', tag:'platform-multi', tag:'attack-generic', setvar:tx.inbound_tx_msg=%{tx.msg}, setvar:tx.inbound_anomaly_score=%{tx.anomaly_score}"
将创建日志文件条目。
要查看日志,请执行以下操作:
导航到
。单击映射到 WAF 策略的虚拟服务。
单击日志。
展开日志条目并查看特征码 CRS 规则。