TMA-TDSQL-9.1
Ensure SSL/TLS Is Enabled on MySQL Instances
Description
MySQL instances should enable SSL/TLS to encrypt communication between clients and the database. Unencrypted connections can be sniffed on the network, leading to credential and data leakage. Runs the mysql client against the TDSQL data node selected by TDSQL_MYSQL_OPTS (e.g. "-h10.0.0.5 -P4001 -utdsql_audit"); keep the password in ~/.my.cnf or a login path rather than MYSQL_PWD or the command line (see 1.4 and 1.5). Passes when have_ssl = YES; where enforcement is required also confirm require_secure_transport = ON.
How it is checked
Audit method: SQL query
out=$(mysql ${TDSQL_MYSQL_OPTS:-} -NBe "SELECT @@global.have_ssl" 2>/dev/null) || exit 1; printf '%s\n' "$out"- Expected output
YES
How it is fixed
Fix method: Guidance or infrastructure patch
Deploy the SSL certificate files (3.4), configure ssl-ca / ssl-cert / ssl-key in [mysqld] (or enable SSL centrally through OSS) and set require_secure_transport = ON where encryption must be enforced.
Properties
- Operating systems
- Any
- Tags
- tdsqltlsencryption
- Reference
- CIS Tencent TDSQL 10.3.22 Benchmark v1.0.0 - 9.1 Ensure SSL/TLS Is Enabled on MySQL Instances
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
tmaegis scan --target tdsql