TMAegis
More rules for mysql

TMA-MYSQL-9.3

Ensure 'super_priv' is Not Set to 'Y' for Replication Users

HighLevel 1Automatedmysql

Description

The SUPER privilege found in the mysql.user table governs the use of a variety of MySQL features. These features include, CHANGE MASTER TO, KILL, mysqladmin kill option, PURGE BINARY LOGS, SET GLOBAL, mysqladmin debug option, logging control, and more. Treats every account other than root holding REPLICATION SLAVE as a replication user and counts those that also hold SUPER. Runs mysql -NBe with the client defaults: put an administrative account in ~/.my.cnf (mode 0600) or a mysql_config_editor login path, not MYSQL_PWD (see 1.4/1.6).

How it is checked

Audit method: SQL query

sql_query
out=$(mysql -NBe "SELECT COUNT(*) FROM mysql.user WHERE Repl_slave_priv = 'Y' AND Super_priv = 'Y' AND user NOT IN ('root')" 2>/dev/null) || exit 1; printf '%s\n' "$out"
Expected output
0

How it is fixed

Fix method: Guidance or infrastructure patch

REVOKE SUPER ON *.* FROM '<repl user>'@'<host>'; (grant REPLICATION_SLAVE_ADMIN instead if MySQL Shell ReplicaSet administration needs it).

Properties

Operating systems
Any
Tags
mysqldatabasereplicationauthorization
Reference
CIS Oracle MySQL Community Server 8.4 Benchmark v1.1.0 - 9.3 Ensure 'super_priv' is Not Set to 'Y' for Replication Users

Check this host

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

shell
tmaegis scan --target mysql