在现有 Azure VM 上启用受信任启动
本文内容
适用于:✔️ Linux VM ✔️ Windows VM ✔️ 第 2 代 VM
Azure 虚拟机支持通过升级到受信任启动 安全类型,在现有 Azure 第 2 代 虚拟机 (VM) 上启用 Azure 受信任启动。
受信任启动 是一种在 Azure 第 2 代 VM 上实现基础计算安全性的方法,可防范 Bootkit 和 Rootkit 等高级持久性攻击方法。 它通过将安全启动、虚拟受信任的平台模块 (vTPM) 和 VM 上的启动完整性监视等基础结构技术结合在一起来实现这一点。
重要
对在现有的 Azure 第 1 代 VM 上启用受信任启动 的支持目前处于个人预览版阶段。 可以使用注册表单 获取预览权限。
先决条件
Azure 第 2 代 VM 配置了:
Azure 第 2 代 VM 未使用受信任启动当前不支持的功能 。
在启用“受信任启动”安全类型之前,应停止并解除分配 Azure 第 2 代 VM 。
如果为 VM 启用了 Azure 备份,则应为其配置增强备份策略 。 无法为配置了标准策略备份保护的第 2 代 VM 启用“受信任启动”安全类型 。
最佳做法
在与生产工作负载关联的第 2 代 VM 上启用受信任启动之前,在第 2 代测试 VM 上启用受信任启动,并确定是否需要进行任何更改以满足先决条件。
在启用“受信任启动”安全类型之前,为与生产工作负载关联的 Azure 第 2 代 VM 创建还原点 。 可以使用还原点以之前的已知状态重新创建磁盘和第 2 代 VM。
在现有 VM 上启用受信任启动
注意
启用受信任启动后,当前 VM 无法回滚到标准安全类型(非受信任启动配置)。
默认情况下 vTPM 处于启用状态。
如果未使用自定义未签名内核或驱动程序,建议启用安全启动。 默认情况下不启用此功能。 安全启动可保留启动完整性,并为 VM 实现基础安全性。
使用 Azure 门户在现有 Azure 第 2 代 VM 上启用受信任启动。
登录到 Azure 门户 。
确认 VM 代系为 V2,并为 VM 选择“停止” 。
在 VM 属性中“概述”页上的“安全类型”下,选择“标准” 。 VM 的“配置”页随即打开 。
在“配置”页上的“安全类型”部分下,选择“安全类型”下拉列表 。
在下拉列表中,选择“受信任启动” 。 选中相应复选框以启用“安全启动”和“vTPM” 。 完成更改后,选择“保存” 。
更新成功完成后,关闭“配置”页 。 在 VM 属性中的“概述”页上确认“安全类型”设置 。
启动已升级受信任启动的 VM。 验证是否可以使用远程桌面协议 (RDP)(对于 Windows VM)或安全外壳协议 (SSH)(对于 Linux VM)登录到 VM。
按照步骤使用 Azure CLI 在现有 Azure 第 2 代 VM 上启用受信任启动。
确保安装最新的 Azure CLI 并使用 az login 登录到 Azure 帐户。
登录到 VM Azure 订阅。
az cloud set -n AzureChinaCloud
az login
az account set --subscription 00000000-0000-0000-0000-000000000000
解除分配 VM。
通过将 --security-type
设置为 TrustedLaunch
启用受信任启动。
az vm deallocate \
--resource-group myResourceGroup --name myVm
验证上一个命令的输出。 确保命令输出返回 securityProfile
配置。
az vm update \
--resource-group myResourceGroup --name myVm \
--security-type TrustedLaunch \
--enable-secure-boot true --enable-vtpm true
验证上一个命令的输出。 确保命令输出返回 securityProfile
配置。
{
"securityProfile": {
"securityType": "TrustedLaunch",
"uefiSettings": {
"secureBootEnabled": true,
"vTpmEnabled": true
}
}
}
启动 VM。
az vm start \
--resource-group myResourceGroup --name myVm
启动已升级受信任启动的 VM。 验证是否可以使用 RDP(对于 Windows VM)或 SSH(对于 Linux VM)登录到 VM。
按照步骤使用 Azure PowerShell 在现有 Azure 第 2 代 VM 上启用受信任启动。
确保安装最新的 Azure PowerShell 并使用 Connect-AzAccount 登录到 Azure 帐户。
登录到 VM Azure 订阅。
Connect-AzAccount -Environment AzureChinaCloud -SubscriptionId 00000000-0000-0000-0000-000000000000
解除分配 VM。
Stop-AzVM -ResourceGroupName myResourceGroup -Name myVm
通过将 -SecurityType
设置为 TrustedLaunch
启用受信任启动。
Get-AzVM -ResourceGroupName myResourceGroup -VMName myVm `
| Update-AzVM -SecurityType TrustedLaunch `
-EnableSecureBoot $true -EnableVtpm $true
在更新的 VM 配置中验证 securityProfile
。
# Following command output should be `TrustedLaunch`
(Get-AzVM -ResourceGroupName myResourceGroup -VMName myVm `
| Select-Object -Property SecurityProfile `
-ExpandProperty SecurityProfile).SecurityProfile.SecurityType
# Following command output should return `SecureBoot` and `vTPM` settings
(Get-AzVM -ResourceGroupName myResourceGroup -VMName myVm `
| Select-Object -Property SecurityProfile `
-ExpandProperty SecurityProfile).SecurityProfile.Uefisettings
启动 VM。
Start-AzVM -ResourceGroupName myResourceGroup -Name myVm
启动已升级受信任启动的 VM。 验证是否可以使用 RDP(对于 Windows VM)或 SSH(对于 Linux VM)登录到 VM。
按照步骤使用 ARM 模板在现有 Azure 第 2 代 VM 上启用受信任启动。
Azure 资源管理器模板 是定义项目基础结构和配置的 JavaScript 对象表示法 (JSON) 文件。 模板使用声明性语法。 你可以在不编写用于创建部署的编程命令序列的情况下,描述预期部署。
查看模板。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmsToUpgrade": {
"type": "object",
"metadata": {
"description": "Specifies the list of Gen2 virtual machines to be upgraded to Trusted launch."
}
},
"vTpmEnabled": {
"type": "bool",
"defaultValue": true,
"metadata": {
"description": "Specifies whether vTPM should be enabled on the virtual machine."
}
}
},
"resources": [
{
"type": "Microsoft.Compute/virtualMachines",
"apiVersion": "2022-11-01",
"name": "[parameters('vmsToUpgrade').virtualMachines[copyIndex()].vmName]",
"location": "[parameters('vmsToUpgrade').virtualMachines[copyIndex()].location]",
"properties": {
"securityProfile": {
"uefiSettings": {
"secureBootEnabled": "[parameters('vmsToUpgrade').virtualMachines[copyIndex()].secureBootEnabled]",
"vTpmEnabled": "[parameters('vTpmEnabled')]"
},
"securityType": "TrustedLaunch"
}
},
"copy": {
"name": "vmCopy",
"count": "[length(parameters('vmsToUpgrade').virtualMachines)]"
}
}
]
}
编辑要更新为 TrustedLaunch
安全类型的 VM 的 parameters
JSON 文件。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmsToUpgrade": {
"value": {
"virtualMachines": [
{
"vmName": "myVm01",
"location": "chinanorth2",
"secureBootEnabled": true
},
{
"vmName": "myVm02",
"location": "chinanorth2",
"secureBootEnabled": true
}
]
}
}
}
}
参数文件定义
properties
属性说明
示例模板值
vmName
Azure 第 2 代 VM 的名称。
myVm
location
Azure 第 2 代 VM 的位置。
chinanorth2
secureBootEnabled
使用“受信任启动”安全类型启用安全启动。
true
解除分配所有要更新的 Azure 第 2 代 VM。
Stop-AzVM -ResourceGroupName myResourceGroup -Name myVm01
运行 ARM 模板部署。
$resourceGroupName = "myResourceGroup"
$parameterFile = "folderPathToFile\parameters.json"
$templateFile = "folderPathToFile\template.json"
New-AzResourceGroupDeployment `
-ResourceGroupName $resourceGroupName `
-TemplateFile $templateFile -TemplateParameterFile $parameterFile
启动已升级受信任启动的 VM。 验证是否可以使用 RDP(对于 Windows VM)或 SSH(对于 Linux VM)登录到 VM。
Azure 顾问建议
Azure 顾问提供了为现有第 2 代 VM 实现受信任启动基础卓越性和现代安全性 的卓越运营建议,使现有第 2 代 VM 能够在无额外成本的情况下采用受信任启动 ,为 Azure VM 提供了更好的安全状况。 确保第 2 代虚拟机具备迁移到受信任启动的所有先决条件,遵循所有最佳做法,包括验证 OS 映像、VM 大小和创建还原点。 为了使顾问建议被视为完整,请按照在现有 VM 上启用受信任启动 中概述的步骤来升级虚拟机安全类型并启用受信任启动 。
如果第 2 代 VM 不符合受信任启动的先决条件,该怎么办?
对于不满足升级到受信任启动的先决条件 的第 2 代 VM,请了解如何满足先决条件。 例如,如果使用不支持的虚拟机大小,请查找支持受信任启动的等效受信任启动支持的大小 。
注意
如果 Gen2 虚拟机配置的 VM 大小系列(如 MSv2 系列)目前不支持受信任启动,请忽略该建议。
相关内容