Ensure public network access is disabled
Description
Disable public network access to prevent exposure to the internet and reduce the risk of unauthorized access. Use private endpoints to securely manage access within trusted networks.
Rationale
Disabling public network access improves security by ensuring that the service is not directly exposed to the public Internet. This has the added benefit of providing more granular control over security settings and configurations for those additional layers of separation.
Impact
NOTE: Prior to disabling public network access, it is strongly recommended that, for each App Service deployment slot, either:
- complete virtual network integration as described in "Ensure app is integrated with a virtual network"
OR
- set up private endpoints/links as described in "Ensure private endpoints are used to access App Service apps."
Disabling public network access restricts direct access to the service. This enhances security but will require the configuration of a virtual network and/or private endpoints for any services or users needing access within trusted networks.
Audit Procedure
Using Azure Portal
- Go to
App Services. - Click the name of an app.
- Under
Deployment, clickDeployment slots. - Click the name of a deployment slot.
- Under
Settings, clickNetworking. - Under
Inbound traffic configuration, ensure thatPublic network accessis set toDisabled. - Repeat steps 1-6 for each app and deployment slot.
Using Azure CLI
Run the following command to list apps:
az webapp list
For each app, run the following command to list deployment slots:
az webapp deployment slot list --resource-group <resource-group-name> --name <app-name>
For each deployment slot, ensure that publicNetworkAccess is set to Disabled.
Expected Result
The publicNetworkAccess property should be set to Disabled.
Remediation
Using Azure Portal
- Go to
App Services. - Click the name of an app.
- Under
Deployment, clickDeployment slots. - Click the name of a deployment slot.
- Under
Settings, clickNetworking. - Under
Inbound traffic configuration, click the text next toPublic network access. - Select the radio button next to
Disabled. - Click
Save. - Check the box to confirm the change.
- Click
Continue. - Repeat steps 1-10 for each app and deployment slot requiring remediation.
Using Azure CLI
For each deployment slot requiring remediation, run the following command to disable public network access:
az resource update --resource-group <resource-group-name> --name <app-name>/slots/<deployment-slot-name> --resource-type "Microsoft.Web/sites" --set properties.publicNetworkAccess=Disabled
Default Value
By default, public network access is enabled.
References
- https://learn.microsoft.com/en-us/azure/app-service/networking-features
- https://learn.microsoft.com/en-us/cli/azure/webapp
- https://learn.microsoft.com/en-us/cli/azure/resource
Profile
Level 1 | Automated