Ensure that the databases provisioned with Azure Database for MySQL have the Transport Encryption feature enabled in order to meet security and compliance requirements. Transport Encryption is the security feature that forces all connections to your database servers to use TLS/SSL. Once enabled, the data transport encryption and decryption is handled transparently and does not require any additional action from you or your application.
According to PCI DSS requirements, all connections made to Azure Database for MySQL servers that process, store, and transmit cardholder data must use encryption provided by the Transport Encryption feature. In Azure cloud, Transport Encryption implements encryption in transit using the require_secure_transport server parameter for MySQL databases. Enforcing TLS/SSL connections between PostgreSQL database server and client applications also helps protect against Man-in-The-Middle (MITM) attacks by encrypting the data stream between the server and applications.
Audit
To determine if the Transport Encryption feature is enabled for your Azure MySQL flexible database servers, perform the following operations:
Remediation / Resolution
To enable the Transport Encryption feature for your Azure MySQL flexible database servers, perform the following operations:
References
- Azure Official Documentation
- Connectivity and networking concepts for Azure Database for MySQL - Flexible Server
- Connect to Azure Database for MySQL - Flexible Server with encrypted connections
- Security Control: Data protection
- Azure Command Line Interface (CLI) Documentation
- az mysql flexible-server list
- az mysql flexible-server parameter show
- az mysql flexible-server parameter set