檢視次數:
設定檔適用性:等級 2
啟用安全啟動以保護 GKE 節點,驗證節點啟動元件的數位簽章。
攻擊者可能會試圖修改啟動元件,以便在系統初始化期間持續存在惡意程式或根套件。安全啟動透過驗證所有啟動元件的數位簽章,確保系統僅執行真實的軟體,並在簽章驗證失敗時停止啟動過程。
注意
注意
預設情況下,GKE Clusters 中的安全啟動是停用的。當啟用 Shielded GKE Nodes 時,預設情況下安全啟動是停用的。

影響

安全啟動將不允許使用第三方未簽署的核心模組。

稽核

使用 Google Cloud 主控台:
  1. 前往 Kubernetes Engine,請造訪:Google Cloud Console Kubernetes Engine 頁面
  2. 從群集列表中,點擊正在測試的群集名稱。
  3. 開啟叢集內每個節點池的詳細資訊窗格,並確保在安全性標題下的安全啟動已設為已啟動。
使用命令列:
若要檢查叢集中節點池的安全啟動是否已啟動,首先為節點池、叢集名稱、位置資訊和專案定義4個變數,然後對每個節點池執行以下命令:
gcloud container node-pools describe $POOL_NAME --cluster $CLUSTER_NAME --location $LOCATION --project $PROJECT_ID --format json | jq .config.shieldedInstanceConfig
如果已啟動安全啟動,將返回以下值:
{ "enableSecureBoot": true }

補救

一旦節點池被配置,就無法更新以啟用安全啟動。必須在叢集中創建新的節點池,並啟用安全啟動。
使用 Google Cloud 主控台:
  1. 前往 Kubernetes Engine,請造訪:Google Cloud Console Kubernetes Engine 頁面
  2. 從叢集列表中,點擊需要更新的叢集,然後點擊新增節點池。
  3. 確保在受保護選項標題下勾選安全啟動核取方塊。
  4. 點擊儲存。
需要將工作負載從現有的不合規節點池遷移到新創建的節點池,然後刪除不合規的節點池。
使用命令列:
要在叢集中建立已啟動安全啟動的節點池,請執行以下命令:
gcloud container node-pools create <node_pool_name> --cluster <cluster_name> --location <location> --shielded-secure-boot
需要將工作負載從現有的不合規節點池遷移到新創建的節點池,然後刪除不合規的節點池。