TMA-TDSQL-9.6
Ensure `max_connect_errors` Is Reasonably Set
LowLevel 2Automatedtdsql
Description
max_connect_errors controls the threshold of consecutive connection errors from the same host after which MySQL automatically blocks subsequent connections from that host. 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 max_connect_errors is 100 or less (TDSQL default 2000).
How it is checked
Audit method: SQL query
sql_query
out=$(mysql ${TDSQL_MYSQL_OPTS:-} -NBe "SELECT CASE WHEN @@global.max_connect_errors <= 100 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 max_connect_errors = 100;
Properties
- Operating systems
- Any
- Tags
- tdsqlauthentication
- Reference
- CIS Tencent TDSQL 10.3.22 Benchmark v1.0.0 - 9.6 Ensure `max_connect_errors` Is Reasonably Set
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
shell
tmaegis scan --target tdsql --level 2