当前位置: 首页 > 科技观察

MySQL数据库日志审计的简单实现

时间:2023-03-12 11:30:58 科技观察

0x0背景由于MySQL社区版没有自带的审计功能和插件,在级别保护方面对数据库管理的要求有些不尽如人意。数据库的日志值得研究。通过将数据库的日志采集到企业SOC平台,方便安全事件的溯源和故障分析。以目前的UEBA技术,可以很容易地发现很多恶意事件。根据等级保护内容,第4章“数据库管理系统安全技术要求”、第4节“数据库安全审计”明确指出,数据库管理系统的安全审计应当:1、建立独立的安全审计体系;2.定义与数据库安全相关的审计事件;3、设置专门的安全审核员;4、建立专门用于存储数据库系统审计数据的安全审计库;5.提供数据库系统安全审计的设置、分析和咨询工具。0x1部署插件为了节省购买一些安全设备的成本,可以尝试使用一些开源的日志审计插件。mysql-audit是macfee基于percona开发的MySQLSQL审计插件。源码地址如下:https://github.com/mcafee/mysql-audit首先确定当前的mysql版本,到官网下载对应的插件:插件解压后,需要确认mysql插件的安装目录:将解压后的插件libaudit_plugin.so复制到插件所在目录:使用mysql函数installplugin导入插件,然后使用showplugin确认是否导入成功。主要命令如下:installpluginauditsonname'libaudit_plugin.so'安装完成后,审计内容不会立即启动,需要定义一些参数。参数audit_json_file应该控制是否整体开启审计功能使用命令:setvariablesaudit_json_file=on开启审计功能:审计记录名可以通过查询变量audit_json_log_file得到:showvariableslike"audit_json_log_file"默认的审计记录格式如下如下:Json格式如下:插件支持一些自定义参数和命令,包括白名单和黑名单功能。audit_whitelist_users:不审计user用户的所有命令aduit_record_cmds:需要审计的命令类型更多参数配置项,请参考官方手册:https://github.com/mcafee/mysql-audit/wiki/Configuration0x2总结1、mysql日志的审计可以通过插件的方式实现。通过ELK的框架可以实现日志的存储和分析,后期可以通过编写一些脚本分析来实现安全检测、业务分析等多种功能。关键是零成本特别适合那些有这种需求的“一个人”的“安全部”同事。2、根据一些测试数据,插件对性能的影响比较大,大约20%消费需要结合具体的业务情况进行评估。

猜你喜欢