主页
文章
知识库
云盘
工具
登录
登录
注册
忘记密码
反馈
文章
MySQL审计功能
MySQL审计功能
lyjin
2023-09-07
[TOC] # 背景 MySQL审计(MySQL Auditing)是一个用于跟踪和监控MySQL数据库活动的功能。它可以帮助数据库管理员、安全专家和审计员了解数据库的使用情况,确保数据的完整性、可用性和机密性。以下是MySQL审计的一些常见使用场景: 1. **安全性监控:** 通过审计,可以跟踪任何对数据库的潜在恶意访问,如未授权的数据修改、删除或数据泄露尝试。 1. **合规性要求:** 许多行业和国家都有严格的数据保护和隐私法规,需要对数据库进行审计以确保合规。例如,金融、医疗和零售行业可能需要记录所有数据访问和更改。 1. **问题诊断:** 审计可以帮助数据库管理员诊断和解决性能问题、错误的查询或其他数据库问题。 1. **账户管理:** 通过审计,可以监控数据库用户的活动,确保他们只能访问和修改他们被授权的数据。 1. **数据恢复:** 在某些情况下,审计日志可以帮助恢复意外删除或修改的数据。 1. **优化性能:** 审计可以帮助识别低效的查询或不必要的数据库访问,从而优化数据库性能。 1. **审计跟踪:** 可以记录谁在何时进行了哪些操作,这对于审计员和安全团队来说是非常有价值的。 1. **防止内部威胁:** 通过监控内部用户的数据库活动,可以识别和防止内部威胁,如数据窃取或恶意修改。 1. **报告和分析:** 审计数据可以用于生成报告,帮助组织了解数据库的使用情况和安全状况。 1. **警报和通知:** 在检测到可疑或非法活动时,可以配置审计系统发送实时警报或通知 # 版本说明 > 系统: Ubuntu20.04 > 数据库: MySQL5.7.35 # 插件 ## 1. 下载插件 插件使用 trellix-enterprise/mysql-audit 下载地址: https://github.com/trellix-enterprise/mysql-audit/releases 文档说明: https://github.com/trellix-enterprise/mysql-audit/wiki 下载的版本为v1.1.13 ![](https://mmao.vip/_uploads/editor/dr8ope65wemx/2023/09/07/b3402fcc4d6e11eeb5e73f6dbff0380f.png) ![](https://mmao.vip/_uploads/editor/dr8ope65wemx/2023/09/07/e09e41f24d6e11eeb5e73f6dbff0380f.png) ## 2. 安装插件 解压缩这个压缩包,将压缩包文件夹中lib文件夹中的libaudit_plugin.so文件复制到MySQL的插件路径中,一般为/usr/lib/mysql/plugin。 查看MySQL插件路径, ``` # root用户登录到mysql中 # 查看插件安装路径 mysql> show global variables like '%plugin_dir%'; ``` ![](https://mmao.vip/_uploads/editor/dr8ope65wemx/2023/09/07/a861b1a64d6f11eeb5e73f6dbff0380f.png) ``` cd /usr/lib/mysql/plugin chmod +x libaudit_plugin.so ``` 登录到MySQL中,安装插件 ``` # 查看插件,此时没有AUDIT插件 mysql> show plugins; # 安装插件 mysql> INSTALL PLUGIN AUDIT SONAME 'libaudit_plugin.so'; # 再次查看插件,此时有AUDIT插件 mysql> show plugins; # 查看插件的配置 mysql> show global variables like '%audit%'; ``` 查看插件 ![](https://mmao.vip/_uploads/editor/dr8ope65wemx/2023/09/07/1b7247804d7211eeb5e73f6dbff0380f.png) 查看插件配置 ![](https://mmao.vip/_uploads/editor/dr8ope65wemx/2023/09/07/484240264d7211eeb5e73f6dbff0380f.png) ## 3. 配置插件 修改mysqld.cnf文件,配置插件 ![](https://mmao.vip/_uploads/editor/dr8ope65wemx/2023/09/07/bc616c364d7011eeb5e73f6dbff0380f.png) 说明: audit_json_file=1 为开启审计 audit_json_log_file = xxx 审计日志存放位置 audit_record_cmds = xxx 哪些操作需要审计 audit_record_objs = xxx 哪个object需要被审计 小技巧:audit_record_cmds不知道动作名称是什么时,可以注释掉这个配置,就会在配置文件里记录所有的操作,此时操作数据库,就会看到操作的名称,用于此处! ## 4.重启数据库,使配置生效 ``` systemctl restart mysql ```
分享
×
用手机扫码分享
没有评论
请登陆后评论
新建评论
移除
关闭
提交