Other Articles

MySQL Flexible Server – Enforce Minimum TLS Version

This check ensures that the minimum TLS (Transport Layer Security) version is set to 1.2 for Azure Database for MySQL Flexible Servers. Enforcing TLS 1.2 strengthens encryption standards and protects data in transit from interception and downgrade attacks.

Check Details

  • Resource: Azure Database for MySQL Flexible Server
  • Check: Ensure Minimum TLS Version Is Set to 1.2
  • Risk: Allowing older TLS versions (such as 1.0 or 1.1) exposes database connections to known cryptographic vulnerabilities and downgrade attacks, potentially leading to data interception and non-compliance with security standards.

Remediation via Azure Portal

  1. Log in to the Azure Portal. Azure Portal dashboard
  2. Navigate to Azure Database for MySQL Flexible Servers and select the affected server. MySQL Flexible Servers list
  3. In the left-hand menu, select Server parameters under Settings. MySQL server parameters
  4. Search for the parameter tls_version.
  5. Ensure the value is set to TLS 1.2. MySQL TLS version setting
  6. Click Save to apply the configuration.

Remediation via Azure CLI

  1. Open Azure Cloud Shell or a local terminal with Azure CLI installed. Azure Cloud Shell
  2. Check the current TLS version setting:

    az mysql flexible-server parameter show \
     --resource-group <resource-group> \
     --server-name <mysql-server-name> \
     --name tls_version
    
  3. Set the minimum TLS version to 1.2:

    az mysql flexible-server parameter set \
     --resource-group <resource-group> \
     --server-name <mysql-server-name> \
     --name tls_version \
     --value TLSv1.2
    
  4. Verify the updated configuration:

    az mysql flexible-server parameter show \
     --resource-group <resource-group> \
     --server-name <mysql-server-name> \
     --name tls_version \
     --query value
    

Replace <resource-group> and <mysql-server-name> with your actual values. The output should confirm that the TLS version is set to TLSv1.2.