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

栏目: 数据库 · 发布时间: 7年前

内容简介:由于MySQL社区版没有自带的审计功能或插件,对于等级保护当中对数据库管理的要求的就存在一定的不满足情况的,抛开条条框框不说数据库的日志是值得研究的,通过收集数据库的日志到企业SOC平台便于安全事件的溯源与故障分析,配合目前的UEBA技术能够轻松发现很多恶意事件。根据等级保护内容第四章“数据库管理系统安全技术要求”中 第四节“数据库安全审计”中明确提出数据库管理系统的安全审计应:

0×0 背景

由于 MySQL 社区版没有自带的审计功能或插件,对于等级保护当中对数据库管理的要求的就存在一定的不满足情况的,抛开条条框框不说数据库的日志是值得研究的,通过收集数据库的日志到企业SOC平台便于安全事件的溯源与故障分析,配合目前的UEBA技术能够轻松发现很多恶意事件。 

根据等级保护内容第四章“数据库管理系统安全技术要求”中 第四节“数据库安全审计”中明确提出数据库管理系统的安全审计应:

1. 建立独立的安全审计系统;
2. 定义与数据库安全相关的审计事件;
3. 设置专门的安全审计员;
4. 设置专门用于存储数据库系统审计数据的安全审计库;
5. 提供适用于数据库系统的安全审计设置、分析和查阅的工具。 

0×1 部署插件

  为了节省购买一些安全设备的费用,可以尝试使用一些开源的日志审计插件。Mysql-audit是macfee公司基于percona开发的MySQL的 SQL 审计插件。

源码地址如下: https://github.com/mcafee/mysql-audit

首先确定当前mysql的版本去官网下载与之相对应的插件:

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

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

解压插件后需要确认mysql插件的安装目录:

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

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

将解压出来的插件libaudit_plugin.so复制到插件的目录下:

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

使用mysql的函数install plugin导入此插件后通过show plugin确认是否导入成功。

主要命令如下:

install plugin audit soname ‘libaudit_plugin.so’

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

安装完成之后并不会立马开始审计内容,需要定义一些参数。

Audit_json_file这个参数要整体控制是否开启审计功能使用命令:

Set variables audit_json_file=on

开启审计功能:

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

审计后的记录名可以通过查询变量audit_json_log_file获取:

Show variables like “audit_json_log_file”

默认的审计记录格式如下:

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

Json格式如下:

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

同时插件支持一些自定义的参数与命令,包括白名单与黑名单的功能。

Audit_whitelist_users: 不审计user用户的所有命令
Aduit_record_cmds: 需要进行审计的命令种类

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

更多的参数配置项目可以参考官方给的手册:

https://github.com/mcafee/mysql-audit/wiki/Configuration

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

0×2 总结

1. 通过插件的方式可以实现mysql日志的审计通过ELK的框架实现日志的保存与分析,再通过后期写一些脚本分析可以实现安全检测与业务分析等多个功能,关键是零成本特别适合那些”一个人的安全部”有此需求的同行们.

2. 根据一些测试数据表示,插件对性能的影响是比较大的约有20%左右的消耗需要结合具体的业务情况进行评估。

*本文作者:si1ence,转载请注明来自FreeBuf.COM


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Fluent Python

Fluent Python

Luciano Ramalho / O'Reilly Media / 2015-8-20 / USD 39.99

Learn how to write idiomatic, effective Python code by leveraging its best features. Python's simplicity quickly lets you become productive with it, but this often means you aren’t using everything th......一起来看看 《Fluent Python》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具