注意
- 原始出版日期: 2026年6月12日
- KB ID: 5103014
注意
- 適用於:
- Azure 可信啟動虛擬機與執行 Linux 並啟用安全開機的機密虛擬機器
- 如需完整支援可信啟動作業系統清單,請參閱此連結:Azure 虛擬機可信任啟動 - Azure 虛擬機器 |Microsoft Learn
- 欲了解機密虛擬機所支援作業系統的完整清單,請參閱此連結:關於 Azure 機密虛擬機 |Microsoft Learn
本文內容
簡介
安全開機是 UEFI 韌體的安全功能,確保只有受信任且數位簽章的軟體能在虛擬機開機序列中運行。 2011 年發行的 Microsoft 安全啟動憑證將於 2026 年 6 月開始到期。
為維持安全開機保護及持續維護早期開機流程,運行 Linux 的 Azure Trusted Launch 必須在虛擬 UEFI 韌體中更新 Secure Boot 2023 資料庫與 KEK 憑證。 Azure 上 Linux 的機密虛擬機器與舊憑證必須重新建立。
如果虛擬機在憑證過期後仍依賴 2011 年的憑證,它仍會繼續開機。 然而,它將不再獲得以 shim 更新、未來憑證及撤銷形式進行的新安全保護。 擁有未更新憑證的虛擬機客戶,即使憑證過期後,仍應與發行版廠商合作更新憑證。
找出需要採取行動的情境
請檢視以下情境以判斷是否需要採取行動:
- Linux 2024 年 4 月之前建立的 TVM) ( ( CVM) 的受信任啟動虛擬機
- Azure 計算庫影像,取自2024年4月前) Linux 信任啟動或機密虛擬機 (舊版
- 2024 年 4 月之前建立的 Linux 受信任啟動或機密虛擬機的快照或備份
- 機密虛擬機是在 2024 年 4 月之前由 blobs 建立,並以安全磁碟匯入。
2024 年 4 月後建立的受信任啟動與機密虛擬機器,通常已在虛擬 UEFI 韌體中包含 Secure Boot 2023 憑證。
注意
2024 年 4 月之前建立的 Linux 機密虛擬機不應手動更新,因為機密磁碟加密依賴於基於安全開機變數計算的 vTPM 的 PCR7 值。 若未確保 FDE 金鑰重新封存,更新安全開機憑證會導致機密虛擬機進入復原模式。 建議重建這些舊的機密虛擬機以取得新的憑證。
Azure guest VM 考慮事項
Azure VM 上的 Linux 安全啟動更新包含兩個組件:
- 虛擬韌體中的安全開機憑證 (透過作業系統提供的工具手動安裝,或透過安全更新自動安裝)
- Linux shim 和 bootloader 更新 (發行版廠商管理的)
更新操作由客戶作業系統內部啟動,並依賴平台支援將認證更新套用於安全開機變數。
在辨識適用情境後,盤點你的環境以判斷哪些虛擬機需要更新。
需要的動作
For all Azure guest VMS:
- 確認虛擬 UEFI 韌體中是否存在 Secure Boot 2023 憑證
驗證方法
更新後執行這些指令並重新啟動。 在 成功更新 的虛擬機上,每個指令會回傳一行相符的行。 若指令 未回傳任何輸出,代表對應的 2023 證書不存在,且更新尚未套用——請在套用前重新檢查更新步驟。
資料庫與 KEK 檢查都必須回傳一條線。 成功更新的機器顯示 2023 年 DB 證書 與 2023 年 KEK 證書。
使用 mokutil
注意
- mokutil --db | grep "UEFI CA 2023"
- CN = Microsoft UEFI CA 2023
- mokutil --kek | grep "KEK 2K CA 2023"
- CN = Microsoft Corporation KEK 2K CA 2023
使用 efitools
附註
- efi-readvar -v db | grep "UEFI CA 2023"
- Microsoft UEFI CA 2023
- efi-readvar -v KEK | grep "KEK 2K CA 2023"
- Microsoft Corporation KEK 2K CA 2023
附註
- 如果沒有安裝 'mokutil',請從你發行版的標準倉庫安裝,或改用 'efi-readvar -v db` / `efi-readvar -v KEK'。
- 對於機密虛擬機,請不要根據此結果手動更新——請依照 Azure 對機密虛擬機的建議重建虛擬機。
Linux 開機鏈更新
韌體更新成功後,就可以安全地套用來自 Linux 發行版廠商的 shim 更新。
其他 Azure 資源考量
| Azure resource | 2024年4月前建立 | TVM 所需行動 | CVM 所需行動 |
|---|---|---|---|
| 備份/快照 | 是 | 啟動虛擬機,套用更新,重新擷取 | 重建CVM,重新捕獲 |
| 備份/快照 | 否 | 不需要任何行動 | 不需要任何行動 |
| Compute Gallery 影像 | 是 | 部署、更新、重新捕獲 | 重建CVM,重新捕獲 |
| Compute Gallery 影像 | 否 | 不需要任何行動 | 不需要任何行動 |
監控更新狀態
透過訪客作業系統驗證更新:
- 更新後驗證成功開機
- 確認韌體中是否存在安全開機憑證
監控與驗證方法可能因 Linux 發行版而異,建議你向發行版供應商確認。
對於可信的啟動虛擬機:
所有更新必須依照正確順序套用。
重要
在更新 shim 或 bootloader 之前,務必先更新 Secure Boot 韌體 (UEFI 變數) 。
建議先重新啟動虛擬機,確保它運行的是最新韌體並確認開機成功。
根據發行版廠商建議的指引與工具,在需要時從 Linux 訪客虛擬機作業系統內啟動更新。
如果你遇到 KEK 或資料庫更新失敗且沒有先重開機,請重新啟動虛擬機確認它運行的是最新韌體,然後再嘗試更新 KEK 和資料庫。
在更新韌體之前先更新墊片可能會導致開機失敗。
對於機密虛擬機:
- 大多數機密虛擬機已經有新的憑證了。 對於沒有 Secure Boot 2023 憑證的機密虛擬機,請參考下方「Azure 對機密虛擬機的建議」章節中的指引。
部署更新
Azure 虛擬機上的 Linux 安全啟動憑證更新是從訪客作業系統內部發起的。 這些更新因發行版廠商而異, 客戶應先向其發行商確認 推薦的方法。
注意
- 此處僅列出已發布安全開機憑證更新指引的 Linux 作業系統廠商。 隨著其他廠商發布指引,此清單會持續更新。
- 如果你的發行版供應商未被列出,並不代表你的虛擬機不受影響——而是代表廠商尚未發布 2023 年安全啟動 KEK 與資料庫更新指引。 在這種情況下,請聯絡你的發行商詢問他們推薦的方法,或使用下方說明的 手動替代韌體更新方法 之一。
推薦的 Linux 作業系統廠商:
- Azure Linux (CBL-Mariner) - 請轉用 Azure Linux 3 或更新版本
- AlmaLinux - UEFI 安全開機:Microsoft 2023 憑證轉換維基
- Debian - 安全開機 CA 變更維基
- Red Hat (RHEL) - 如何使用 fwupd 註冊 Microsoft UEFI CA 2023 證書知識庫
- Ubuntu - Microsoft UEFI CA 輪替社群討論
Recommendations by Azure for Confidential VMs:
- 2024年4月前創建的CVM數量非常少。 如果你的機密虛擬機是少數沒有新憑證的虛擬機之一,請依照步驟 重新建立 CVM。
替代韌體更新方法
注意
在直接在生產虛擬機上更新 UEFI 變數之前,客戶可以先使用 Azure 快速啟動範本,模擬使用 2011 年 UEFI CA 憑證的 Linux 受信任啟動虛擬機。
重要
本節的手動韌體更新方法是與你發行商推薦的方法論不同且互斥。 只要有作業系統廠商的方法,請先使用 (Linux作業系統廠商推薦) 。 只有在供應商尚未發布指引,或明確指示你時,才使用以下手動方法。 不要同時套用供應商方法和手動方法到同一台虛擬機。 你只需要用一種替代方法來更新 fwupd、efitools 或 sbsigntools) , (這三種方法都不需要同時執行。 每個 Linux 發行版會打包不同的工具和版本,並且透過不同的軟體庫,因此遵循你 Linux 作業系統提供的指示非常重要。
注意
工具的可用性與版本因發行及工具來源而異。
確保虛擬機安裝的是 fwupd 2.0.8 或更新版本。
要同時更新 KEK 和資料庫,請使用 fwupdmgr 執行以下指令:
注意
- sudo fwupdmgr refresh
- sudo fwupdmgr update
下載 Azure 的 DB 和 KEK 更新套件。
注意
- wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/\
- PostSignedObjects/Optional/DB/amd64/DBUpdate3P2023.bin
- wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/\
- PostSignedObjects/KEK/Microsoft/KEKUpdate_Microsoft_PK1.bin
請驗證下載二進位檔的 MD5 或 SHA1——它們應該完全符合以下條件:
注意
- sha1sum *.bin
- 87cc5bb2efe9b59c6ad9f717a78e190bf1a191e8 DBUpdate3P2023.bin
- d9a2fa28017653c26afc3d1b5c001adae9dc16a6 KEKUpdate_Microsoft_PK1.bin
- md5sum *.bin
- ef9fd1874610c2077f4c2476661ea4cd DBUpdate3P2023.bin
- 5e67b7beafac7801fd920e40e3592611 KEKUpdate_Microsoft_PK1.bin
使用 efi-updatevar 來安裝更新套件
注意
- sudo efi-updatevar -a -f DBUpdate3P2023.bin db
- sudo efi-updatevar -a -f KEKUpdate_Microsoft_PK1.bin KEK
- sudo reboot
下載並驗證 DBUpdate3P2023.bin , KEKUpdate_Microsoft_PK1.bin 並如上文「替代方案2:使用 efitools」所述。
使用 sbsignaturetools 的 sbkeysync 工具安裝更新套件:
注意
- sudo mkdir -p /etc/secureboot/keys/db
- sudo cp DBUpdate3P2023.bin /etc/secureboot/keys/db
- sudo mkdir -p /etc/secureboot/keys/KEK
- sudo cp KEKUpdate_Microsoft_PK1.bin /etc/secureboot/keys/KEK
- sudo chattr -i /sys/firmware/efi/efivars/db-*
- sudo chattr -i /sys/firmware/efi/efivars/KEK-*
- sudo sbkeysync --verbose
- sudo chattr +i /sys/firmware/efi/efivars/db-*
- sudo chattr +i /sys/firmware/efi/efivars/KEK-*
- sudo reboot
開機失敗時的緩解步驟
若發生失敗情況,例如在 UEFI 變數更新後開機失敗,你可以使用以下其中一種方法重設 UEFI 設定:
- 還原開始手動更新前取得的備份。
- 將受信任啟動虛擬機轉換為 Standard 虛擬機,並在虛擬機上重新套用受信任啟動安全類型。 (更多細節請見:在現有第二代虛擬機上啟用可信啟動 - Azure 虛擬機器 |Microsoft 學習)
- 將作業系統的 vhd 匯出到儲存 帳號,從 vhd 建立圖庫 映像檔 ,並用 圖庫 映像版本部署虛擬機。
協力廠商資訊免責聲明
本文提及的協力廠商產品是由與 Microsoft 無關的獨立廠商所製造。 Microsoft 不以默示或其他方式,提供與這些產品的效能或可靠性有關的擔保。
我們提供協力廠商的連絡資訊,協助您尋找技術支援。 此連絡資訊如有變更,恕不另行通知。 我們不保證此協力廠商連絡資訊的正確性。
變更日誌
| 變更日期 | 變更描述 |
|---|---|
| 2026年7月29日 | 重大修訂以增加所需操作的清晰度,以及替代韌體更新方式。 |
| 2026年6月18日 | 參考連結被加入「Linux 作業系統廠商推薦」章節。 |