Cis Azure Compute 2.1.18
DevOps & Securitycis-azure-compute-2.1.18Cis Azure Compute 2.1.18 is an Agent Skill for devops & security published in the CyberStrikeus/CyberStrike repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.
Ensure app is integrated with a virtual network
How to use this skill
Bring this guide into your coding agent with a prompt tailored to the tool you use.
- Open your project in Codex.
- Copy and paste the prompt below.
- Review files and risks before approving any action.
Inspect the Agent Skill at https://github.com/CyberStrikeus/CyberStrike/blob/HEAD/.cyberstrike/skill/CIS_benchmarks/Cloud_Providers/Microsoft_Azure/CIS_Microsoft_Azure_Compute_Services_Benchmark_v2.0.0/cis-azure-compute-2.1.18/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/cis-azure-compute-2-1-18, but wait for my approval before writing files or running scripts.
Copying this prompt does not install or run the skill. Review third-party files before use.
Ensure app is integrated with a virtual network
Description
Integrate App Service apps with a virtual network to enable access to resources in or through a non-internet-routable virtual network.
Rationale
Integrate App Service apps with a virtual network for increased security and control.
Impact
Additional configuration may be required to ensure that traffic is routed properly.
Audit Procedure
Using Azure Portal
- Go to
App Services. - Click the name of an app.
- Under
Settings, clickNetworking. - Under
Outbound traffic configuration, next toVirtual network integration, ensure that a virtual network and subnet name are displayed. - Repeat steps 1-4 for each app.
Using Azure CLI
Run the following command to list apps:
az webapp list
For each app, run the following command to get the virtual network subnet ID:
az webapp show --resource-group <resource-group-name> --name <app-name> --query "virtualNetworkSubnetId"
Ensure that a virtual network subnet ID is returned.
Using Azure PowerShell
Run the following command to list apps:
Get-AzWebApp
Run the following command to get the app in a resource group with a given name:
$app = Get-AzWebapp -ResourceGroupName <resource-group-name> -Name <app-name>
Run the following command to get the virtual network subnet ID:
$app.virtualNetworkSubnetId
Ensure that a virtual network subnet ID is returned. Repeat for each app.
Expected Result
A virtual network subnet ID should be returned, indicating the app is integrated with a virtual network.
Remediation
Using Azure Portal
- Go to
App Services. - Click the name of an app.
- Under
Settings, clickNetworking. - Under
Outbound traffic configuration, next toVirtual network integration, clickNot configured. - Click
Add virtual network integration. - Select an existing App Service Plan connection, or select
New connectionand select a subscription, virtual network, and subnet. - Click
Connect. - Repeat steps 1-7 for each app requiring remediation.
Using Azure CLI
For each app requiring remediation, run the following command to integrate with a virtual network:
az webapp vnet-integration add --resource-group <resource-group-name> --name <app-name> --vnet <virtual-network-name> --subnet <subnet-name>
Using Azure PowerShell
For each app requiring remediation, run the following commands to integrate with a virtual network:
Prepare parameters:
$siteName = '<app-name>'
$vNetResourceGroupName = '<virtual-network-resource-group-name>'
$appResourceGroupName = '<app-resource-group-name>'
$vNetName = '<virtual-network-name>'
$integrationSubnetName = '<subnet-name>'
$vNetSubscriptionId = '<subscription-guid>'
Check if the subnet is delegated to Microsoft.Web/serverFarms:
$vnet = Get-AzVirtualNetwork -Name $vNetName -ResourceGroupName $vNetResourceGroupName
$subnet = Get-AzVirtualNetworkSubnetConfig -Name $integrationSubnetName -VirtualNetwork $vnet
Get-AzDelegation -Subnet $subnet
Add delegation:
$subnet = Add-AzDelegation -Name "myDelegation" -ServiceName "Microsoft.Web/serverFarms" -Subnet $subnet
Set-AzVirtualNetwork -VirtualNetwork $vnet
Configure virtual network integration:
$subnetResourceId = "/subscriptions/$vNetSubscriptionId/resourceGroups/$vNetResourceGroupName/providers/Microsoft.Network/virtualNetworks/$vNetName/subnets/$integrationSubnetName"
$app = Get-AzResource -ResourceType Microsoft.Web/sites -ResourceGroupName $appResourceGroupName -ResourceName $siteName
$app.Properties.virtualNetworkSubnetId = $subnetResourceId
$app.Properties.vnetRouteAllEnabled = 'true'
$app | Set-AzResource -Force
Default Value
By default, virtual network integration is not configured.
References
- https://learn.microsoft.com/en-us/azure/app-service/overview-vnet-integration
- https://learn.microsoft.com/en-us/azure/app-service/configure-vnet-integration-enable
- https://learn.microsoft.com/en-us/cli/azure/webapp
- https://learn.microsoft.com/en-us/powershell/module/az.websites/get-azwebapp
Profile
Level 1 | Automated