9.3 Ensure 'FTP State' is set to 'FTPS Only' or 'Disabled'

Information

By default, App Services can be deployed over FTP. If FTP is required for an essential deployment workflow, FTPS should be required for FTP login for all App Services.

If FTPS is not expressly required for the App, the recommended setting is Disabled.

Rationale:

FTP is an unencrypted network protocol that will transmit data - including passwords - in clear-text. The use of this protocol can lead to both data and credential compromise, and can present opportunities for exfiltration, persistence, and lateral movement.

Impact:

Any deployment workflows that rely on FTP or FTPs rather than the WebDeploy or HTTPs endpoints may be affected.

Solution

Remediate from Azure Portal

Go to the Azure Portal

Select App Services

Click on an app

Select Settings and then Configuration

Under General Settings, for the Platform Settings, the FTP state should be set to Disabled or FTPS Only

Remediate from Azure CLI
For each out of compliance application, run the following choosing either 'disabled' or 'FtpsOnly' as appropriate:

az webapp config set --resource-group <resource group name> --name <app name> --ftps-state [disabled|FtpsOnly]

Remediate from PowerShell
For each out of compliance application, run the following:

Set-AzWebApp -ResourceGroupName <resource group name> -Name <app name> -FtpsState <Disabled or FtpsOnly>

Default Value:

By default, FTP based deployment is All allowed

See Also

https://workbench.cisecurity.org/benchmarks/16820

Item Details

Category: ACCESS CONTROL, IDENTIFICATION AND AUTHENTICATION, SYSTEM AND COMMUNICATIONS PROTECTION

References: 800-53|AC-17(2), 800-53|IA-5, 800-53|IA-5(1), 800-53|SC-8, 800-53|SC-8(1), CSCv7|14.4, CSCv7|16.5

Plugin: microsoft_azure

Control ID: b5d9ed83c7eb6d95bce44dfae9141737026f0b947384de393003d7da259613ef