TMAegis
More rules for mysql

TMA-MYSQL-4.5

Ensure 'mysqld' is Not Started With '--skip-grant-tables'

CriticalLevel 1Automatedmysql

Description

This option causes mysqld to start without using the privilege system. Counts enabled skip-grant-tables settings in the server option groups and on the running server command line.

How it is checked

Audit method: Shell command

shell
c=$(my_print_defaults mysqld 2>/dev/null) || exit 1; p=$(ps -eo comm=,args= 2>/dev/null) || exit 1; n=$( { printf '%s\n' "$c"; printf '%s\n' "$p" | awk '$1=="mysqld"||$1=="mariadbd"' | tr ' ' '\n'; } | grep -Eic '^--skip[-_]grant[-_]tables(=(1|on|true|yes))?$' ); echo "$n"
Expected output
0

How it is fixed

Fix method: Guidance or infrastructure patch

Remove skip-grant-tables (and skip_grant_tables) from the option files or set skip-grant-tables = FALSE, remove it from the start-up command line, and restart MySQL.

Properties

Operating systems
Any
Tags
mysqldatabaseauthentication
Reference
CIS Oracle MySQL Community Server 8.4 Benchmark v1.1.0 - 4.5 Ensure 'mysqld' is Not Started With '--skip-grant-tables'

Check this host

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

shell
tmaegis scan --target mysql