导读:
版本信息
操作系统版本 :CentOS 7.4
MariaDB审计插件版本 :1.4.0
Note:
1.MariaDB审计插件一直在更新,不同版本的审计插件功能也不同,每个版本的功能见:https://mariadb.com/kb/en/mariadb-audit-plugin-options-and-system-variables/#server_audit_file_rotate_now
2.我们在给MysqL数据库安装审计插件时,需要从MariaDB里面拷贝审计插件。MariaDB版本与审计插件版本关系如下:https://mariadb.com/kb/en/mariadb-audit-plugin-versions/
(一)下载安装
直接下载MariaDB的二进制安装包,下载链接如下:
下载完成之后,解压安装包。然后到plugin路径下,该路径是MariaDB存储插件的地方:
MysqL> show variables like 'plugin_dir'; +---------------+------------------------------+ | Variable_name | Value | | plugin_dir | /usr/local/MysqL/lib/plugin/ -------------+------------------------------+
将MariaDB的审计插件server_audit.so存放到该路径下
MysqL> INSTALL PLUGIN server_audit SONAME server_audit.so; Query OK,0 rows affected (0.00 sec)
MysqL> show plugins ; --------------------------+----------+--------------------+-----------------+---------+ | Name | Status | Type | Library | License --------------------------+----------+--------------------+-----------------+---------+ ... | SERVER_AUDIT | ACTIVE | AUDIT | server_audit.so | GPL --------------------------+----------+--------------------+-----------------+---------+
(二)审计配置
MysqL%audit% ; -----------------------------+-----------------------+ | Variable_name | Value | server_audit_events | | server_audit_excl_users | server_audit_file_path | server_audit.log | server_audit_file_rotate_now | OFF | server_audit_file_rotate_size 1000000 | server_audit_file_rotations 9 | server_audit_incl_users | server_audit_loc_info | server_audit_logging | server_audit_mode 1 | server_audit_output_type file | server_audit_query_log_limit 1024 | server_audit_syslog_facility | LOG_USER | server_audit_syslog_ident | MysqL-server_auditing | server_audit_syslog_info | server_audit_syslog_priority | LOG_INFO -----------------------------+-----------------------+
这里罗列了重点参数的含义:
我的最终配置如下:
MysqL| CONNECT 100000000 ON -----------------------------+-----------------------+
(三)审计日志解析
一行代表一条完成的审计日志,日志中的字段用逗号分隔。各种事件将产生不同的审计记录,这些记录的格式个各不相同。根据审计事件,主要分为3类:
(3.1)连接审计
主要审计连接数据库、断开连接、连接失败等操作,其日志格式如下:
[timestamp],[serverhost],[username],[host],[connectionid],0,CONNECT,[database],1)">0 [timestamp],DISCONNECT,Failed_CONNECT,[retcode]
(3.2)查询审计
即审计select语句,其日志格式如下:
[timestamp],[queryid],QUERY,[object],[retcode]
(3.3)表相关审计
[timestamp],CREATE,1)">object],[timestamp],READ,[[database_new].[object_new],DROP,
【完】