为了检测和缓解 DDoS 攻击,Cloudflare 的自主边缘和集中式 DDoS 系统会在旁路(out of path)分析流量样本,这使得 Cloudflare 能够异步检测 DDoS 攻击,而不会导致延迟或影响性能。
分析的样本包括:
- 数据包字段:例如源 IP、源端口、目标 IP、目标端口、协议、TCP 标志、序列号、选项和数据包速率。
- HTTP 请求元数据:例如 HTTP 请求头、用户代理、查询字符串、路径、主机、HTTP 方法、HTTP 版本、TLS 密码套件版本和请求速率。
- HTTP 响应指标:例如客户源站服务器返回的错误代码及其速率。
Cloudflare 使用一组动态规则来扫描攻击模式、已知的攻击工具、可疑模式、协议违规、导致大量源站错误的请求、冲击源站或缓存的过量流量以及其他攻击向量。每条规则都有预定义的敏感度级别和默认操作,这些操作根据该规则对流量确实是攻击的一部分的置信度而有所不同。
一旦攻击流量与某条规则匹配,Cloudflare 的系统就会追踪该流量并生成实时特征,以精准匹配攻击模式并缓解攻击,而不会影响合法流量。这些规则能够根据攻击的各种属性和每个属性的信号强度生成不同的特征。例如,如果攻击是分布式的——即源自许多源 IP——那么源 IP 字段将不能作为强有力的指标,该规则将不会选择源 IP 字段作为攻击特征的一部分。一旦生成指纹,就会将其作为缓解规则传播到 Cloudflare 全球网络中最优的位置,以实现具有成本效益的缓解。这些缓解规则是临时性的,将在攻击结束后不久过期,攻击结束是指没有更多流量匹配该规则。
| 操作 (Actions) | 描述 |
|---|---|
| Block (阻止) | 匹配的请求被拒绝访问网站。 |
| Managed Challenge (托管质询) | 根据请求的特征,Cloudflare 将选择合适类型的质询。 |
| Interactive Challenge (交互式质询) | 发起请求的客户端必须通过交互式质询。 |
| Log (日志) | 将匹配的请求记录在 Cloudflare 日志中。 |
| Use rule defaults (使用规则默认值) | 使用为每条规则预定义的默认操作。 |
每条规则的阈值均有所不同,在全球以及每个数据中心(colocation)都有不同的阈值。在规则内部,流量会被生成指纹,阈值是针对指纹的。很难提前知道您的流量会触发哪些规则、数据中心或指纹,因此阈值数值并不一定有参考价值。
相反,Cloudflare 的 DDoS 防护系统提供了敏感度调节。如果您遇到误报,可以降低敏感度。您还可以使用 Log 操作来帮助找到合适的敏感度级别。您可以在 Log 模式下降低敏感度,直到规则不再匹配。
- 高级 TCP 和 DNS 防护系统提供即时缓解。
- 使用网络层 DDoS 防护托管规则在边缘检测和缓解第 3/4 层 DDoS 攻击平均最多需要 3 秒。
- 使用 HTTP DDoS 防护托管规则在边缘检测和缓解 HTTP DDoS 攻击平均最多需要 3 秒。
若要详细了解 DDoS 防护如何与数据本地化协同工作,请参阅 Data Localization Suite 产品兼容性。