MariaDB-Audit-Plugin
MariaDB Audit Plugin
Allgemein
Das Audit Plugin von MariaDB erlaubt die Aufzeichnung von SQL-Aktivitäten in MariaDB. Für jede Client Session werden folgende Informationen geloggt:
- wer verbindet sich (Nutzername und Host)
- welche Queries werden ausgeführt
- welche Tabellen werden adressiert
- welche Server-Variablen werden verändert
Die Logs können dann wahlweise in das Syslog oder in ein eigenes Syslog geschrieben werden. https://mariadb.com/kb/en/mariadb-audit-plugin/
Das Plugin ist auch für RDS-Datenbanken bei Amazon AWS verfügbar. https://docs.aws.amazon.com/de_de/AmazonRDS/latest/UserGuide/Appendix.MySQL.Options.AuditPlugin.html
Wie kann man das Audit Plugin konfigurieren?
Via Konfigurationsdatei
[mariadb]
plugin_load_add = server_audit
[server]
server_audit_logging = on
server_audit_events = 'QUERY,TABLE'
server_audit_output_type = 'syslog'
server_audit_excl_users = 'user1, user-xy, user-banane'
...
Via MySQL globale Variablen (On-the-fly Konfiguration ohne Reload)
INSTALL SONAME 'server_audit';
SET GLOBAL server_audit_output_type = "syslog";
SET GLOBAL server_audit_logging = on;
SET GLOBAL server_audit_events = 'QUERY,TABLE';
SET GLOBAL server_audit_excl_users = 'user1, user-xy, user-banane';
…
AWS RDS Konfiguration
Die Konfiguration des Plugins für RDS-Datenbanken in AWS kann auf verschiedene Weisen erfolgen (z.B. Web-Konsole oder CLI). Anleitungen dafür sind in der AWS-Doku beschrieben: https://docs.aws.amazon.com/de_de/AmazonRDS/latest/UserGuide/USER_WorkingWithOptionGroups.html#USER_WorkingWithOptionGroups.Create
Wie kann ich die Logs auswerten?
Z. B. in den Syslog-Dateien (wenn entsprechend konfiguriert):
- tail -f /var/log/syslog | grep audit
- grep audit /var/log/syslog