TMAegis
More rules for tdsql

TMA-TDSQL-5.11

Ensure TXSQL System User Hiding and Anti-Forgery Is Enabled

HighLevel 1Manual reviewtdsql

Description

The TXSQL kernel provides three layers of protection for system user reserved prefixes (tdsqlsys, tdsql3_sys, controlled by the tdsql_system_user_prefix variable): 1. Hidden visibility - the mysql.user view automatically masks system user rows. 2. Forgery prevention - no client is allowed to create users with the system user reserved prefixes. 3.

How it is checked

Audit method: Manual review

This recommendation cannot be checked automatically. A scan lists it with these instructions when you pass --include-manual.

-- 1. Execute after logging in as a regular user (should not see tdsqlsys_* users) SELECT User, Host FROM mysql.user WHERE User LIKE 'tdsqlsys_%'; -- 2. Attempt to create a user with the same prefix (should be rejected by the kernel) CREATE USER 'tdsqlsys_attacker'@'%' IDENTIFIED BY 'fake_pass'; -- ERROR XXXX: User 'tdsqlsys_attacker' is reserved for system use. -- 3. Attempt to write directly via INSERT (should be rejected by the kernel) INSERT INTO mysql.user (User, Host) VALUES ('tdsqlsys_evil','%'); -- ERROR XXXX: Modifying system tables is not allowed. -- 4.

How it is fixed

Fix method: Guidance or infrastructure patch

These protections are enabled by default out of the box in TDSQL. If system users are visible or can be created, the cluster is not running the TXSQL kernel or has been replaced with stock MySQL, and must be upgraded to the TXSQL kernel.

Properties

Operating systems
Any
Tags
tdsqlauthentication
Reference
CIS Tencent TDSQL 10.3.22 Benchmark v1.0.0 - 5.11 Ensure TXSQL System User Hiding and Anti-Forgery Is Enabled