MADB-10-010700 - MariaDB must generate audit records when unsuccessful attempts to delete privileges/permissions occur.

Information

Failed attempts to change the permissions, privileges, and roles granted to users and roles must be tracked. Without an audit trail, unauthorized attempts to elevate or restrict privileges could go undetected.

In MariaDB, deleting permissions is typically done via the REVOKE command.

To aid in diagnosis, it is necessary to keep track of failed attempts in addition to the successful ones.

NOTE: Nessus has not performed this check. Please review the benchmark to ensure target compliance.

Solution

No super/administrative users should not have access to modify tables within the mysql database. Verify users do not have access and revoke as necessary. Example:

View user grants:

MariaDB> SHOW GRANTS FOR 'username'@'host';

If user has INSERT, UPDATE, and/or DELETE on the mysql database or all databases, modify the user privileges as necessary.

The MariaDB Enterprise Audit plugin can be configured to audit these changes.

Update necessary audit filters to include query_event ALL. Example:

MariaDB> DELETE FROM mysql.server_audit_filters WHERE filtername = 'default';

MariaDB> INSERT INTO mysql.server_audit_filters (filtername, rule)
VALUES ('default',
JSON_COMPACT(
'{
'connect_event': [
'CONNECT',
'DISCONNECT'
],
'query_event': [
'ALL'
]
}'
));

See Also

https://dl.dod.cyber.mil/wp-content/uploads/stigs/zip/U_MariaDB_Enterprise_10-x_V2R1_STIG.zip

Item Details

Category: AUDIT AND ACCOUNTABILITY

References: 800-53|AU-12c., CAT|II, CCI|CCI-000172, Rule-ID|SV-253759r961812_rule, STIG-ID|MADB-10-010700, Vuln-ID|V-253759

Plugin: MySQLDB

Control ID: b215a9883114aced20a24d681573dbdb7d698faf4e0c2902f3b1d043c7e239d0