| name | cis-azure-compute-20.4 |
| description | Ensure that 'Disk Network Access' is NOT set to 'Enable public access from all networks' |
| category | cis-azure-compute |
| version | 2.0.0 |
| author | cyberstrike-official |
| tags | ["cis","azure","virtual-machines","vm","disks","encryption"] |
| cis_id | 20.4 |
| cis_benchmark | CIS Microsoft Azure Compute Services Benchmark v2.0.0 |
| tech_stack | ["azure"] |
| cwe_ids | [] |
| chains_with | [] |
| prerequisites | [] |
| severity_boost | {} |
Ensure that 'Disk Network Access' is NOT set to 'Enable public access from all networks'
Description
Virtual Machine Disks and snapshots can be configured to allow access from different network resources.
Rationale
The setting 'Enable public access from all networks' is, in many cases, an overly permissive setting on Virtual Machine Disks that presents atypical attack, data infiltration, and data exfiltration vectors. If a disk to network connection is required, the preferred setting is to 'Disable public access and enable private access.'
Impact
The setting 'Disable public access and enable private access' will require configuring a private link (URL in references below).
The setting 'Disable public and private access' is most secure and preferred where disk network access is not needed.
Audit Procedure
Using Azure Portal
Part A. Select the Virtual Machine to Evaluate
- Using the search bar, search for and open the
Virtual Machines service.
- Click on the name of the Virtual Machine to be audited.
Part B. Evaluate each Virtual Machine Disk individually
- From the selected Virtual Machine resource window, expand the
Settings menu item and click Disks.
- For each disk, click the name of the disk to open the disk resource window.
- From the selected Disk resource window, expand the
Settings menu item, and click Networking.
Ensure that Network access is NOT set to Enable public access from all networks.
Repeat Part B for each Disk attached to a VM.
Repeat Parts A and B to evaluate all Disks in all VMs.
Using Azure PowerShell
For each managed disk, run the following PowerShell command:
Get-AzDisk -ResourceGroupName '<resource group name>' -DiskName '<disk name>'
Ensure the PublicNetworkAccess setting is Disabled and the NetworkAccessPolicy is set to AllowPrivate or DenyAll.
Using Azure CLI
For each managed disk, run the following command:
az disk show --disk-name '<disk name>' --resource-group '<resource group name>'
Ensure the publicNetworkAccess setting is set to and the setting is set to or .