turbot/azure_compliance

Control: 5.3.2 Ensure server parameter 'tls_version' is set to 'TLSv1.2' (or higher) for MySQL flexible server

Description

Ensure tls_version on MySQL flexible servers is set to use TLS version 1.2 or higher.

TLS connectivity helps to provide a new layer of security by connecting database server to client applications using Transport Layer Security (TLS). Enforcing TLS 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.

Remediation

From Azure Portal

  1. Login to Azure Portal using https://portal.azure.com.
  2. Go to Azure Database for MySQL flexible servers.
  3. For each database, under Settings, click Server parameters.
  4. In the filter bar, type tls_version.
  5. Click on the VALUE dropdown next to tls_version, and check TLSv1.2 (or higher).
  6. Uncheck anything lower than TLSv1.2.
  7. Click Save.

From Azure CLI

Use the below command to update MySQL flexible servers to use TLS version 1.2:

az mysql flexible-server parameter set --resource-group <resourceGroup> --server-name <serverName> --name tls_version --value TLSv1.2

From PowerShell

Use the below command to update MySQL flexible servers to use TLS version 1.2:

Update-AzMySqlFlexibleServerConfiguration -ResourceGroupName <resourceGroup> -ServerName <serverName> -Name tls_version -Value TLSv1.2

Default Value

By default, TLS is set to v1.2 for MySQL Flexible servers.

Usage

Run the control in your terminal:

powerpipe control run azure_compliance.control.cis_v300_5_3_2

Snapshot and share results via Turbot Pipes:

powerpipe login
powerpipe control run azure_compliance.control.cis_v300_5_3_2 --share

SQL

This control uses a named query:

mysql_flexible_server_min_tls_1_2

Tags