数据库审计策略
插件下载地址(https://bintray.com/mcafee/mysql-audit-plugin/)
先下载好审计插件(audit-plugin-mysql-5.6-1.1.2-667.zip)
解压后进入文件夹下的lib目录,将内容复制到/app/apps/mysql-5.6.32-linux-glibc2.5-x86_64/lib/plugin/目录下
cp libaudit_plugin.so /app/apps/mysql-5.6.32-linux-glibc2.5-x86_64/lib/plugin/
进入plugin目录
cd /app/apps/mysql-5.6.32-linux-glibc2.5-x86_64/lib/plugin/
给该文件增加执行权限
chmod +x libaudit_plugin.so
修改配置文件
Vim /etc/my.cnf
在【mysqld】下面增加
plugin-load=AUDIT=libaudit_plugin.so
重启服务
service mysqld restart
在命令行进入mysql
mysql –uroot –p
输入密码进入
查看plugin
show plugins;
在最后一行会看到如下图即为按照成功
运行
SHOW GLOBAL VARIABLES LIKE 'audit%';
显示的是audit记录的命令,默认为记录所有命令,可以设置为任意dml、dcl、ddl的组合
如:audit_record_cmds=select,insert,delete,update
audit_record_objs
audit记录操作的对象,默认为记录所有对象,
可以用SET GLOBAL audit_record_objs=NULL设置为默认
也可以指定为下面的格式
audit_record_objs=,test.*,mysql.*,information_schema.*
接下来查看是否开启audit功能
show variables like 'audit_json_file';
显示没有开启,接下来我没进行开启
set global audit_json_file=on;
show variables like 'audit_json_file';
已经开启
审计bjggzy库的所有对象
SET GLOBAL audit_record_objs='bjggzy.*';
审计test库的insert,update和delete操作
set global audit_record_cmds='insert,delete,update';
查看记录文件的路径和名称信息:
show variables like 'audit_json_log_file';
文件路径如下:
system find / -name mysql-audit.json