借助 Google Cloud Armor Enterprise,您可以使用 Cloud Logging 和 Cloud Monitoring 来分析 DDoS 攻击及其来源。
Google Cloud Armor 会自动检测和缓解网络层 (第 3 层) 和传输层 (第 4 层) 攻击,在强制执行安全政策之前执行缓解措施,并且仅根据您的安全政策规则评估格式正确的请求。因此,由于始终开启的 DDoS 防护,流量丢弃不会出现在安全政策或后端的遥测中。
相反,DDoS 缓解事件的 Cloud Logging 和 Cloud Monitoring 指标是 DDoS 攻击可见性的一部分,这是一项专门适用于 Google Cloud Armor Enterprise 订阅者的功能。以下部分介绍了如何使用 Logging 和 Monitoring 来分析 DDoS 攻击及其来源。DDoS 攻击可见性适用于以下负载均衡器类型:
- 全球外部应用负载均衡器
- 传统应用负载均衡器
如果您使用跨项目服务引用,则只能在包含负载均衡器的前端和网址映射的宿主项目或服务项目下查看与 DDoS 攻击可见性相关的遥测和日志记录。您无法在包含后端服务的服务项目下查看遥测和日志记录。
Cloud Logging 攻击缓解事件日志
Google Cloud Armor 在缓解 DDoS 攻击时会生成三种类型的事件日志条目。日志格式尽可能包含来源 IP 地址和地理位置的分析。以下部分提供了每种类型的事件日志的日志格式示例:
已启动缓解
{ "id": "20220101_1235_mitigiation_1.2.3.4", "mitigationType": "MITIGATION_STARTED", "targetVip": "1.2.3.4", "totalVolume": { "pps": "1234000", "bps": "9876000000" }, "started": { "totalAttackVolume": { "pps": "1000000", "bps": "9000000000" }, "topSourceIp": [ { "ipAddress": "1.2.3.4", "volume": { "pps": "10000", "bps": "2000000" } }, { "ipAddress": "2.3.4.5", "volume": { "pps": "5000", "bps": "1000000" } } ], "topSourceGeo": [ { "geo": "US", "volume": { "pps": "100000", "bps": "20000000" } } ] } }
缓解进行中
{ "id": "20220101_1235_mitigiation_1.2.3.4", "mitigationType": "MITIGATION_ONGOING", "targetVip": "1.2.3.4", "totalVolume": { "pps": "1234000", "bps": "9876000000" }, "ongoing": { "totalAttackVolume": { "pps": "1000000", "bps": "9000000000" }, "topSourceIp": [ { "ipAddress": "1.2.3.4", "volume": { "pps": "10000", "bps": "2000000" } }, { "ipAddress": "2.3.4.5", "volume": { "pps": "5000", "bps": "1000000" } } ], "topSourceGeo": [ { "geo": "US", "volume": { "pps": "100000", "bps": "20000000" } } ] } }
缓解已结束
{ "id": "20220101_1235_mitigiation_1.2.3.4", "mitigationType": "MITIGATION_ENDED", "targetVip": "1.2.3.4", "totalVolume": { "pps": "2314000", "bps": "9768000000" }, "ended": { "attackDurationSeconds": 345 } }
在 Google Cloud 控制台中,前往“日志浏览器”页面,然后查看 ProtectedEndpoint
资源。
或者,您可以查看 network_dos_attack_mitigations
日志名称。
Cloud Monitoring 指标
DDoS 攻击缓解遥测指标显示在受保护的网络端点 资源 (ProtectedEndpoint
) 下,该资源专门用于在 Google Cloud Armor Enterprise 中注册的应用层(第 7 层)虚拟 IP 地址。可用的指标如下:
- 入站字节数 (
/dos/ingress_bytes
) - 入站流量数据包 (
/dos/ingress_packets
)
您可以根据以下标签对上述指标进行分组和过滤:
标签 | 值 |
---|---|
project_id |
已注册 Cloud Armor Enterprise 的项目的 ID。 |
location |
受保护端点的位置。 |
vip |
受保护的端点的虚拟 IP 地址。 |
drop_status |
可能的值:
|
在 Google Cloud 控制台中,前往 Metrics Explorer 页面。
解读流量较低的虚拟 IP 地址的遥测指标
对于每秒接收的数据包少于 10 万个的虚拟 IP 地址 (VIP),我们建议您使用更长的时间范围以在 Cloud Monitoring 中查看指标。例如,如果较高流量的 VIP 使用的 ALIGN_RATE
为一分钟,我们建议改用 ALIGN_RATE
为 10 分钟。使用较长的时间范围有助于减少信噪比不佳造成的工件量。
此外,Google Cloud Armor 丢弃流量的速率(丢弃率)的某些组件通过统计方式推断,对于低流量 VIP 可能不太准确。这意味着在 DDoS 攻击期间,Cloud Monitoring 报告的丢弃率可能略低于真正的丢弃率。这样可以减少可能造成丢弃的流量被高估的统计工件,尤其是对于接收较低流量且未遭到攻击的 VIP。