Azure 虚拟机的受信任启动
适用于:✔️ Linux VM ✔️ Windows VM ✔️ 灵活规模集 ✔️ 统一规模集
Azure 提供受信任启动作为一种无缝提高第 2 代虚拟机 (VM) 安全性的方式。 受信任启动能够防范具有持续性的高级攻击手法。 受信任启动由多种可单独启用的协调式基础结构技术组成。 每种技术都针对错综复杂的威胁提供另一层防御。
重要
- 受信任启动被选为新创建的 Azure VM 的默认状态。 如果新 VM 需要受信任启动不支持的功能,请参阅受信任启动常见问题解答。
- 现有虚拟机 (VM) 在创建后可以启用受信任启动。 有关详细信息,请参阅在现有 VM 上启用受信任启动。
- 现有虚拟机规模集 (VMSS) 在创建后可以启用受信任启动。 有关详细信息,请参阅在现有规模集上启用受信任启动。
好处
- 安全部署其启动加载程序、操作系统 (OS) 内核和驱动程序已经过验证的 VM。
- 安全保护 VM 中的密钥、证书和机密。
- 获取整个启动链的完整性的见解和置信度。
- 确保工作负载受信任且可验证。
虚拟机大小
类型 | 支持的大小系列 | 当前不支持的大小系列 | 不支持的大小系列 |
---|---|---|---|
常规用途 | B 系列、Dv4 系列、Dsv4 系列、Dsv3 系列、Dsv2 系列、Dav4 系列、Dasv4 系列、Ddv4 系列、Ddsv4 系列、Dv5 系列、Dsv5 系列、Ddv5 系列、Ddsv5 系列、Dasv5 系列、Dadsv5 系列、Dlsv5 系列、Dldsv5 系列 | Av2 系列、Dv2 系列、Dv3 系列 | |
计算优化 | Fsv2 系列 | 支持的所有大小。 | |
内存优化 | Dsv2 系列、Esv3 系列、Ev4 系列、Esv4 系列、Edv4 系列、Edsv4 系列、Eav4 系列、Easv4 系列、Easv5 系列、Eadsv5 系列、Ebsv5 系列、Ebdsv5 系列、Edv5 系列、Edsv5 系列 | M 系列、Msv2 系列、mdsv2 中等内存系列、Mv2 系列 | Ev3 系列 |
存储优化 | Lsv3 系列、Lasv3 系列 | 支持的所有大小。 | |
GPU | NCv3 系列、NVv4 系列 | ||
高性能计算 | HBv3 系列 | 支持的所有大小。 |
注意
- 在启用了安全启动的 Windows VM 上安装 CUDA 和 GRID 驱动程序无需执行任何额外步骤。
- 在启用了安全启动的 Ubuntu VM 上安装 CUDA 驱动程序需要执行任何额外步骤。 有关详细信息,请参阅在运行 Linux 的 N 系列 VM 上安装 NVIDIA GPU 驱动程序。 若要在其他 Linux VM 上安装 CUDA 驱动程序,应禁用安全启动。
- 若要安装 GRID 驱动程序,需要为 Linux VM 禁用安全启动。
- 不支持的大小系列不支持第 2 代 VM。 将 VM 大小更改为等效的支持的大小系列,以启用受信任启动。
支持的操作系统
(OS) | 版本 |
---|---|
Alma Linux | 8.7、8.8、9.0 |
Azure Linux | 1.0、2.0 |
Debian | 11, 12 |
SUSE Enterprise Linux | 15SP3, 15SP4, 15SP5 |
Ubuntu Server | 18.04 LTS、20.04 LTS、22.04 LTS、23.04、23.10 |
Windows 10 | 专业版、企业版、企业多会话 * |
Windows 11 | 专业版、企业版、企业多会话 * |
Windows Server | 2016、2019、2022、2022-Azure-Edition * |
* 支持此 OS 的变体。
定价:受信任启动不会增加现有的 VM 定价成本。
不支持的功能
目前,受信任启动尚不支持以下 VM 功能:
- Azure Site Recovery(已正式发布,可用于 Windows)。
- 托管映像(建议客户使用 Azure Compute Gallery)
- 嵌套虚拟化(支持 v5 VM 大小系列)。
安全启动
受信任启动的根本作用是使 VM 安全启动。 安全启动在平台固件中实现,可以防止安装基于恶意软件的 Rootkit 和 Bootkit。 安全启动旨在确保只有已签名的操作系统和驱动程序能够启动。 它为 VM 上的软件堆栈建立“信任根”。
启用安全启动后,所有 OS 启动组件(启动加载程序、内核、内核驱动程序)都需要受信任的发布者签名。 Windows 和某些 Linux 发行版都支持安全启动。 如果安全启动无法对受信任发布者签名的映像进行身份验证,则 VM 无法启动。 有关详细信息,请参阅安全启动。
vTPM
受信任启动还引入了适用于 Azure VM 的虚拟受信任的平台模块 (vTPM)。 受信任的平台模块硬件的此虚拟化版本符合 TPM2.0 规范。它充当密钥和度量的专用安全保管库。
受信任启动将其自身专用的 TPM 实例提供给 VM,该实例在安全环境中运行,任何 VM 都无法访问它。 vTPM 通过度量 VM 的整个启动链(UEFI、OS、系统和驱动程序)来启用证明。
受信任启动使用 vTPM 通过云执行远程证明。 证明支持平台运行状况检查,用于做出基于信任的决策。 作为一项运行状况检查,受信任启动能够以加密方式验证 VM 是否正常启动。
如果过程失败(原因可能是 VM 正在运行未经授权的组件),Microsoft Defender for Cloud 将发出完整性警报。 这些警报包含有关哪些组件未能通过完整性检查的详细信息。
基于虚拟化的安全功能
基于虚拟化的安全性 (VBS) 使用虚拟机监控程序创建安全且隔离的内存区域。 Windows 使用这些区域来运行各种安全解决方案,以针对漏洞和恶意攻击增强防范。 受信任启动允许启用虚拟机监控程序代码完整性 (HVCI) 和 Windows Defender Credential Guard。
HVCI 是功能强大的系统缓解机制,可以防范在 Windows 内核模式进程中注入和执行恶意代码或未经验证的代码。 在运行内核模式驱动程序和二进制文件之前,HVCI 会对其进行检查,防止未签名的文件载入内存中。 检查可确保在允许加载可执行代码之后,无法对其进行修改。 有关 VBS 和 HVCI 的详细信息,请参阅基于虚拟化的安全性和虚拟机监控程序强制实施的代码完整性。
可以结合受信任启动和 VBS 启用 Windows Defender Credential Guard。 Credential Guard 可以隔离和保护机密,确保只有特权系统软件能够访问这些机密。 它有助于防止未经授权访问机密和凭据盗窃攻击(例如哈希传递攻击)。 有关详细信息,请参阅 Credential Guard。
Microsoft Defender for Cloud 集成
受信任启动与 Defender for Cloud 集成,确保正确配置 VM。 Defender for Cloud 持续评估兼容的 VM 并提出相关建议:
有关启用安全启动的建议:安全启动建议仅适用于支持受信任启动的 VM。 Defender for Cloud 可识别可以启用安全启动但已将其禁用的 VM。 它会发出一条启用安全启动的低严重性建议。
有关启用 vTPM 的建议:如果 VM 上启用了 vTPM,Defender for Cloud 可以使用它来执行来宾证明并识别高级威胁模式。 如果 Defender for Cloud 识别到支持受信任启动、但已禁用 vTPM 的 VM,它会发出一条启用 vTPM 的低严重性建议。
有关安装来宾证明扩展的建议:如果 VM 已启用安全启动和 vTPM,但尚未安装来宾证明扩展,则 Defender for Cloud 会发出一条在 VM 上安装来宾证明扩展的低严重性建议。 此扩展允许 Defender for Cloud 主动证明和监视 VM 的启动完整性。 启动完整性是通过远程证明来证明的。
证明运行状况评估或启动完整监视:如果 VM 上启用了安全启动和 vTPM 并安装了证明扩展,Defender for Cloud 可以远程验证 VM 是否以正常方式启动。 这种做法称为启动完整性监视。 Defender for Cloud 会发出评估,指明远程证明的状态。
如果在 VM 上正确设置了受信任启动,Defender for Cloud 可以检测并提醒 VM 运行状况问题。
VM 证明失败警报:Defender for Cloud 定期对 VM 执行证明。 VM 启动后也会发生证明。 如果证明失败,则会触发中等严重性警报。 VM 证明可能出于以下原因而失败:
- 证明的信息(包括启动日志)与受信任基线相背离。 任何偏差都可能指示加载了不受信任的模块,并且 OS 可能会受到损害。
- 无法验证该证明引述是否源自被证明 VM 的 vTPM。 未经验证的源可以表示存在恶意软件,并且可能会拦截发到 vTPM 的流量。
注意
警报适用于已启用 vTPM 并已安装“证明”扩展的 VM。 若要通过证明,必须启用安全启动。 如果安全启动禁用,证明将会失败。 如果必须禁用安全启动,可以禁止显示此警报以避免误报。
针对不受信任的 Linux 内核模块的警报:对于启用了安全启动的受信任启动,即使内核驱动程序未能通过验证并禁止加载,VM 仍可以启动。 如果发生这种情况,Defender for Cloud 会发出低严重性警报。 尽管不会遭受直接威胁(因为不受信任的驱动程序尚未加载),但也应该调查这些事件。 问自己:
- 哪个内核驱动程序失败? 我是否知悉此驱动程序,并且已意料到会加载它?
- 这是我期望的驱动程序的确切版本吗? 驱动程序二进制文件是否未经改动? 如果这是第三方驱动程序,供应商是否通过了 OS 合规性测试,可对其进行签名?
相关内容
部署受信任启动 VM。