基礎架構指南

以下最低可行安全平台指南符合基礎架構支柱。

基本等級規範

請先導入下列基礎架構規範。

項目

停用 VM 序列埠存取權

說明

設定 compute.disableSerialPortAccess 機構政策限制,關閉序列埠存取權。停用 Compute Engine VM 的序列埠存取權,有助於消除可繞過防火牆規則和其他網路安全控制項的存取管道。互動式序列主控台主要用於緊急疑難排解,但如果啟用後未關閉,可能會建立持續性後門,成為攻擊目標。

停用序列埠存取權可強制所有管理存取權都必須透過標準稽核路徑 (例如 SSH) 進行,藉此落實縱深防禦安全措施,您也可以啟用 Identity and Access Management (IAM) 和 Identity-Aware Proxy (IAP) 來保護這些路徑。

相關資訊
項目 ID MVSP-CO-1.24
對應

相關的 NIST-800-53 控制項:

  • AC-3

相關的 CRI 設定檔控制項:

  • PR.AC-3.1
項目

除非必要,否則請停用 IPv6

說明

除非有特殊需求,否則請停用 IPv6 外部子網路建立作業。為縮小攻擊面,請考慮在未主動管理或不需要 IPv6 的系統和網路上停用 IPv6。許多機構都已建立成熟的 IPv4 安全控管和監控機制,但工具和政策可能無法完全涵蓋 IPv6,這可能會造成重大的威脅盲點。執行雙堆疊網路也會增加作業複雜度,需要特定設定和專業知識,才能有效管理及排解問題。因此,如果沒有明確的 IPv6 業務驅動因素,停用 IPv6 可簡化環境,並確保所有流量都持續透過已建立的 IPv4 安全防護機制進行篩選。

相關資訊
項目 ID MVSP-CO-1.25
對應

相關的 NIST-800-53 控制項:

  • CM-7

相關的 CRI 設定檔控制項:

  • PR.PT-3.1

Compliance Manager 控制項:

項目

啟用 Shielded VM 功能

說明

為執行個體啟用受防護的 VM 虛擬信任平台模組 (vTPM) 和完整性監控屬性。vTPM 和完整性監控屬性是預設 VM 執行個體建立程序的一部分。使用受防護 VM 的 vTPM 和完整性監控屬性,確保 VM 僅以值得信賴的未修改程式碼啟動。

vTPM 提供安全的虛擬加密處理器,可產生並儲存整個啟動順序的加密測量值,從 UEFI 韌體到核心驅動程式皆涵蓋在內。完整性監控功能會持續將這些執行階段測量結果,與 VM 首次建立時建立的已知良好基準進行比較。

這些功能提供可驗證的信任鏈,並在偵測到任何惡意修改 (例如來自開機套件或 Rootkit) 時,自動發出警示或採取行動。受防護的 VM 功能可從執行個體啟動時起,維護工作負載的完整性。

相關資訊
項目 ID MVSP-CO-1.28
對應

相關的 NIST-800-53 控制項:

  • SI-7

相關的 CRI 設定檔控制項:

  • PR.DS-6.1

Compliance Manager 控制項:

項目

使用 GKE Autopilot

說明

使用 Google Kubernetes Engine (GKE) Autopilot 叢集。Autopilot 叢集提供強大的安全措施,預設啟用許多容器或 GKE 安全最佳做法。

相關資訊
項目 ID MVSP-CO-1.29
對應

相關的 NIST-800-53 控制項:

  • CM-2

相關的 CRI 設定檔控制項:

  • PR.IP-1.1
項目

為 GKE 叢集和節點使用最低權限帳戶

說明

為 Google Kubernetes Engine (GKE) 叢集和節點使用最低權限的 Identity and Access Management (IAM) 服務帳戶。GKE 控制層的存取權會限制為單一 DNS 型端點。實作最低權限原則可大幅縮減攻擊面,不必額外設定防火牆規則或堡壘主機。

相關資訊
項目 ID MVSP-CO-1.30
對應

相關的 NIST-800-53 控制項:

  • AC-6

相關的 CRI 設定檔控制項:

  • PR.AC-4.1

Compliance Manager 控制項:

項目

限制控制層存取權

說明

使用以 DNS 為基礎的端點,限制控制層的網路存取權。控制層是 Kubernetes 叢集的管理中心,如果將其公開至網際網路,就會成為攻擊者的主要目標。這項設定會將控制層設為私有,並從網際網路中移除。

限制控制層存取權可確保只有機構私人網路中的受信任裝置可以管理叢集,大幅降低外部攻擊的風險。

相關資訊
項目 ID MVSP-CO-1.31
對應

相關的 NIST-800-53 控制項:

  • SC-7

相關的 CRI 設定檔控制項:

  • PR.AC-3.1
項目

使用 Container-Optimized OS

說明

使用 Container-Optimized OS 實作經過強化的受管理容器 OS。通用作業系統包含許多執行容器不需要的額外程式,因此會為攻擊者創造不必要的目標。Container-Optimized OS 是一種盡量簡化且鎖定的作業系統,只包含必要項目,因此可大幅減少攻擊面。Container-Optimized OS 是代管作業系統,Google 會自動套用安全修補程式,確保修正重大安全漏洞,並減少作業負擔。

相關資訊
項目 ID MVSP-CO-1.41
對應

相關的 NIST-800-53 控制項:

  • CM-7

相關的 CRI 設定檔控制項:

  • PR.PT-3.1

Compliance Manager 控制項:

中階指南

實作基本規範後,請實作下列基礎架構規範。

項目

強制執行 VM 的 OS 登入功能

說明

如果您允許開發人員使用 SSH 存取 Compute Engine 資源,請設定 OS 登入功能並啟用兩步驟驗證。使用 OS 登入功能,透過設定 compute.requireOsLogin 機構政策限制,以 Identity and Access Management (IAM) 政策管理 SSH 金鑰。OS 登入功能會將 SSH 權限與使用者的 Google 身分和 IAM 角色建立關聯,集中管理 VM 存取權,因此不必在每部機器上管理個別的 SSH 金鑰。

將 SSH 權限與使用者身分綁定,對安全性至關重要,因為移除使用者的 IAM 角色後,系統會立即撤銷他們在所有執行個體中的存取權,防止過時帳戶未經授權存取。系統會簡化金鑰管理作業,協助防止金鑰蔓延,並在 Cloud 稽核記錄中提供所有登入事件的集中式稽核追蹤記錄。OS 登入功能也支援強制執行雙重驗證,可有效防範 SSH 金鑰和憑證遭竊。如果攻擊者盜用 OAuth 權杖,但沒有密碼或安全金鑰,這項功能就能派上用場。

相關資訊
項目 ID MVSP-CO-1.26
對應

相關的 NIST-800-53 控制項:

  • AC-2

相關的 CRI 設定檔控制項:

  • PR.AC-1.1

Compliance Manager 控制項:

項目

限制 VM 的外部 IP 位址

說明

除非必要,否則請避免建立具有公開 IP 位址的 Compute Engine 執行個體。compute.vmExternalIpAccess 清單限制會定義可擁有外部 IP 位址的一組 Compute Engine VM 執行個體。

禁止 Compute Engine 執行個體使用外部 IP 位址,大幅降低執行個體暴露於網際網路的風險。凡是具有外部 IP 位址的執行個體,都會立即遭到探索,並成為自動掃描、蠻力攻擊和嘗試利用安全漏洞的直接目標。請改為要求執行個體使用私人 IP 位址,並透過受控管、經過驗證且已記錄的路徑 (例如 Identity-Aware Proxy (IAP) 通道或堡壘主機) 管理存取權。

採用預設拒絕的態度是基本的安全最佳做法,有助於縮小攻擊面,並對網路強制執行零信任方法。這項限制不會溯及既往。

相關資訊
項目 ID MVSP-CO-1.27
對應

相關的 NIST-800-53 控制項:

  • SC-7
  • SC-8

相關的 CRI 設定檔控制項:

  • PR.AC-5.1
  • PR.AC-5.2
  • PR.DS-2.1
  • PR.DS-2.2
  • PR.DS-5.1
  • PR.PT-4.1
  • DE.CM-1.1
  • DE.CM-1.2
  • DE.CM-1.3
  • DE.CM-1.4

Compliance Manager 控制項:

項目

使用 Workload Identity Federation for GKE

說明

使用 Workload Identity Federation for GKE,從 Google Kubernetes Engine (GKE) 工作負載向 Google Cloud API 進行驗證。相較於服務帳戶金鑰,GKE 適用的工作負載身分聯盟提供更簡單安全的身分取得方式,可呼叫 Google Cloud API。

相關資訊
項目 ID MVSP-CO-1.32
對應

相關的 NIST-800-53 控制項:

  • IA-2

相關的 CRI 設定檔控制項:

  • PR.AC-1.1

Compliance Manager 控制項:

項目

使用私有 GKE 節點

說明

建立私人節點,降低網際網路曝露風險。私人 Google Kubernetes Engine (GKE) 節點可確保 GKE 節點沒有公開 IP 位址,有助於減少網際網路曝光。

相關資訊
項目 ID MVSP-CO-1.33
對應

相關的 NIST-800-53 控制項:

  • SC-7

相關的 CRI 設定檔控制項:

  • PR.AC-3.1

Compliance Manager 控制項:

項目

使用 RBAC 適用的 Google 群組

說明

使用 Google 網路論壇進行角色式存取控管 (RBAC),並整合現有的使用者帳戶管理做法,例如在使用者離開貴機構時撤銷存取權。透過 RBAC 使用 Google 群組,有助於使用 Identity and Access Management (IAM) 和 Google 群組有效管理叢集存取權,適合使用 Google 群組的大多數機構。

相關資訊
項目 ID MVSP-CO-1.34
對應

相關的 NIST-800-53 控制項:

  • AC-2

相關的 CRI 設定檔控制項:

  • PR.AC-1.1

Compliance Manager 控制項:

進階等級規範

導入中階規範後,請導入下列基礎架構規範。

項目

啟用 GKE Sandbox

說明

使用 GKE Sandbox 提供額外的安全防護層,防止不受信任的程式碼影響 Google Kubernetes Engine (GKE) 叢集節點上的主機核心。GKE Sandbox 可強化不受信任或機密工作負載的隔離機制,提供額外防護層,防範容器逸出攻擊。

相關資訊
項目 ID MVSP-CO-1.35
對應

相關的 NIST-800-53 控制項:

  • SC-39

相關的 CRI 設定檔控制項:

  • PR.DS-1.1

Compliance Manager 控制項:

項目

強制執行二進位授權

說明

使用二進位授權,確保受信任的映像檔部署至 Google Kubernetes Engine (GKE)。二進位授權可確保只有經過驗證且受信任的容器映像檔能部署至叢集,進而強化軟體供應鏈安全。

相關資訊
項目 ID MVSP-CO-1.36
對應

相關的 NIST-800-53 控制項:

  • SI-7

相關的 CRI 設定檔控制項:

  • PR.DS-6.1

Compliance Manager 控制項:

項目

使用 Google Kubernetes Engine 機密節點

說明

使用機密 GKE 節點,強制加密節點和工作負載中的使用中資料。機密 GKE 節點會透過機密運算功能加密使用中的資料,協助保護高度機密的工作負載。

相關資訊
項目 ID MVSP-CO-1.37
對應

相關的 NIST-800-53 控制項:

  • SC-28

相關的 CRI 設定檔控制項:

  • PR.DS-1.1
項目

在 GKE 中執行自訂憑證授權單位

說明

執行自己的憑證授權單位,管理 Google Kubernetes Engine (GKE) 中的金鑰。使用自己的憑證授權單位,可進一步控管加密編譯作業。如要要求存取這項功能,請與 Google Cloud 帳戶團隊聯絡。

相關資訊
項目 ID MVSP-CO-1.38
對應

相關的 NIST-800-53 控制項:

  • SC-12

相關的 CRI 設定檔控制項:

  • PR.DS-1.1
項目

使用 Cloud KMS 加密 Kubernetes Secret

說明

使用 Cloud Key Management Service (Cloud KMS) 管理的金鑰,加密 Kubernetes Secret 靜態資料。Cloud KMS 可讓您使用自有及管理的金鑰加密 Kubernetes Secret,為 etcd 資料提供額外一層安全防護。

相關資訊
項目 ID MVSP-CO-1.39
對應

相關的 NIST-800-53 控制項:

  • SC-28

相關的 CRI 設定檔控制項:

  • PR.DS-1.1

Compliance Manager 控制項:

項目

使用 CMEK 保護節點開機磁碟

說明

使用客戶自行管理的加密金鑰 (CMEK) 加密節點開機磁碟。CMEK 可讓您使用自有及管理的金鑰,加密 Kubernetes 節點的開機磁碟。

相關資訊
項目 ID MVSP-CO-1.40
對應

相關的 NIST-800-53 控制項:

  • SC-28

相關的 CRI 設定檔控制項:

  • PR.DS-1.1

Compliance Manager 控制項:

後續步驟