TDSQL
TMA-TDSQL-9.4
Ensure Connection Timeout Parameters Are Reasonable
Description
Idle connection timeout parameters (wait_timeout, interactive_timeout) control when idle connections are automatically closed. Excessively long timeouts increase the risk of connection hijacking. 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 wait_timeout and interactive_timeout are both 3600 seconds or less (300-600 recommended for production; the TDSQL default 28800 fails).
How it is checked
Audit method: SQL query
out=$(mysql ${TDSQL_MYSQL_OPTS:-} -NBe "SELECT CASE WHEN @@global.wait_timeout <= 3600 AND @@global.interactive_timeout <= 3600 THEN 'compliant' ELSE 'noncompliant' END" 2>/dev/null) || exit 1; printf '%s\n' "$out"- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
SET GLOBAL wait_timeout = 600; SET GLOBAL interactive_timeout = 600; and persist them in the parameter template.
Properties
- Operating systems
- Any
- Tags
- tdsqlsession
- Reference
- CIS Tencent TDSQL 10.3.22 Benchmark v1.0.0 - 9.4 Ensure Connection Timeout Parameters Are Reasonable
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
tmaegis scan --target tdsql