Applies to: ✔️ Linux VM ✔️ Windows VM ✔️ Generation 2 VM
Azure Virtual Machines는 신뢰할 수 있는 시작 보안 유형으로 업그레이드하여 기존 Azure 2세대 VM(가상 머신)에서 Azure Trusted Launch를 사용하도록 설정할 수 있도록 지원합니다.
Trusted launch is a way to enable foundational compute security on Azure Generation 2 VMs and protects against advanced and persistent attack techniques like boot kits and rootkits. 이는 보안 부팅, vTPM(가상 신뢰할 수 있는 플랫폼 모듈), VM의 부팅 무결성 모니터링과 같은 인프라 기술을 결합하여 가능합니다.
Prerequisites
Azure VM은 다음을 사용하여 구성됩니다.
Best practices
- 테스트 2세대 VM에서 신뢰할 수 있는 시작을 사용하도록 설정하고, 프로덕션 워크로드와 관련된 2세대 VM에서 신뢰할 수 있는 시작을 사용하도록 설정하기 전에 필수 구성 요소를 충족하는 데 필요한 변경 내용이 있는지 확인합니다.
- 신뢰할 수 있는 시작 보안 형식을 사용하도록 설정하기 전에 프로덕션 워크로드와 관련된 Azure Generation 2 VM에 대한 복원 지점을 만듭니다. 복원 지점을 사용하여 이전의 잘 알려진 상태로 디스크와 2세대 VM을 다시 만들 수 있습니다.
기존 VM에서 신뢰할 수 있는 시작 사용
Note
- vTPM은 기본적으로 사용하도록 설정됩니다.
- 보안 부팅은 기본적으로 사용하도록 설정되지 않습니다. 사용자 지정 서명되지 않은 커널 또는 드라이버를 사용하지 않는 경우 보안 부팅을 사용하도록 설정하는 것이 좋습니다. 보안 부팅은 부팅 무결성을 유지하고 VM에 대한 기본 보안을 사용하도록 설정합니다.
Azure Portal을 사용하여 기존 Azure 2세대 VM에서 신뢰할 수 있는 시작을 사용하도록 설정합니다.
Sign in to the Azure portal.
Confirm that the VM generation is V2 and select Stop for the VM.
On the Overview page in the VM properties, under Security type, select Standard. The Configuration page for the VM opens.
On the Configuration page, under the Security type section, select the Security type dropdown list.
Under the dropdown list, select Trusted launch. Select checkboxes to enable Secure Boot and vTPM. After you make the changes, select Save.
After the update successfully finishes, close the Configuration page. On the Overview page in the VM properties, confirm the Security type settings.
업그레이드된 신뢰할 수 있는 시작 VM을 시작합니다. Windows VM의 경우 RDP(원격 데스크톱 프로토콜) 또는 Linux VM의 경우 Secure Shell 프로토콜(SSH)을 사용하여 VM에 로그인할 수 있는지 확인합니다.
Azure CLI를 사용하여 기존 Azure 2세대 VM에서 신뢰할 수 있는 시작을 사용하도록 설정하는 단계를 따릅니다.
Make sure that you install the latest Azure CLI and are signed in to an Azure account with az login.
VM Azure 구독에 로그인합니다.
az login
az account set --subscription 00000000-0000-0000-0000-000000000000
VM 할당을 취소합니다.
az vm deallocate \
--resource-group myResourceGroup --name myVm
--security-type
을 TrustedLaunch
로 설정하여 신뢰할 수 있는 시작을 사용하도록 설정합니다.
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에서 신뢰할 수 있는 시작을 사용하도록 설정하는 단계를 따릅니다.
Make sure that you install the latest Azure PowerShell and are signed in to an Azure account with Connect-AzAccount.
VM Azure 구독에 로그인합니다.
Connect-AzAccount -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 Resource Manager 템플릿은 프로젝트에 대한 인프라 및 구성을 정의하는 JSON(JavaScript Object Notation) 파일입니다. 이 템플릿은 선언적 구문을 사용합니다. 배포를 만들기 위한 프로그래밍 명령의 시퀀스를 작성하지 않고 의도하는 배포를 설명합니다.
템플릿을 검토합니다.
{
"$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 Azure 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)]"
}
}
]
}
parameters
보안 형식으로 업데이트할 VM이 있는 TrustedLaunch
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": "westus3",
"secureBootEnabled": true
},
{
"vmName": "myVm02",
"___location": "westus3",
"secureBootEnabled": true
}
]
}
}
}
}
매개 변수 파일 정의
Property |
속성 설명 |
예제 템플릿 값 |
vmName |
Azure 2세대 VM의 이름. |
myVm |
___location |
Azure 2세대 VM의 위치. |
westus3 |
secureBootEnabled |
신뢰할 수 있는 시작 보안 형식으로 보안 부팅을 사용하도록 설정합니다. |
true |
업데이트할 모든 Azure Generation 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에 로그인할 수 있는지 확인합니다.
Roll back
Note
가상 머신 구독에서 UseStandardSecurityType
네임스페이스 아래에 Microsoft.Compute
기능을 등록하여 롤백을 지원합니다. 자세한 내용은 Azure 구독에서 미리 보기 기능 설정을 참조하세요.
To roll-back changes from Trusted launch to previous Gen2 known good configuration, you need to set securityType
of VM to Standard.
신뢰할 수 있는 시작을 Gen2(신뢰할 수 없는 시작) 구성으로 롤백하는 기능은 현재 Azure Portal에서 지원되지 않습니다.
To roll-back changes from Trusted launch to previous known good configuration, set securityProfile
to Standard as shown in the sample template used for executing Trusted launch upgrade.
"securityProfile": {
"securityType": "Standard",
"uefiSettings": "[null()]"
}
Azure CLI를 사용하여 기존 Azure 2세대 VM에서 신뢰할 수 있는 시작을 사용하지 않도록 설정하는 단계를 수행합니다.
Make sure that you install the latest Azure CLI and are signed in to an Azure account with az login.
VM Azure 구독에 로그인합니다.
az login
az account set --subscription 00000000-0000-0000-0000-000000000000
VM 할당을 취소합니다.
az vm deallocate \
--resource-group myResourceGroup --name myVm
--security-type
을 Standard
로 설정하여 신뢰할 수 있는 시작을 사용하도록 설정합니다.
az vm update \
--resource-group myResourceGroup --name myVm \
--security-type Standard
이전 명령의 출력의 유효성을 검사합니다.
securityProfile
구성이 명령 출력과 함께 반환되는지 확인합니다.
{
"securityProfile": {
"securityType": null,
"uefiSettings": null
}
}
VM을 시작합니다.
az vm start \
--resource-group myResourceGroup --name myVm
신뢰할 수 있는 시작에서 이전에 알려진 정상 구성으로 변경 내용을 롤백하려면 표시된 대로 -SecurityType
을 Standard
(으)로 설정합니다.
VM Azure 구독에 로그인합니다.
Connect-AzAccount -SubscriptionId 00000000-0000-0000-0000-000000000000
VM 할당을 취소합니다.
Stop-AzVM -ResourceGroupName myResourceGroup -Name myVm
-SecurityType
을 TrustedLaunch
로 설정하여 신뢰할 수 있는 시작을 사용하도록 설정합니다.
Get-AzVM -ResourceGroupName myResourceGroup -VMName myVm `
| Update-AzVM -SecurityType Standard
업데이트된 VM 구성에서 securityProfile
의 유효성을 검사합니다.
# Following command output should be `null`
(Get-AzVM -ResourceGroupName myVm -VMName myResourceGroup `
| Select-Object -Property SecurityProfile `
-ExpandProperty SecurityProfile).SecurityProfile.SecurityType
VM을 시작합니다.
Start-AzVM -ResourceGroupName myResourceGroup -Name myVm
Azure Advisor 권장 사항
Azure Advisor는 기존 2세대 VM이 신뢰할 수 있는 시작을 채택하기 위한 기존 2세대 VM의 운영 우수성 권장 사항에 대한 신뢰할 수 있는 시작 기본 우수성 및 최신 보안을 채웁니다. 이 경우 추가 비용 없이 Azure VM의 보안 태세를 강화합니다. 2세대 VM이 신뢰할 수 있는 시작으로 마이그레이션하는 데 필요한 모든 필수 조건을 갖추고 있는지 유효성을 검사하고 OS 이미지, VM 크기 유효성 검사, 복원 지점 만들기를 포함한 모든 모범 사례를 따릅니다. Advisor 권장 사항이 완료된 것으로 간주되려면 기존 VM에서 신뢰할 수 있는 시작 사용에 설명된 단계에 따라 가상 머신 보안 형식을 업그레이드하고 신뢰할 수 있는 시작을 사용합니다.
신뢰할 수 있는 시작에 대한 필수 조건에 맞지 않는 2세대 VM이 있는 경우는 어떻게 되나요?
For a Generation 2 VM that doesn't meet the prerequisites to upgrade to Trusted launch, look how to fulfill the prerequisites. 예를 들어 지원되지 않는 가상 머신 크기를 사용하는 경우 신뢰할 수 있는 시작을 지원하는 동일한 신뢰할 수 있는 시작 지원 크기를 찾습니다.
Note
Gen2 가상 머신이 현재 MSv2 시리즈와 같은 신뢰할 수 있는 시작에서 지원되지 않는 VM 크기 제품군으로 구성된 경우 권장 사항을 해제합니다.
Related content