本文說明 GKE 網路安全的核心概念,例如最低權限原則,並協助您選擇合適的工具來保護叢集。導入 GKE 網路安全性的主要目標是隔離工作負載,以及確保多用戶群安全。為達成這些目標,您應採用最低權限和縱深防禦原則,並根據實用資料做出安全決策。
在 Google Kubernetes Engine (GKE) 中,對網路流量套用最小權限原則,表示只允許應用程式運作所需的通訊。根據預設,GKE 叢集內的網路是開放的,也就是說,每個 Pod 都能與其他 Pod 通訊。
這份文件可協助作業人員、網路專家和安全專家瞭解及實作 GKE 叢集內的網路安全。如要進一步瞭解 Google Cloud中的常見角色和範例工作,請參閱「常見的 GKE 使用者角色和工作」。
閱讀本文前,請先確認您熟悉下列事項:
- GKE 網路概念:如需總覽,請參閱「關於 GKE 網路」。
- Kubernetes Pod、服務和命名空間:這些基本的 Kubernetes 資源是定義網路安全政策的中心。請參閱 Kubernetes 說明文件。
- 最低權限原則:這項安全原則是本文通篇採用的核心概念。
GKE 網路安全目標
GKE 網路安全政策可在叢集內提供精細的 Kubernetes 感知流量控制。這些政策是整體安全策略的重要元素。如要實作穩健的網路安全機制,請考慮下列基本原則:
- 最低權限:只授予系統和服務執行功能所需的最低權限。這項原則可降低遭入侵的潛在影響。Kubernetes 網路政策可協助您從預設開放的網路,改為只允許必要連線的網路。
- 縱深防禦:分層採用多種獨立的安全控管機制。一項控制措施失效不會導致整個系統遭到入侵。舉例來說,您可以使用網路政策隔離資料庫,即使資料庫本身需要驗證也沒問題。
- 可執行的資料:根據資料做出安全決策。威脅模擬和風險評估可協助您瞭解安全防護機制。網路政策記錄等功能可提供資料,協助您驗證政策及偵測潛在違規行為。
選擇網路安全政策
如要選擇合適的政策,請找出需要控管的流量類型和範圍。
流量類型
如要選擇合適的政策,請考量要管理的流量來源和目的地:
叢集內 Pod 之間的通訊:如要控管微服務之間的通訊方式,請使用以 Pod 標籤和命名空間為運作對象的政策。
- 應用程式開發人員可以使用標準 Kubernetes
NetworkPolicy,在應用程式的命名空間中定義 Ingress 和 Egress 規則。 - 叢集管理員可以使用
CiliumClusterwideNetworkPolicy強制執行適用於整個叢集的安全防護措施。NetworkPolicy中的拒絕規則優先於CiliumClusterwideNetworkPolicy中的允許規則。
- 應用程式開發人員可以使用標準 Kubernetes
從 Pod 到外部服務的出站流量:如要根據網域名稱控管從 Pod 到外部服務的出站流量,請使用
FQDNNetworkPolicy。如果外部服務的 IP 位址不是靜態,這項政策就非常實用,因為系統會根據 DNS 自動解析及更新允許的 IP 位址。加密所有服務對服務的流量:如要確保服務之間的所有通訊都經過加密和驗證,請使用服務網格。使用 Istio 或 Anthos Cloud Service Mesh 實作相互 TLS (mTLS),自動處理加密作業。
政策選項摘要
下表根據您的安全性目標,摘要說明應使用的政策。
| 目標 | 建議的政策 |
|---|---|
| 使用標籤和命名空間控管 Pod 之間的流量。 | Kubernetes NetworkPolicy |
| 依網域名稱控管外部服務的輸出流量。 | FQDNNetworkPolicy |
| 加密及驗證所有服務對服務的流量。 | Istio 或 Anthos Cloud Service Mesh (適用於 mTLS) |
| 以管理員身分強制執行叢集範圍的必要規則。 | CiliumClusterwideNetworkPolicy |
| 稽核及記錄政策允許或拒絕的連線。 | 網路政策記錄 (適用於任何政策) |
稽核及排解網路政策問題
導入網路政策後,請確認政策是否正常運作,並診斷任何連線問題。您可以使用「網路政策記錄」做為主要工具。
啟用網路政策記錄功能後,GKE 會在 Cloud Logging 中,為網路政策允許或拒絕的每項連線產生記錄項目。這些記錄對於執行安全稽核和排解異常行為問題至關重要。查看這些記錄可瞭解規則的具體效果,確認合法流量是否如預期流動,以及未經授權的流量是否遭到封鎖。
後續步驟
- 瞭解如何設定 Kubernetes
NetworkPolicy。 - 瞭解如何使用
FQDNNetworkPolicy控管輸出流量。 - 瞭解如何為叢集範圍規則設定
CiliumClusterwideNetworkPolicy。 - 瞭解如何啟用網路政策記錄,稽核政策。