概述
目录
- 前言
- 一、概念and环境介绍
- 二、安装步骤
- 三、优化
- 1.思考
- 2.实践
- 四、总结
- 附:安装包下载链接
前言
诶~大家好鸭,卑微小涛今天来了,最近日常卑微打工人(现在是实习生,冲鸭冲鸭????)
今天介绍一款比较NB的数据库插件——Mcafee
啥?数据库也有插件?
嗯嗯,是的,其实我也是最近才知道,之前只知道谷歌浏览器有插件、IEDA有插件,数据库浏览器插件也是最近才知道,我还是太年轻(っ °Д °;)っ
下面,咱们来好好唠唠Macafee
温馨提示: 安装步骤可跳到第二节
一、概念and环境介绍
- 通俗易懂的理解:
就是以人可读的json
格式,记录MySQL的增删改查(MySQL自带的二进制记录,只会记录增删改,不会记录查询,并且是以二进制的方式记录,咱们不能很直观的观察) - 专业解释:
审计是数据库安全中很重要的一个环节,它能够实时记录数据库的操作记录,帮助数据库管理员对数据库异常行为进行分析审核。
以下是本次测试的环境介绍,如果数据库版本不一致,可以选择其他安装包
(其他版本的安装包链接在最下面有哦),只需要下载对应的安装包版本即可,步骤都是一样的呢~
操作系统 | CentOS 7.6 |
---|---|
数据库版本 | MySQL5.7.32 |
插件安装包 | audit-plugin-mysql-5.7-1.1.10-980-linux-x86_64.zip |
这个版本的安装包链接 | 链接:https://pan.baidu.com/s/1RF7TFvTXBV0dx2E5nZv1lw?pwd=2k26 |
老规矩,咱们先规划好,再开始安装
二、安装步骤
开始安装
# 首先,先上传安装包到服务器目录中
audit-plugin-mysql-5.7-1.1.10-980-linux-x86_64.zip
例如:放入/app目录里
yum install -y unzip #安装解压工具,如果以及安装请忽略此步
unzip /app/audit-plugin-mysql-5.7-1.1.10-980-linux-x86_64.zip #解压
mysql -u root -pxxx #登录数据库中
show variables like 'plugin_dir'; #查看插件目录存放在哪里
+---------------+--------------------------------+
| Variable_name | Value |
+---------------+--------------------------------+
| plugin_dir | /app/mysql/my_3309/lib/plugin/ |
+---------------+--------------------------------+
#我的存放在/app/mysql/my_3309/lib/plugin/ 这里,咱们记住
进入刚才解压的安装包里的/lib目录里
cd /app/audit-plugin-mysql-5.7-1.1.10-980/lib
ls #此时看见,有一个libaudit_plugin.so文件,咱们复制到刚才登录数据库查看到的那个插件存放的文件里
cp libaudit_plugin.so /app/mysql/my_3309/lib/plugin/
chmod a+x /app/mysql/my_3309/lib/plugin/libaudit_plugin.so #赋予可执行权限
#再次回到刚才的audit-plugin-mysql-5.7-1.1.10-980文件里,进入utils目录中
cd /app/audit-plugin-mysql-5.7-1.1.10-980/utils
ls #有一个offset-extract.sh脚本
chmod +x offset-extract.sh #先给它可执行权限
yum -y install gdb #安装gdb,方便接下来的脚本执行
#执行该脚本
./offset-extract.sh /app/mysql/my_3309/bin/mysqld
//offsets for: /app/mysql/my_3309/bin/mysqld (5.7.32)
{"5.7.32","30165bbd00a2077d2e4b1d3c6768c2f7", 7824, 7872, 3632, 4792, 456, 360, 0, 32, 64, 160, 536, 7988, 4360, 3648, 3656, 3660, 6072, 2072, 8, 7056, 7096, 7080, 13472, 148, 672, 0},
#把这一串数字记录,待会需要写入my.cnf文件中
vim /app/mysql/my_3309/etc/my3309.cnf
[mysqld]
#加载审计插件
audit_json_file=on
plugin-load=AUDIT=libaudit_plugin.so
audit_offsets=7824, 7872, 3632, 4792, 456, 360, 0, 32, 64, 160, 536, 7988, 4360, 3648, 3656, 3660, 6072, 2072, 8, 7056, 7096, 7080, 13472, 148, 672, 0
mysql -u root -pxxx #登录数据库中
INSTALL PLUGIN AUDIT SONAME 'libaudit_plugin.so'; # 安装plugin
show global status like 'AUDIT_version'; # 验证
# 开启审计功能:审计功能默认是关闭的,由audit_json_file参数控制,可动态调整;
set global audit_json_file=ON;
show variables like 'audit_json_file'; #返回ON表示已经打开
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| audit_json_file | ON |
+-----------------+-------+
#此时,数据库已经开启记录功能,日志存放在数据目录中
我们做一个简单的测试,随便执行一条查询语句,之后查看日志文件是否存在记录
cat /app/data/data_3309/data/mysql-audit.json
大功告成~
温馨提示:自动生产的json文件不太方便看的话,可以把日志复制到这个网页下查看
三、优化
1.思考
随着时间的推移(好吧,也就过了一天,因为数据库里面还跑了其他服务),mysql-audit.json
文件突然变成了22MB
du -sh mysql-audit.json #du -sh 我们可以查看该文件的具体大小
啥?才一天就变成这么大,那我跑一个月岂不是!!!
不行不行,赶紧优化。
这时我想到了定时任务+增量备份
的方式,就是通过每天自动copy一次json格式文件,备份好后,自动清空一下原来的json,再次进行下一次的记录,示意图如下:
2.实践
- 脚本编辑
vim /app/script/bk.sh
#!/bin/bash
source /etc/profile
## json日志备份路径,这个路径根据实际情况选择,目的是存放备份的json文件
DUMP_LOG_DIR="/data/backup/my3309/log"
## 备份一次json日志
cp -r /app/data/data_3309/data/mysql-audit.json ${DUMP_LOG_DIR}/my3309_$(date +%
F_%H-%M).log
## 备份完成后,执行一次清空
echo > /app/data/data_3309/data/mysql-audit.json
## 删除15天前的json日志,避免占用太多的磁盘空间,如果想保留一个月,把15换成30即可
rm -rf ${DUMP_LOG_DIR}/my3309_`date -d '15 days ago' +'%F'`_*
- 定时任务
crontab -l
#定时备份,每天2:00自动执行一次
0 2 * * * /bin/bash /app/script/bk.sh > /dev/null 2>&1
四、总结
刚开始安装的时候,也是一脸懵,然后照着官方文档安装好之后,突然发现,这个json文件大小涨得太快了,vim打开的时候略显卡顿,久而久之,我觉得反而失去了作为记录日志的意义,所以才有了一些优化步骤——借鉴增量备份的思想,把日志安装每天进行记录保存。
附:安装包下载链接
链接点我~
# 数据库版本以及对应的安装包
5.6其他版本:
audit-plugin-mysql-5.6-1.1.7-805-linux-x86_64.zip
MySQL 5.6.50:
audit-plugin-mysql-5.6-1.1.7-921-linux-x86_64.zip
MySQL 64-bit 5.7:
audit-plugin-mysql-5.7-1.1.10-980-linux-x86_64.zip
可以在这里下载最新的安装包
-
插件源码地址:
https://github.com/mcafee/mysql-audit -
插件安装方法:
https://github.com/mcafee/mysql-audit/wiki/Installation -
插件下载地址:
https://bintray.com/mcafee/mysql-audit-plugin/release/1.0.9-585
总之,又是学习的一天,我是励志成为一名优秀DBA的卑微涛,觉得有帮助还请点个赞
支持一下呢~
最后
以上就是高高枕头为你收集整理的【MySQL】Mcafee审计插件前言一、概念and环境介绍二、安装步骤三、优化四、总结附:安装包下载链接的全部内容,希望文章能够帮你解决【MySQL】Mcafee审计插件前言一、概念and环境介绍二、安装步骤三、优化四、总结附:安装包下载链接所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复