TMAegisBeta
More rules for mariadb

MariaDB

TMA-MARIADB-6.4

Ensure Audit Logging Is Enabled

HighLevel 2Automatedmariadb

Description

Enabling audit logging is an important consideration for a production environment, and MariaDB plugin exist to help with this. Enable audit logging for ; Connect events ; Query and Table events (optional) Requires the server_audit plugin with server_audit_logging=ON and CONNECT events audited (an empty server_audit_events audits everything). 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 IF((SELECT VARIABLE_VALUE FROM information_schema.GLOBAL_VARIABLES WHERE LOWER(VARIABLE_NAME) = 'server_audit_logging') = 'ON' AND ((SELECT VARIABLE_VALUE FROM information_schema.GLOBAL_VARIABLES WHERE LOWER(VARIABLE_NAME) = 'server_audit_events') = '' OR FIND_IN_SET('CONNECT', (SELECT VARIABLE_VALUE FROM information_schema.GLOBAL_VARIABLES WHERE LOWER(VARIABLE_NAME) = 'server_audit_events')) > 0), 'compliant', 'noncompliant')" 2>/dev/null) || exit 1; printf '%s\n' "$out"
Expected output
compliant

How it is fixed

Fix method: Guidance or infrastructure patch

Under [mariadbd] add plugin_load_add = server_audit, server_audit_logging=ON and server_audit_events=CONNECT (optionally QUERY_DDL,QUERY_DCL,TABLE), then restart MariaDB.

Properties

Operating systems
Any
Tags
mariadbdatabaseloggingaudit
Reference
CIS MariaDB 10.11 Benchmark v1.0.0 - 6.4 Ensure Audit Logging Is Enabled

Check this host

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

shell
tmaegis scan --target mariadb --level 2