您可以使用 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 訂閱者。以下各節說明如何使用記錄和監控功能,分析 DDoS 攻擊及其來源。下列負載平衡器類型可提供分散式阻斷服務攻擊資訊:
- 全域外部應用程式負載平衡器
- 傳統版應用程式負載平衡器
如果您使用跨專案服務參照,則只能在主機或服務專案下查看與 DDoS 攻擊可視性相關的遙測和記錄,該專案必須包含負載平衡器的前端和網址對應。您無法在包含後端服務的服務專案下查看遙測和記錄。
為確保記錄和報表正確運作,Google Cloud Armor 需要存取下列記錄。這些記錄必須儲存在 Cloud Logging 中,或轉送至 Google Cloud Armor 可存取的記錄值區。
networksecurity.googleapis.com/dos_attack
networksecurity.googleapis.com/network_dos_attack
networksecurity.googleapis.com/network_dos_attack_mitigations
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 控制台的「Logs Explorer」頁面,查看 ProtectedEndpoint
資源。
或者,您也可以查看 network_dos_attack_mitigations
記錄名稱。
Cloud Monitoring 指標
您可以在「Protected Network Endpoint」(受保護的網路端點) 資源 (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 位址遙測指標
如果虛擬 IP 位址 (VIP) 每秒收到的封包數少於 100,000 個,建議您使用較長的時間範圍,在 Cloud Monitoring 中查看指標。舉例來說,如果 VIP 的流量較高,可能會使用 1 分鐘的 ALIGN_RATE
,我們建議改用 10 分鐘的 ALIGN_RATE
。使用較長的時間視窗有助於減少因訊噪比不佳而產生的雜訊量。
此外,Google Cloud Armor 的流量降幅 (降幅率) 部分,是透過統計方式推斷而得,因此在低流量 VIP 的情況下,可能會不太準確。也就是說,在 DDoS 攻擊期間,Cloud Monitoring 報表顯示的掉線率可能會比實際掉線率稍低。這麼做可減少統計異常現象,避免系統高估流量遭到拒絕的數量,特別是針對流量偏低且未遭受攻擊的 VIP。