5.3.1 Ensure server parameter 'require_secure_transport' is set to 'ON' for MySQL flexible server

Information

Enable require_secure_transport on MySQL flexible servers.

Rationale:

SSL connectivity helps to provide a new layer of security by connecting database server to client applications using Secure Sockets Layer (SSL). Enforcing SSL connections between database server and client applications helps protect against 'man in the middle' attacks by encrypting the data stream between the server and application.

Solution

Remediate from Azure Portal

Login to Azure Portal using https://portal.azure.com.

Go to Azure Database for MySQL flexible servers.

For each database, under Settings, click Server parameters.

In the filter bar, type require_secure_transport.

Set the VALUE for require_secure_transport to ON.

Click Save.

Remediate from Azure CLI
Use the below command to enable require_secure_transport:

az mysql flexible-server parameter set --resource-group <resourceGroup> --server-name <serverName> --name require_secure_transport --value on

Remediate from PowerShell
Use the below command to enable require_secure_transport:

Update-AzMySqlFlexibleServerConfiguration -ResourceGroupName <resourceGroup> -ServerName <serverName> -Name require_secure_transport -Value on

Default Value:

Azure Database for MySQL when provisioned through the Azure portal or CLI will require SSL connections by default.

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

Plugin: microsoft_azure

Control ID: 6d62e55f7922d415b10bc18789754c3990b211c6e34dc85d84dc72bc9c783ee4