Virtual Network should have encryption enabled
Medium
Azure
General
vnet-encryption
Applies to
Microsoft.Network/virtualNetworks
What CGPulse checks
A resource passes this rule when encryption.enabled must equal true. Anything else is reported as a finding with the evaluated property value attached as evidence.
How to fix it
Enable VNet encryption to protect VM-to-VM traffic from interception. In Azure Portal: VNet > Properties > enable encryption. See: https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-encryption-overview
CLI
az network vnet show --ids "{id}" --query "encryption" -o jsonBicep
// VNet encryption requires all VMs to support Accelerated Networking
resource vnet 'Microsoft.Network/virtualNetworks@2023-11-01' existing = {{
name: '{name}'
}}
// TODO: Update vnet properties.encryption.enabled = true
// enforcement: 'allowUnencrypted' (audit) or 'dropUnencrypted' (block)Terraform
resource "azurerm_virtual_network" "{name}" {
name = "{name}"
resource_group_name = "{rg}"
location = var.location
address_space = ["10.0.0.0/16"]
encryption {
enforcement = "AllowUnencrypted"
}
}
Compliance frameworks
Is your environment compliant with this rule?
CGPulse checks it — and 621 others — against your Azure and AWS accounts with read-only access.
Related Azure rules
- Action Group should be enabled
- Activity Log Alert should be enabled
- AKS cluster logs should be sent to Log Analytics
- AKS cluster must enable RBAC
- AKS cluster must enable RBAC
- AKS cluster should be a private cluster
- AKS cluster should disable local accounts
- AKS cluster should enable Azure RBAC for Kubernetes