访问 DDoS 攻击可见性遥测

借助 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 攻击缓解事件日志

在缓解 DDoS 攻击时,Google Cloud Armor 会生成三种类型的事件日志条目。日志格式尽可能包含来源 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 可能的值:
  • processed:流量未被 Google Cloud Armor 始终开启的 DDoS 防护拒绝,这意味着流量已根据安全政策评估。
  • blocked:流量被 Google Cloud Armor 始终开启的 DDoS 防护拒绝,并在根据安全政策评估之前被丢弃。

在 Google Cloud 控制台中,前往 Metrics Explorer 页面。

打开 Metrics Explorer

解读流量较低的虚拟 IP 地址的遥测指标

对于每秒接收的数据包少于 10 万个的虚拟 IP 地址 (VIP),我们建议您使用更长的时间范围以在 Cloud Monitoring 中查看指标。例如,如果较高流量的 VIP 使用的 ALIGN_RATE 为一分钟,我们建议改用 ALIGN_RATE 为 10 分钟。使用较长的时间范围有助于减少信噪比不佳造成的工件量。

此外,Google Cloud Armor 丢弃流量的速率(丢弃率)的某些组件通过统计方式推断,对于低流量 VIP 可能不太准确。这意味着在 DDoS 攻击期间,Cloud Monitoring 报告的丢弃率可能略低于真正的丢弃率。这样可以减少可能造成丢弃的流量被高估的统计工件,尤其是对于接收较低流量且未遭到攻击的 VIP。