MariaDB must generate audit records when unsuccessful attempts to access security objects occur.
Severity | Group ID | Group Title | Version | Rule ID | Date | STIG Version |
---|---|---|---|---|---|---|
medium | V-253747 | SRG-APP-000492-DB-000333 | MADB-10-009500 | SV-253747r961791_rule | 2024-12-05 | 2 |
Description |
---|
Changes to the security configuration must be tracked. This requirement applies to situations where security data is retrieved or modified via data manipulation operations, as opposed to via specialized security functionality. In an SQL environment, types of access include, but are not necessarily limited to: SELECT CREATE INSERT UPDATE DELETE EXECUTE ALTER DROP To aid in diagnosis, it is necessary to keep track of failed attempts in addition to the successful ones. |
ℹ️ Check |
---|
Verify the MariaDB Enterprise Audit plugin is loaded and actively logging: MariaDB> SHOW GLOBAL STATUS LIKE 'Server_audit_active'; If the MariaDB Enterprise Audit is not active, this is a finding. Check what filters are in place by running the following as an administrative user: MariaDB> SELECT * FROM mysql.server_audit_filters; Verify query_events includes ALL in corresponding audit filters. If not, this is a finding. |
✔️ Fix |
---|
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" ] }' )); |