本文件說明如何在 VM 執行個體上啟用及停用受防護的 VM 選項。如要查看哪些映像檔支援受防護的 VM 功能,請參閱「OS 映像檔安全性功能」。
總覽
根據預設,在受防護的 VM 執行個體上,Compute Engine 會啟用虛擬信任平台模組 (vTPM) 和完整性監控選項。如果您停用 vTPM,Compute Engine 也會停用完整性監控功能,這是因為完整性監控功能需要使用測量啟動功能所收集的資料。
由於未簽署的驅動程式和其他低階軟體可能不相容,Compute Engine 預設不會啟用安全啟動。安全啟動功能會驗證所有啟動元件的簽章,並在簽章驗證失敗時停止啟動程序,這樣即可確保系統執行的軟體均真實可信。這有助於防止某些核心惡意軟體 (例如 Rootkit 或 Bootkit) 在 VM 重新啟動後持續存在。如果您能確保安全啟動功能不會阻止代表性測試 VM 啟動,且這項功能適合您的工作負載,Google 建議您啟用安全啟動功能。
限制
雖然 Compute Engine VM 執行個體支援安全啟動,但載入至 Compute Engine VM 的映像檔可能不支援。值得注意的是,雖然大多數 Linux 發行版在最新 x86 映像檔上支援安全啟動功能,但在 ARM64 上並非一律如此。許多 Linux 映像檔都已設定為在啟用安全啟動功能時,拒絕載入未簽署的樹外核心模組版本。這通常會影響 GPU 驅動程式,但有時也會影響需要核心模組的安全監控工具。
這項工作需要的權限
如要執行這項工作,您必須具備以下權限:
- VM 執行個體的
compute.instances.updateShieldedInstanceConfig
權限
在 VM 執行個體上修改受防護的 VM 選項
如要修改受防護的 VM 選項,請按照下列程序操作:
主控台
前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。
按一下執行個體名稱,開啟「VM instance details」(VM 執行個體詳細資料) 頁面。
按一下「停止」。
執行個體停止運作之後,請按一下「編輯」。
在「受防護的 VM」專區中,修改受防護的 VM 選項:
切換「Turn on Secure Boot」即可啟用安全啟動功能。由於未簽署的驅動程式和其他低階軟體可能不相容,因此 Compute Engine 預設不會啟用安全啟動。Google 建議您盡可能啟用安全啟動功能。
切換「Turn on vTPM」即可停用虛擬信任平台模組 (vTPM)。根據預設,Compute Engine 會啟用虛擬信任平台模組 (vTPM)。
切換「Turn on Integrity Monitoring」即可停用完整性監控功能。根據預設,Compute Engine 會啟用完整性監控功能。
按一下 [儲存]。
點選 [開始] 即可啟動執行個體。
gcloud
停止執行個體:
gcloud compute instances stop VM_NAME
將
VM_NAME
替換為要停止的 VM 名稱。更新受防護的 VM 選項:
gcloud compute instances update VM_NAME \ [--[no-]shielded-secure-boot] \ [--[no-]shielded-vtpm] \ [--[no-]shielded-integrity-monitoring]
將
VM_NAME
替換為要更新受防護的 VM 選項的 VM 名稱。shielded-secure-boot
:Compute Engine 預設不會啟用安全啟動,因為未簽署的驅動程式和其他低階軟體可能不相容。Google 建議您盡可能啟用安全啟動模式。- 使用
--shielded-secure-boot
旗標啟用安全啟動功能 (建議)。 - 使用
--no-shielded-secure-boot
停用安全啟動功能。
shielded-vtpm
:系統會根據預設啟用虛擬信任平台模組 (vTPM)。+ 使用--shielded-vtpm
啟用 (預設) + 使用--no-shielded-vtpm
旗標停用shielded-integrity-monitoring
:預設會啟用完整性監控功能。+ 使用--shielded-integrity-monitoring
啟用 (預設) + 使用--no-shielded-integrity-monitoring
標記停用。- 使用
啟動執行個體:
gcloud compute instances start VM_NAME
將
VM_NAME
替換為要啟動的 VM 名稱。
API
停止執行個體:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
更改下列內容:
PROJECT_ID
:包含要停止的 VM 的專案ZONE
:包含要停止的 VM 的可用區VM_NAME
:要停止的 VM
使用
instances.updateShieldedInstanceConfig
在執行個體上啟用或停用受防護的 VM 選項:PATCH https://compute.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/updateShieldedInstanceConfig { "enableSecureBoot": {true|false}, "enableVtpm": {true|false}, "enableIntegrityMonitoring": {true|false} }
更改下列內容:
PROJECT_ID
:包含要啟用或停用的受防護 VM 選項的 VM 專案。ZONE
:包含要啟用或停用的受防護 VM 選項的 VM 所在區域。VM_NAME
:要啟用或停用的 VM 受防護 VM 選項。
enableSecureBoot
:Compute Engine 預設不會啟用安全啟動功能,因為未簽署的驅動程式和其他低階軟體可能不相容。Google 建議您盡可能啟用安全啟動模式。enableVtpm
:Compute Engine 預設會啟用虛擬信任平台模組 (vTPM)。enableIntegrityMonitoring
:Compute Engine 預設會啟用完整性監控。啟動執行個體:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
更改下列內容:
PROJECT_ID
:包含要啟動的 VM 的專案ZONE
:包含要啟動的 VM 的可用區VM_NAME
:要啟動的 VM
後續步驟
- 進一步瞭解受防護的 VM 提供的安全功能。
- 進一步瞭解如何監控受防護的 VM 執行個體的完整性。