Ensure end-to-end TLS encryption is enabled
Description
End-to-end (E2E) TLS encryption ensures that front-end to worker communication within App Service apps is encrypted using TLS. Without this feature, while incoming HTTPS requests are encrypted to the front ends, the traffic from front ends to workers running the application workloads would travel unencrypted inside Azure's infrastructure.
Rationale
E2E TLS helps ensure full encryption of traffic between:
- Clients and front ends
- Front ends and worker processes hosting the application
Impact
Enabling end-to-end TLS encryption may introduce minimal latency and require additional configuration of certificates and HTTPS settings to ensure compatibility.
Audit Procedure
Using Azure Portal
- Go to
App Services. - Click the name of an app.
- Under
Settings, clickConfiguration. - In the
General settingspane, underPlatform settings, ensure thatEnable end-to-end TLS encryptionis set toOn. - 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 end-to-end TLS encryption setting:
az webapp show --resource-group <resource-group-name> --name <app-name> --query endToEndEncryptionEnabled
Ensure that the command returns true.
Using Azure PowerShell
Not specifically documented for this control.
Expected Result
The endToEndEncryptionEnabled setting should return true.
Remediation
Using Azure Portal
- Go to
App Services. - Click the name of an app.
- Under
Settings, clickConfiguration. - In the
General settingspane, underPlatform settings, next toEnable end-to-end TLS encryption, click the radio button next toOn. - Click
Save. - Click
Continue. - Repeat steps 1-6 for each app requiring remediation.
Using Azure CLI
For each app requiring remediation, run the following command to enable end-to-end TLS encryption:
az resource update --resource-group <resource-group-name> --name <app-name> --resource-type "Microsoft.Web/sites" --set properties.endToEndEncryptionEnabled=true
Using Azure PowerShell
Not specifically documented for this control.
Default Value
By default, end-to-end TLS encryption is disabled.
References
- https://learn.microsoft.com/en-us/azure/app-service/overview-tls#end-to-end-tls-encryption
- https://learn.microsoft.com/en-us/cli/azure/webapp
- https://learn.microsoft.com/en-us/cli/azure/resource
Profile
Level 1 | Automated