关于 WAF 攻击得分
WAF 攻击得分通过分析请求行为和有效载荷特征,帮助检测已知攻击的变化。 这一功能通过识别与现有规则签名不完全匹配的恶意流量,对 WAF 管理的规则 进行补充。
WAF 管理规则使用持续更新的规则集,以较低的误报率检测众所周知的攻击模式。 这些规则对已有的攻击载体有效,但在检测经过修改或混淆的攻击(如通过模糊技术生成的攻击)方面没有进行优化。
WAF Attack Score 通过使用机器学习模型来评估每个请求,并根据请求是恶意请求的可能性从 1 到 99 之间分配攻击分数,从而弥补了这一不足。 与“僵尸管理”类似,您可以使用该评分来识别和处理未直接触发管理规则的可疑流量。
为获得最大程度的保护,CIS 建议同时使用 WAF 管理规则和 WAF 攻击得分来检测已知攻击及其变种。
可用分数
CIS WAF 提供以下攻击得分字段:
| 字段 | 类型 | 描述 | 所需计划 |
|---|---|---|---|
WAF 攻击得分cf.waf.score |
编号 | 将每个 WAF 攻击矢量的得分合并为一个得分的全局得分(1-99 分)。 | 企业 |
WAF SQLi 攻击得分cf.waf.score.sqli |
编号 | SQL 注入(SQLi) 攻击向量的评分范围为 1-99 分。 | 企业 |
WAF XSS 攻击得分cf.waf.score.xss |
编号 | 1-99 分,对 跨站脚本(XSS) 攻击向量进行分类。 | 企业 |
WAF RCE 攻击得分cf.waf.score.rce |
编号 | 1-99 分,对命令注入或 远程代码执行(RCE) 攻击向量进行分类。 | 企业 |
WAF 攻击得分等级cf.waf.score.class |
字符串 | 当前请求的攻击得分类别,基于 WAF 攻击得分。 可能的值:attack, likely_attack, likely_clean,和 clean。 |
所有套餐 |
您可以在 自定义规则 和 速率限制规则 的表达式中使用这些字段。 WAF 攻击得分字段使用 Number 数据类型,范围从 1 到 99,含义如下:
- 得分 1 表示请求很可能是恶意的。
- 99 分表示请求可能是干净的。
特殊分数 100 表示请求已送达 WAF 攻击分数分类系统,但系统没有给出分数。
在 Logpush 中,您可能还会看到 0 的分数。 该值表示请求未达到计算攻击得分的阶段。 例如,另一条规则或保护机制可能已经减轻了请求的影响。 0 的值不会出现在 CIS 控制台中。
全局 WAF 攻击得分是通过加权系统从单个攻击向量得分(如 SQL 注入 (SQLi) 和跨站脚本 (XSS) 分值)中得出的。 这些分数是相互依存的,总分并不是单个数值的简单相加。 全局得分越低,说明请求是恶意的可能性越大,而得分越高,说明请求越有可能是干净的。
根据计算出的请求攻击得分,WAF 攻击得分类别字段可以有以下值之一:
| 控制台标签 | 字段值 | 描述 |
|---|---|---|
| 攻击 | attack |
攻击得分介于 1 和 20 之间。 |
| 可能的攻击 | likely_attack |
攻击得分介于 21 和 50 之间。 |
| 可能干净 | likely_clean |
攻击得分介于 51 和 80 之间。 |
| 清除 | clean |
攻击得分介于 81 和 99 之间。 |
特殊攻击得分为 100 的请求会出现在 CIS 控制台中,WAF 攻击得分类别值为 Unscored。 不能在规则表达式中使用该类值。
WAF Attack Score 可自动检测和解码 Base64、JavaScript (Unicode 转义序列)和 URL 编码内容。 这种解码适用于请求的所有部分,包括 URL、标头和请求正文。
规则建议
避免仅根据低于 50 的 WAF 攻击得分值阻止流量。 可能攻击范围内的分数 (21-50) 可能包括误报,通常需要额外的过滤标准。
如果选择根据攻击得分阻止流量,请使用以下方法之一:
- 在表达中使用更严格的 WAF 攻击得分值。 例如,阻止 WAF 攻击得分低于
20或15的流量(您可能需要调整具体阈值)。 - 当您根据 WAF 攻击得分阻止传入流量时,请将较高的 WAF 攻击得分阈值与附加过滤器相结合。 例如,在表达式中加入对特定 URI 路径的检查,或使用机器人评分作为标准的一部分。
使用 WAF 攻击得分
要在自定义规则中配置 WAF 攻击得分,请按照以下步骤操作:
-
要创建自定义规则,请选择以下选项之一:
-
如果您是企业计划客户,请 创建一条自定义规则,阻止 WAF 攻击得分小于或等于
20的请求。 该值是建议的起始阈值。- 等效规则表达式:
cf.waf.score le 20 - 行动阻止
- 等效规则表达式:
-
如果您是标准计划客户,请使用 WAF 攻击得分类别字段创建自定义规则。 例如,阻止分值等级为
Attack的请求。- 等效规则表达式:
cf.waf.score.class eq "attack" - 行动阻止
- 等效规则表达式:
-
-
在最初的几天里,要密切监测规则的执行情况。 验证所选阈值或类别值是否与流量模式一致。 如果发现误报或漏报威胁,请调整规则。
-
更新规则操作。 如果您是企业计划客户,并创建了带有日志操作的规则,请将规则操作更改为更强的操作,如托管挑战或阻止。
WAF 攻击得分和僵尸得分衡量不同类型的风险。 WAF 攻击得分可识别与已知攻击模式相似的请求,包括 WAF 托管规则可能检测不到的变体。 Bot Score 可识别自动流量,并评估请求来自机器人的可能性。 使用 WAF 攻击得分检测恶意有效载荷和攻击行为。 使用 Bot Score 识别和管理自动流量。