Cloud NGFW 安全標記的最佳做法

本文提供架構最佳做法,說明如何在 Cloud Next Generation Firewall (Cloud NGFW) 中設計、管理及強制執行安全標記。安全標記會將防火牆規則評估作業繫結至虛擬機器 (VM) Workload Identity,而非動態 IP 位址,因此能以身分感知的方式維護網路安全。安全標記是 Cloud Next Generation Firewall Essentials 級別的基本功能,所有 Cloud NGFW 級別都支援。本指南適用於設計及維護雲端網路安全政策的網路架構師、安全管理員和開發運作工程師。

本文將最佳做法分為安全代碼生命週期的四個主要階段:

  1. 設計標記結構定義:標記應與工作負載身分一致、設定微區隔,並保持標記粗略,以免超出安全標記配額限制。
  2. 設定存取控管和管理機制:建立 Identity and Access Management (IAM) 權責劃分、選擇適當的範圍,並在佈建 VM 時強制執行標記。
  3. 設計防火牆政策和規則邏輯:最佳化規則評估、設定階層式政策,以及實施安全的預設拒絕規則。
  4. 保護、監控及稽核:使用標記保留功能防止意外刪除、啟用防火牆記錄,以及定期執行存取權稽核。

使用本指南前,請務必先熟悉「防火牆安全標記總覽」和「Cloud NGFW 總覽」。

最佳做法摘要

下表彙整安全代碼生命週期的核心最佳做法:

生命週期階段 重要建議 說明
標記結構定義設計 將標記與 Workload Identity 保持一致 依據工作負載角色定義標記鍵 (例如 env/prod 或 tier/database)、強制執行互斥值,並保留粗略的標記,以符合配額限制。
存取控管和管理 強制分散權責 只將 roles/resourcemanager.tagAdmin 角色授予安全團隊,將 roles/resourcemanager.tagUser 角色限制在部署管道中,並選擇適當的範圍 (organization=auto 與 network)。
VM 佈建 在建立時強制套用標記 在佈建期間將安全標記繫結至 VM 網路介面,並使用組織政策要求所有新執行個體都必須加上標記。
政策架構 指定目標安全標記 在防火牆規則中使用目標安全標記,以靜態方式評估效能。在階層式政策中設定預設拒絕規則,保護未標記的資源。
跨網路安全性 安全的跨虛擬私有雲 (VPC) 連線 在對接的虛擬私有雲網路和 Network Connectivity Center (NCC) 輪輻之間維護身分邊界,不必管理靜態 CIDR 區塊。
防護與監控 保護及監控代碼 套用標記保留功能,防止意外刪除;啟用防火牆規則記錄,以便排解問題;定期稽核 IAM 指派作業。

設計標記架構

結構良好的標記架構可簡化防火牆規則、簡化安全性稽核,並防止政策衝突。

根據工作負載身分調整標記

根據不同的工作負載角色、應用程式層或法規分類,設計安全標記鍵:

  • 環境層級:env/prod、env/staging、env/dev
  • 應用程式層級:tier/frontend、tier/backend、tier/database
  • 法規遵循狀態:scope/pci-dss、scope/hipaa

範例:三層式應用程式微區隔

一般的三層式網頁應用程式包含網頁前端、應用程式後端和資料庫。為保護資料庫免於未經授權的存取,您可以使用安全標記強制執行網路微區隔,讓每個層級只能與相鄰層級通訊:

[ Web Tier (tag: tier/frontend) ]
              |
              |  Allow port 8080 (Web can communicate with App)
              v
[ App Tier (tag: tier/backend) ]
              |
              |  Allow port 5432 (App can communicate with DB)
              v
[ Database Tier (tag: tier/database) ]

如要強制執行這項流程,請設定兩項防火牆政策規則:

  1. 規則 1 (網頁至應用程式):允許來源標記為 tier/frontend 且目標標記為 tier/backend 的通訊埠 8080 輸入。
  2. 規則 2 (應用程式到資料庫):允許來源標記為 tier/backend 且目標標記為 tier/database 的通訊埠 5432 輸入。

結果:網頁前端無法直接與資料庫層通訊,因為沒有防火牆規則允許 tier/frontend 和 tier/database 之間的流量。即使 VM 執行個體共用相同的 IP 子網路,Cloud NGFW 也會自動強制執行這項邊界。

從網路標記遷移至安全標記

從虛擬私有雲網路標記升級至防火牆安全標記時,請注意下列架構差異:

功能 網路標記 (虛擬私有雲規則) 安全標記 (防火牆政策)
目標規格 targetTags = ["web-tier"] targetSecureTags = ["tagValues/1234567890"]
來源規格 sourceTags = ["db-client"] sourceSecureTags = ["tagValues/0987654321"]
強制執行範圍 僅限單一虛擬私有雲網路 跨對等互連的虛擬私有雲網路、NCC 輪輻和階層式政策
轉送支援 您可以將網路標記做為靜態路由的下一個躍點 (也稱為路由標記) 您無法使用安全標記進行轉送。請僅用於防火牆流量篩選。
存取控管 個別標記沒有 IAM 權限 Resource Manager 和 IAM 角色會嚴格控管標記存取權和繫結

強制執行互斥的標記值

確保資源的每個標記鍵都只有一個值。舉例來說,VM 執行個體必須指派 env/prod 或 env/dev,但不能同時指派兩者:

  • 建議做法:指派單一環境標記 (env/prod),並透過參照目的地標記 (例如 env/shared-logging) 的明確防火牆規則,允許存取共用服務。

  • 不建議:在同一個 VM 上堆疊多個環境標記 (env/prod 和 env/dev)。這樣一來,VM 就能比對開發防火牆規則,將實際工作環境資源公開給開發人員流量。

保留粗略的標記,以免超出配額

請使用共用標記值將類似的 VM 執行個體分組,而非建立專屬的執行個體標記。粗略標記可讓您輕鬆管理資安態勢,並防止貴機構超出安全標記配額限制。

規劃標記結構定義時,請留意下列限制:

針對多 NIC VM,請使用標記,而非服務帳戶

在防火牆政策中,建議使用安全標記,而非服務帳戶,做為來源或目的地。與服務帳戶不同,您可以將安全標記直接繫結至多宿主 VM 的個別網路介面 (vNIC)。這種做法可讓您對每個網路介面強制執行不同的網路政策。

設定存取控管和管理機制

IAM 會控管安全標記,提供嚴格的存取控管和明確的分散權責。

使用 IAM 角色分散權責

在建立標記的管理員和佈建工作負載的團隊之間,建立作業界線:

  • 標記管理員 (roles/resourcemanager.tagAdmin):僅授予中央網路和安全性管理員,用於建立、編輯及刪除標記鍵和值。
  • 標記使用者 (roles/resourcemanager.tagUser):在特定專案或資源範圍內,授予自動化 CI/CD 部署管道或佈建服務帳戶,將標記繫結至 VM 網路介面。
  • 代碼檢視者 (roles/resourcemanager.tagViewer):授予作業和稽核團隊,讓他們唯讀檢視代碼設定。

防止自行標記和提權

  • 做法:在專案或網路介面層級,僅將 roles/resourcemanager.tagUser 授予經過稽核的基礎架構即程式碼 (IaC) 部署管道 (例如 Terraform google_tags_tag_binding 工作流程)。
  • 不建議:在組織層級廣泛授予 roles/resourcemanager.tagUser 給開發人員群組。這可防止開發人員自行將正式環境標記 (例如 env/prod) 附加至未經授權的開發工作負載。

適當設定標記鍵範圍

在符合營運管理方式的資源階層層級,定義安全標記鍵:

  • 組織範圍標記 (purpose-data=organization=auto):在組織或資料夾層級定義金鑰,集中管理多個虛擬私有雲網路、對接網路和階層式防火牆政策的安全。
  • 網路範圍標記 (purpose-data=network):僅適用於專案層級隔離,標記必須永久限制在單一虛擬私有雲網路中。

在建立 VM 時強制指派標記

在建立時將安全標記繫結至 VM 網路介面,可確保工作負載在啟動時立即受到保護。

如要確保使用者和自動化管道無法佈建沒有必要安全標記的執行個體,請設定機構政策,強制在資源建立時加入標記。這項政策會禁止建立未加上標記、不受保護的 VM 執行個體。

設計防火牆政策和規則邏輯

將安全標記整合至防火牆政策,以最佳化規則評估並維持一致的保護措施。

使用階層式防火牆政策集中強制執行

在組織或資料夾層級,定義參照階層式防火牆政策中安全標記的防火牆規則。階層式政策會強制執行全組織的管理機制,本機專案擁有者無法覆寫。

指定目標安全標記,提高效率

建立防火牆政策規則時,請盡可能指定目標安全標記 (targetSecureTags)。Cloud NGFW 評估目標標記和來源標記的方式不同:

  • 目標安全標記 (靜態比對):具有目標標記的規則只會靜態套用至帶有這些標記的 VM 執行個體。這可減少每個 VM 評估的規則數量,並提升效能。

  • 來源安全標記 (依連線動態比對):如果規則只指定來源標記 (sourceSecureTags),未指定目標標記,系統會針對網路中所有 VM 執行個體的每項連線動態評估規則,這會增加處理負擔。

使用階層式預設拒絕功能,實作安全的預設設定

由於 VM 執行個體不會從父項資料夾或機構繼承GCE_FIREWALL安全標記,因此請在階層式政策中定義安全的回退規則,保護未標記的資源:

  1. 預設拒絕規則:在機構或資料夾層級建立低優先順序規則 (例如優先順序 65000),根據預設拒絕所有流量。

  2. 有條件的允許規則:建立優先順序較高的規則,只允許特定安全標記之間的流量 (例如 tier/frontend 到 tier/backend)。

如果建立 VM 執行個體時未加上標記,或標記已分離,則階層式預設拒絕規則會自動封鎖執行個體的來回流量。

在對等互連網路和 NCC 中使用安全標記

使用安全標記控管透過虛擬私有雲網路對接或 Network Connectivity Center 虛擬私有雲輪輻連線的虛擬私有雲網路流量。安全標記可在連線網路中維持身分感知邊界,您不必管理變更的 CIDR 區塊。

保護、監控及稽核

持續運作的控制項可確保安全代碼設定維持安全無虞,並具備復原能力。

使用標記保留功能保護重要標記值

防止因刪除使用中的代碼而意外中斷服務:

  • 對重要的安全標記值套用標記保留,防止遭到刪除。
  • 從 VM 網路介面卸離安全標記前,請先確認沒有任何使用中的防火牆規則依賴該標記。必須先移除所有資源繫結 (和任何標記保留), Cloud de Confiance by S3NS 才會允許您刪除安全標記值。

啟用防火牆規則記錄

針對所有使用安全標記的規則,啟用防火牆政策規則記錄。這些記錄會擷取相符的流量點擊,協助您稽核存取模式、驗證區隔,以及排解連線問題。

定期稽核 IAM 角色指派

定期稽核 roles/resourcemanager.tagAdmin 和 roles/resourcemanager.tagUser 的主體指派作業。這項稽核可確保只有授權管道具有標記繫結權限,防止提權,並維護環境隔離。

後續步驟