Ensure all traffic is routed through the virtual network
Description
Enable vnetRouteAllEnabled to ensure all outbound traffic is routed through the integrated virtual network.
This recommendation should be applied after integrating a function app with a virtual network.
Rationale
Routing all outbound traffic through the virtual network enhances security.
Impact
Additional configuration may be required to ensure that traffic is routed properly.
Audit Procedure
Using Azure Portal
- Go to
App ServicesorFunction App. - Click the name of a function app.
- Under
Settings, clickNetworking. - Under
Outbound traffic configuration, next toVirtual network integration, click the virtual network and subnet name. - Under
Application routing, ensure that the box next toOutbound internet trafficis checked. - Repeat steps 1-5 for each function app.
Using Azure CLI
Run the following command to list function apps:
az functionapp list
For each function app, run the following command to get the virtual network traffic routing setting:
az functionapp show --resource-group <resource-group-name> --name <app-name> --query vnetRouteAllEnabled
Ensure that true is returned.
Expected Result
The vnetRouteAllEnabled setting should return true.
Remediation
Using Azure Portal
- Go to
App ServicesorFunction App. - Click the name of a function app.
- Under
Settings, clickNetworking. - Under
Outbound traffic configuration, next toVirtual network integration, click the virtual network and subnet name. - Under
Application routing, check the box next toOutbound internet traffic. - Click
Apply. - Repeat steps 1-6 for each function app requiring remediation.
Using Azure CLI
For each function app requiring remediation, run the following command to route all traffic through the virtual network:
az resource update --resource-group <resource-group-name> --name <function-app-name> --resource-type "Microsoft.Web/sites" --set properties.vnetRouteAllEnabled=true
Default Value
For function apps integrated with a virtual network, all traffic is routed through the virtual network by default.
References
- https://learn.microsoft.com/en-us/azure/app-service/configure-vnet-integration-routing#configure-application-routing
- https://learn.microsoft.com/en-us/azure/azure-functions/functions-app-settings#vnetrouteallenabled
- https://learn.microsoft.com/en-us/cli/azure/functionapp
- https://learn.microsoft.com/en-us/cli/azure/resource
Profile
Level 1 | Automated