自适应 DDoS 防护 (Adaptive DDoS Protection) 会学习您独特的流量模式并进行自适应,从而针对第 7 层和第 3/4 层的复杂 DDoS 攻击提供更好的防护,具体取决于您订阅的 Cloudflare 服务。
自适应 DDoS 防护提供以下类型的保护:
- Adaptive DDoS Protection for Origins(针对源站的自适应 DDoS 防护):检测并缓解偏离您站点源站错误画像的流量。
- Adaptive DDoS Protection for User-Agents(针对 User-Agent 的自适应 DDoS 防护):检测并缓解偏离 Cloudflare 网络上常见的主要 User Agent 的流量。User Agent 画像是从整个 Cloudflare 网络构建的,而不仅来自客户的区域。
- Adaptive DDoS Protection for Locations(针对位置的自适应 DDoS 防护):检测并缓解偏离您站点地理分布画像的流量。该画像是根据过去七天每个客户端国家和地区的速率计算得出的。
- Adaptive DDoS Protection for Protocols(针对协议的自适应 DDoS 防护):检测并缓解偏离您流量 IP 协议画像的流量。该画像是作为您每个前缀的全局速率计算的。
Cloudflare 自适应 DDoS 防护向 Enterprise 客户提供,如下表所示:
| 功能 | 画像维度 | WAF/CDN1 | Magic Transit / Spectrum BYOIP2 |
|---|---|---|---|
| HTTP 自适应 DDoS 防护 | |||
| 针对源站 (For Origins) | 源站错误 | 是 | — |
| 针对 User-Agent (For User-Agents) | User Agent (整个 Cloudflare 网络) |
是 | — |
| 针对位置 (For Locations) | 客户端 IP 国家和地区 | 是 | — |
| L3/4 自适应 DDoS 防护 | |||
| 针对协议 (For Protocols) | IP 协议 | — | 是 |
| 针对协议 (For Protocols) | 针对 UDP 的客户端 IP 国家和地区 | — | 是 |
1 订阅了高级 DDoS 防护的 Enterprise 计划的 WAF/CDN 客户。
2 订阅了 Enterprise 计划的 Magic Transit 和 Spectrum BYOIP 客户。
自适应 DDoS 防护通过查看过去七天每天的最高流量速率来创建流量画像。这些画像每天重新计算一次,并保持七天的滚动时间窗口。自适应 DDoS 防护存储为每个预定义维度值观察到的最大流量速率(画像维度因每条规则而异)。每个画像使用一个维度,例如请求的来源国、User Agent 和 IP 协议。偏离您画像的传入流量可能是恶意的。
为了消除异常值,速率计算仅考虑第 95 百分位数速率(丢弃最高 5% 的最高速率)。Cloudflare 需要最低数量的每秒请求数 (rps) 来构建流量画像。HTTP 自适应 DDoS 防护规则还结合了 Cloudflare 的机器学习 (ML) 模型来识别可能是自动化的流量。
Cloudflare 可能会不时更改这些防护规则的逻辑以进行改进。
要查看被 HTTP 自适应 DDoS 防护规则标记的流量:
-
在 Cloudflare 仪表板中,前往 Security Analytics(安全分析) 页面。
Go to Analytics ↗ -
前往 Events(事件)。
-
按
Service equals HTTP DDoS和规则 ID 进行过滤。
- 登录 Cloudflare 仪表板 ↗,并选择您的账户和域名。
- 前往 Security(安全性) > Events(事件)。
- 按
Service equals HTTP DDoS和规则 ID 进行过滤。
要查看被 L3/4 自适应 DDoS 防护规则标记的流量:
-
在 Cloudflare 仪表板中,前往 Security Analytics(安全分析) 页面。
Go to Analytics ↗ -
前往 Events(事件)。
-
按规则 ID 进行过滤。
-
在 Cloudflare 仪表板中,前往 Network analytics(网络分析) 页面。
Go to Network analytics ↗ -
按规则 ID 进行过滤。
您还可以通过 Logpush 或 GraphQL API 获取有关被标记流量的信息。
要确定自适应规则是否适合您的流量,使其仅缓解攻击流量而不会引起误报,请查看被自适应规则记录为 Logged(仅记录) 的流量。
如果您确实看到了被自适应规则记录为 Logged 的流量,请使用仪表板来确定该流量是符合合法用户的特征还是符合攻击流量的特征。由于每个互联网资产都是独特的,了解流量是否合法需要您了解您自己的合法流量的外观。例如,HTTP 请求的 User Agent、来源国、请求头、查询字符串,以及 L3/4 流量的协议和端口。
- 如果您确定该规则仅标记了攻击流量,您应当考虑创建重写规则,并将该规则的操作启用为 Managed Challenge (托管质询) 或
Block操作。 - 如果您发现合法流量被标记,您应该降低该规则的敏感度级别并观察被标记的流量。您可以继续降低敏感度级别,直到合法流量不再被标记。然后,您应当创建重写规则来以缓解操作启用该规则。
- 如果该规则仍标记合法流量,您可以考虑使用表达式过滤器来限制规则,以排除某些类型的流量。
在敏感度设置为 high 且默认规则操作为 log 时,日志中将仅显示内部 high 阈值以上疑似攻击流量的数据包或请求。例如,如果您将阈值设置为 medium 或 low,则只有超过这些阈值的数据包才会被记录日志。
您可以调整自适应 DDoS 防护规则的操作和敏感度。默认操作为 Log(记录)。使用此操作可首先观察标记了哪些流量,然后再决定采用何种缓解操作。
要配置规则,请参阅以下页面中的说明:
- 在仪表板中配置 HTTP DDoS 攻击防护(适用于 L7 规则)
- 在仪表板中配置网络层 DDoS 攻击防护(适用于 L3/4 规则)
有关可用配置参数的更多信息,请参阅以下页面:
- 针对 Origins, User-Agents, 和 Locations 的 (L7) DDoS 防护规则:
HTTP DDoS 攻击防护参数 - 针对 Protocols 的 (L3/4) DDoS 防护规则:
网络层 DDoS 攻击防护参数