TMAegisBeta
More rules for mariadb

MariaDB

TMA-MARIADB-9.3

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

HighLevel 1Automatedmariadb

Description

The SUPER privilege found in the mysql.user table governs the use of a variety of MariaDB 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 and mysql (the MariaDB system administrator accounts) holding REPLICATION SLAVE as a replication user and counts those that also hold SUPER. Runs mariadb -NBe with the client defaults: as root on the server the unix_socket plugin usually authenticates; otherwise put an administrative account in ~/.my.cnf (mode 0600), not MYSQL_PWD (see 1.4/1.6).

How it is checked

Audit method: SQL query

sql_query
out=$(mariadb -NBe "SELECT COUNT(*) FROM mysql.user WHERE Repl_slave_priv = 'Y' AND Super_priv = 'Y' AND user NOT IN ('root', 'mysql')" 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>';

Properties

Operating systems
Any
Tags
mariadbdatabasereplicationauthorization
Reference
CIS MariaDB 10.11 Benchmark v1.0.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 mariadb