ITPUB论坛-中国最专业的IT技术社区

 找回密码
 注册
查看: 795|回复: 0

[原创] mysql审计插件(运维不再背锅)

[复制链接]
论坛徽章:
0
发表于 2017-11-1 11:04 | 显示全部楼层 |阅读模式
假设这么一个情况,你是某公司mysqldba,某日突然公司数据库中的数据被人为删了。
尽管有数据备份,但是因服务停止而造成的损失上千万,现在公司需要查出那个做删除操作的人。
但是拥有数据库操作权限的人很多,如何排查,证据又在哪?
是不是觉得无能为力?
mysql本身并没有操作审计的功能,那是不是意味着遇到这种情况只能自认倒霉呢?
mysql审计插件弥补了社区版审计插件的空白


mysql审计插件,根据业务需求精心编写的,审计粒度很细,具体用户的具体表的具体操作,操作影响的行数都可以审计,确保数据库安全透明的运行,运维DBA再也不用背锅了。


该插件可以测试使用,不影响数据库性能,
线上数据库请测试环境测试完之后使用,有疑问可以咨询
QQ:67349248

mysql5.6.X.tar.gz到mysql-5.7.8-rc.tar.gz是一个版本----audit5_6_21.so
mysql5.7.9.tar.gz---mysql5.7.11.tar.gz是一个版本----audit5_7_9.so
下载地址如下
http://pan.baidu.com/s/1dFGFCrv


一、查找插件所在位置
mysql> show variables like '%plugin_dir%';
+---------------+------------------------------+
| Variable_name | Value                        |
+---------------+------------------------------+
| plugin_dir    | /usr/local/mysql/lib/plugin/ |
+---------------+------------------------------+
1 row in set (0.00 sec)
二、将audit_版本号.so插件下载后放到plugin_dir位置
    mv audit_版本号.so  audit.so
三、加载插件
install plugin audit  SONAME 'audit.so';
四、卸载插件
uninstall plugin audit;




使用插件
mysql> show variables like '%audit%';
+----------------+----------------------+
| Variable_name  | Value                |
+----------------+----------------------+
| audit_logfile  | /tmp/mysql_audit.log |
| audit_myswitch | OFF                  |
| audit_num      | 0                    |
| audit_sql      | all_sql              |
| audit_user     | all_user             |
+----------------+----------------------+
5 rows in set (0.01 sec)




mysql>
mysql> set global audit_logfile='/tmp/mysql_audit_1.log';----只读变量,审计仅指定在/tmp/mysql_audit.log文件,保障权限可以写
ERROR 1238 (HY000): Variable 'audit_logfile' is a read only variable




set global audit_sql='delete;select;drop';   -----这些审计关键字用;分开
set global audit_user='user2;user3';         ----审计用户用;隔开
set global audit_num =0;                          ----审计sql影响的最少行数,默认为0
set global audit_myswitch=on|off|ON|OFF|1|0;       -----开启关闭审计
关键字比较可以忽略大小写


查看日志linux下tailf /tmp/mysql_audit.log
root[root] @ localhost [],[2017-10-30 15:08:33],set global audit_myswitch='ON',5
root[root] @ localhost [],[2017-10-30 15:08:41],set global audit_sql='SELECT;drOP',5
root[root] @ localhost [],[2017-10-30 15:08:46],SELECT DATABASE(),5
root[root] @ localhost [],[2017-10-30 15:09:15],selecT *  from t1,3
root[root] @ localhost [],[2017-10-30 15:09:30],create table t3 as select * from t1,3
root[root] @ localhost [],[2017-10-30 15:09:41],DROP table t3,0
root[root] @ localhost [],[2017-11-01 10:07:03],select @@version_comment limit 1,0
root[root] @ localhost [],[2017-11-01 10:35:51],select @@version_comment limit 1,0

打赏鼓励一下!

您需要登录后才可以回帖 登录 | 注册

本版积分规则

TOP技术积分榜 社区积分榜 徽章 电子杂志 团队 统计 虎吧 老博客 知识索引树 读书频道 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 | IT博客
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛 | SAP ERP系统
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表