TMAegis
More rules for tdsql

TMA-TDSQL-9.1

Ensure SSL/TLS Is Enabled on MySQL Instances

HighLevel 1Automatedtdsql

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

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.

shell
tmaegis scan --target tdsql