注意
- 原始发布日期: 2026 年 6 月 12 日
- KB ID: 5103014
注意
- 适用于:
- Azure运行启用了安全启动的Linux的受信任启动虚拟机和机密虚拟机
- 有关受信任启动支持的 OS 的完整列表,请参阅此链接:Azure VM 的受信任启动 - Azure 虚拟机 |Microsoft Learn
- 有关机密 VM 支持的 OS 的完整列表,请参阅此链接:关于机密 VM Azure |Microsoft Learn
本文内容
简介
安全启动是一项 UEFI 固件安全功能,可帮助确保在 VM 启动序列期间仅运行受信任的数字签名软件。 2011 年颁发的Microsoft安全启动证书将于 2026 年 6 月到期。
若要维护安全启动保护和早期启动过程的持续服务,Azure运行Linux的受信任启动必须在虚拟 UEFI 固件中使用安全启动 2023 DB 和 KEK 证书进行更新。 必须使用旧证书在Azure上重新创建Linux的机密虚拟机。
如果 VM 在过期后继续依赖 2011 证书,它将继续启动。 但是,它将不再以填充码更新和将来的证书和吊销的形式接收新的安全保护。 具有未更新证书的 VM 的客户应继续与其发行版供应商合作,以更新其证书,即使在到期日期之后也是如此。
确定需要操作的方案
查看以下方案以确定是否需要操作:
- Linux 2024 年 4 月之前创建的 (TVM) 或机密 VM (CVM) 受信任的启动 VM
- Azure 2024 年 4 月之前的旧 (捕获的计算库映像) Linux 受信任的启动或机密 VM
- 在 2024 年 4 月之前创建的Linux受信任的启动或机密 VM 的快照或备份
- 2024 年 4 月前从 Blob 创建的机密 VM,作为安全磁盘导入。
在 2024 年 4 月之后创建的受信任启动和机密虚拟机通常已在虚拟 UEFI 固件中包含安全启动 2023 证书。
注意
Linux不应手动更新 2024 年 4 月之前创建的机密 VM,因为机密磁盘加密依赖于基于安全启动变量计算的 vTPM 的 PCR7 值。 在不确保 FDE 密钥重新密封的情况下更新安全启动证书将导致机密 VM 进入恢复模式。 建议重新创建此类旧机密 VM 以获取新证书。
Azure来宾 VM 注意事项
Azure VM 上Linux的安全启动更新涉及两个组件:
- 虚拟固件中的安全启动证书 (通过操作系统提供的工具手动安装,或通过安全更新自动安装)
- Linux填充码和引导加载程序更新 (发行版供应商托管)
更新操作从来宾操作系统内启动,并依赖于平台支持将经过身份验证的更新应用于安全启动变量。
确定适用方案后,清点环境以确定哪些 VM 需要更新。
需要采取行动
对于所有Azure来宾 VM:
- 验证虚拟 UEFI 固件中是否存在安全启动 2023 证书
验证方法
在更新并重新启动后运行这些命令。 在 成功更新 的 VM 上,每个命令返回匹配的行。 如果命令未返回任何输出,则相应的 2023 证书不存在,并且更新尚未应用 ,请在应用之前重新检查更新步骤。
DB 和 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”。
- 对于机密 VM,请勿基于此输出运行手动更新,请根据机密 VM 的建议Azure中所述重新创建 VM。
Linux启动链更新
成功更新固件后,可以安全地应用来自Linux分发供应商的填充码更新。
其他Azure资源注意事项
| Azure资源 | 创建于 2024 年 4 月之前 | TVM 所需的操作 | CVM 所需的操作 |
|---|---|---|---|
| 备份/快照 | 是 | 启动 VM、应用更新、重新捕获 | 重新创建 CVM,重新捕获 |
| 备份/快照 | 否 | 无需执行任何操作 | 无需执行任何操作 |
| 计算库映像 | 是 | 部署、更新、重新捕获 | 重新创建 CVM,重新捕获 |
| 计算库映像 | 否 | 无需执行任何操作 | 无需执行任何操作 |
监视更新状态
通过来宾 OS 验证更新:
- 在更新后验证成功启动
- 确认固件中存在安全启动证书
监视和验证方法可能因分发Linux而异,应与分发供应商检查。
对于受信任的启动 VM:
必须按正确的顺序应用所有更新。
重要
在更新填充码或启动加载程序之前,请始终更新安全启动固件 (UEFI 变量) 。
建议先重启 VM,确保它正在运行最新的固件并验证是否成功启动。
根据需要根据发行版供应商的建议指南和工具,从Linux来宾 VM 操作系统中启动更新。
如果遇到 KEK 或 DB 更新失败,并且未先重新启动,请重新启动 VM 以确保它正在运行最新的固件,然后再次尝试更新 KEK 和 DB。
在先更新固件之前更新填充码可能会导致启动失败。
对于机密 VM:
- 大多数机密 VM 已有新证书。 对于没有安全启动 2023 证书的机密 VM,请按照机密 VM 的Azure建议部分中的指导进行操作。
部署更新
Azure VM 上Linux的安全启动证书更新是从来宾操作系统中启动的。 这些更新因发行版供应商而异,客户应首先检查建议的方法与其发行版供应商。
注意
- 此处仅列出了已发布安全启动证书更新指南Linux OS 供应商。 此列表会在其他供应商发布指南时更新。
- 如果未列出分发版的供应商,这并不意味着 VM 不受影响,这意味着供应商尚未发布安全启动 2023 KEK 和 DB 更新指南。 在这种情况下,请与分发供应商联系以获取建议的方法,或使用下面所述的手动 备用固件更新方法 之一。
认可Linux OS 供应商的建议:
- Azure Linux (CBL-Mariner) - 请过渡到Azure Linux 3 或更高版本
- AlmaLinux - UEFI 安全启动:Microsoft 2023 证书转换 Wiki
- Debian - 安全启动 CA 更改 Wiki
- Red Hat (RHEL) - 如何使用 fwupd 注册 Microsoft UEFI CA 2023 证书 KB
- Ubuntu - Microsoft UEFI CA 轮换社区话语
机密 VM 的Azure建议:
- 2024 年 4 月前创建的 CVM 数量非常少。 如果机密 VM 是少数没有新证书的 VM 之一,请按照以下步骤 重新创建 CVM。
备用固件更新方法
注意
在直接在生产 VM 上尝试 UEFI 变量更新之前,客户可以使用Azure快速入门模板来模拟具有较旧 2011 UEFI CA 证书的Linux受信任的启动 VM。
重要
本部分中的手动固件更新方法是分发供应商推荐方法的 替代方法, 并且相互排斥。 每当操作系统供应商首先可用时,请使用其方法 (请参阅Linux OS 供应商) 的建议。 仅当供应商尚未发布指南或供应商明确指示你时,才使用以下手动方法。 不要同时将供应商方法和手动方法应用于同一 VM。 只需使用一种替代方法来更新 (fwupd、efitools 或 sbsigntools) —无需运行所有三个。 每个Linux发行版通过不同的存储库打包不同的工具和版本,因此请务必遵循Linux OS 提供的说明。
注意
工具可用性和版本因分发和工具源而异。
确保 VM 已安装 fwupd 版本 2.0.8 或更高版本。
若要同时更新 KEK 和 DB,请使用 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”中所述。
使用 sbsigntools 的 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 设置:
- 还原在开始手动更新过程之前进行的备份。
- 将受信任的启动 VM 转换为Standard VM,并在 VM 上重新应用受信任的启动安全类型。 此处 (更多详细信息:在现有 Gen2 VM 上启用受信任启动 - Azure 虚拟机 |Microsoft Learn)
- 将 OS vhd 导出到 存储帐户,从 vhd 创建库 映像 ,并使用 库 映像版本部署 VM。
第三方信息免责声明
本文中提到的第三方产品由 Microsoft 以外的其他公司提供。 对于这些产品的性能或可靠性,我们不作任何暗示保证或其他形式的保证
我们提供了第三方联系信息,以便你寻求技术支持。 该联系信息如有更改,恕不另行通知。 我们不保证此第三方联系信息的准确性。
更改日志
| 更改日期 | 更改说明 |
|---|---|
| 2026 年 7 月 29 日 | 主要修订,使所需操作和替代固件更新方法更加清晰。 |
| 2026 年 6 月 18 日 | 参考链接已添加到“Linux OS 供应商的建议”部分。 |