TMAegisBeta
More rules for tdsql

TDSQL

TMA-TDSQL-7.1

Ensure the Default Authentication Plugin Is `caching_sha2_password`

MediumLevel 1Automatedtdsql

Description

The default authentication plugin in MySQL 8.0 is caching_sha2_password, which provides stronger password hashing and challenge-response authentication than mysql_native_password. 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). Also confirm user_auth_plugin = caching_sha2_password in the TDSQL Manager manager.json.

How it is checked

Audit method: SQL query

sql_query
out=$(mysql ${TDSQL_MYSQL_OPTS:-} -NBe "SELECT @@global.default_authentication_plugin" 2>/dev/null) || exit 1; printf '%s\n' "$out"
Expected output
caching_sha2_password

How it is fixed

Fix method: Guidance or infrastructure patch

Set { "name": "user_auth_plugin", "value": "caching_sha2_password" } in manager.json and default_authentication_plugin = caching_sha2_password in the instance template; migrate accounts after confirming client compatibility.

Properties

Operating systems
Any
Tags
tdsqlauthentication
Reference
CIS Tencent TDSQL 10.3.22 Benchmark v1.0.0 - 7.1 Ensure the Default Authentication Plugin Is `caching_sha2_password`

Check this host

Run this on a machine you are allowed to audit. The scan is read-only.

shell
tmaegis scan --target tdsql