【MySQL运维】用户审计插件安装与使用教程

tanglu 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;

audit.png


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、查看审计日志

audit2.png


版权声明
本站所有文章均为原创,转载请注明出处!小站维护不易,如果对您有所帮助,希望能点击一下站内广告,谢谢!
上一篇:【MySQL运维】密码强度认证与登录次数插件的安装与使用教程
下一篇:Python基础教程(4)使用input函数实现用户交互
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

微信二维码