OceanBase(4)OceanBase日常运维
103
2022-04-18
一、mysql-audit插件介绍
该插件由McAfee提供,支持对MySQL提供审计功能,记录了用户的每一个数据库操作,提升了数据库安全和审计要求。
二、插件使用方法
1、通过Github下载插件,项目地址是https://github.com/mcafee/mysql-audit
2、解压安装包后获取插件文件,将插件上传到MySQL插件目录,比如/usr/local/mysql/lib/plugin
3、安装插件
# 配置文件增加配置以实现永久生效
plugin-load=AUDIT=libaudit_plugin.so
#命令行在线安装
mysql > INSTALL PLUGIN AUDIT SONAME 'libaudit_plugin.so';
4、验证插件是否安装成功
mysql > show plugins;
5、偏移量问题
· 插件会通过计算MySQL的版本获取一个偏移量来进行校验,如果使用的是已经通过了认证的MySQL版本,则不需要进行任何操作都可以安装运行AUDIT插件,无需再次校验。而如果使用到的MySQL版本是未经验证的就会无法安装插件(对于特定版本,即便MySQL发行版不同,但是偏移量是相同的),并抛出Audit Plugin: Couldn't find proper THD offsets for: MYSQL_VERSION这样的错误。对于这种情况就需要先行计算一个偏移量,而计算方式就是使用现成的offset-extract.sh脚本,下载地址https ://raw.github.com/mcafee/mysql-audit/master/offset-extract/offset-extract.sh
chmod +x offset-extract.sh
./offset-extract.sh /usr/local/mysql/bin/mysqld #运行后会输出需要使用的偏移量,假设为{"5.1.41-community","6ccf4357688d8e46bfcb4443966970b0", **6200, 6264, 3672, 3944, 88, 2048**}
· 配置插件(my.cnf和命令行可以一起设置)
vi /etc/my.cnf [mysqld] ... audit_json_log_file = /data/mysql/log/audit.log #日志文件名 audit_json_file = ON #是否记录日志 #audit_offsets=6200, 6264, 3672, 3944, 88, 2048 #偏移量,如果没有报错的话可以忽略 audit_uninstall_plugin = OFF #是否允许卸载插件,如果禁用则无法通过UNINSTALL命令卸载AUDIT插件,可以提升安全性 audit_sess_connect_attrs = ON #是否记录客户端连接属性到日志中,比如"connect_attrs":{"_os":"Linux","_client_name":"libmysql","_pid":"11450","_client_version":"5.6.20-68.0","_platform":"x86_64","program_name":"mysql"} audit_socket_creds = ON #是否记录客户端进程信息,如PID、应用名称和用户名 # audit_whitelist_users #不需要进行审计的白名单用户 # audit_whitelist_cmds #不需要进行审计的白名单命令 # audit_json_file_flush #执行set global audit_json_file_flush=on将刷新日志,可用于轮换日志 # audit_validate_checksum #是否进行二进制偏移量校验 # audit_checksum #当配置了audit_offsets时使用,如果校验和与计算的不匹配插件将不会加载,当手动设置偏移量并且希望避免升级mysqld后未经验证使用手动偏移量时会有用 ...
· 重新执行第3步的命令安装插件
mysql > INSTALL PLUGIN AUDIT SONAME 'libaudit_plugin.so';
7、查看审计日志
发表评论
暂时没有评论,来抢沙发吧~