TMA-TDSQL-5.1
Ensure No Anonymous Accounts Exist
HighLevel 1Automatedtdsql
Description
Anonymous accounts (with an empty username '') allow any user to log in to the database without specifying a username. 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).
How it is checked
Audit method: SQL query
sql_query
out=$(mysql ${TDSQL_MYSQL_OPTS:-} -NBe "SELECT COUNT(*) FROM mysql.user WHERE User = ''" 2>/dev/null) || exit 1; printf '%s\n' "$out"- Expected output
0
How it is fixed
Fix method: Guidance or infrastructure patch
DROP USER ''@'localhost'; DROP USER ''@'%'; (for every anonymous account returned).
Properties
- Operating systems
- Any
- Tags
- tdsqlauthentication
- Reference
- CIS Tencent TDSQL 10.3.22 Benchmark v1.0.0 - 5.1 Ensure No Anonymous Accounts Exist
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
shell
tmaegis scan --target tdsql