lacework-global-573
Ensure Virtual Machines are utilizing Managed Disks (Automated)
This rule has been changed to automated, see Automated Policies for CIS Azure 1.5.0 for details.
Profile Applicability
• Level 1
Description
Migrate blob-based Virtual Hard Disks (VHD) to Managed Disks on Virtual Machines to exploit the default features of this configuration. The features include:
- Default Disk Encryption.
- Resilience, as Microsoft manages the disk storage and moves data around if underlying hardware goes faulty.
- Reduction of costs over storage accounts.
Rationale
Managed disks are by default encrypted on the underlying hardware, so no additional encryption is required for basic protection. It is available if additional encryption is required. Managed disks are by design more resilient that storage accounts.
For ARM-deployed Virtual Machines, Azure Adviser will at some point recommend moving VHDs to managed disks both from a security and cost management perspective.
Impact
There are additional costs for managed disks based off of disk space allocated. When converting to managed disks, VMs will be powered off and back on.
Audit
From Azure Console
- Using the search feature, go to
Virtual Machines
- Click the
Manage view
dropdown, then selectEdit columns
- Add
Uses managed disks
to the selected columns - Select
Save
- Ensure all virtual machines listed are using managed disks
Using Azure Powershell
Get-AzVM | ForEach-Object {"Name: " + $_.Name;"ManagedDisk Id: " + $_.StorageProfile.OsDisk.ManagedDisk.Id;""}
Example output:
Name: vm1
ManagedDisk Id: /disk1/id
Name: vm2
ManagedDisk Id: /disk2/id
If the 'ManagedDisk Id' field is empty the os disk for that vm is not managed.
Remediation
From Azure Console
- Using the search feature, go to Virtual Machines.
- Select the virtual machine you would like to convert.
- Select Disks in the menu for the VM.
- At the top select Migrate to managed disks.
- You may follow the prompts to convert the disk and finish by selecting Migrate to start the process.
NOTE VMs stop and restart after migration is complete.
Using Azure Powershell
Stop-AzVM -ResourceGroupName $rgName -Name $vmName -Force
ConvertTo-AzVMManagedDisk -ResourceGroupName $rgName -VMName $vmName
Start-AzVM -ResourceGroupName $rgName -Name $vmName
References
https://docs.microsoft.com/en-us/azure/virtual-machines/windows/convert-unmanaged-to-managed-disks
https://docs.microsoft.com/en-us/security/benchmark/azure/security-controls-v3-data-protection#dp-4-enable-data-at-rest-encryption-by-default
https://docs.microsoft.com/en-us/azure/virtual-machines/faq-for-disks
https://azure.microsoft.com/en-us/pricing/details/managed-disks/