借助 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 Armor 需要访问以下日志。这些日志必须存储在 Cloud Logging 中,或者路由到 Cloud Armor 可以访问的日志记录存储桶。
networksecurity.googleapis.com/dos_attacknetworksecurity.googleapis.com/network_dos_attacknetworksecurity.googleapis.com/network_dos_attack_mitigations
Cloud Logging 攻击缓解事件日志
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 控制台中,前往 Logs Explorer 页面,然后查看 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 分钟。使用较长的时间范围有助于减少信噪比不佳造成的工件量。
此外,Cloud Armor 丢弃流量的速率(丢弃速率)的某些组成部分通过统计方式推断得出,对于低流量 VIP 可能不太准确。这意味着在 DDoS 攻击期间,Cloud Monitoring 报告的丢弃率可能略低于真正的丢弃率。这样可以减少可能造成丢弃的流量被高估的统计工件,尤其是对于接收较低流量且未遭到攻击的 VIP。