MariaDB
TMA-MARIADB-6.4
Ensure Audit Logging Is Enabled
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
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.
tmaegis scan --target mariadb --level 2