我是靠谱客的博主 高高枕头,最近开发中收集的这篇文章主要介绍【MySQL】Mcafee审计插件前言一、概念and环境介绍二、安装步骤三、优化四、总结附:安装包下载链接,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

  • 前言
  • 一、概念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环境介绍二、安装步骤三、优化四、总结附:安装包下载链接所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(97)

评论列表共有 0 条评论

立即
投稿
返回
顶部