工具研发者介绍
贺春旸, 凡普金科和爱钱进DBA团队负责人,《MySQL管理之道:性能调优、高可用与监控》第一、二版作者,曾任职于中国移动飞信、安卓机锋网。四次荣获dbaplus年度MVP,致力于MariaDB、MongoDB等开源技术的研究,主要负责数据库性能调优、监控和架构设计。本文摘自作者即将发布的新书《MySQL运维进阶指南》,敬请期待。
工具下载:
https://loganalyzer.adiscon.com/download/
数据库审计日志平台简介
数据库审计日志平台(简称DB Audit),旨在实时记录用户操作数据库的行为,对操作进行细粒度审计的合规性管理,并对数据库遭受的风险行为进行实时告警。平台通过对用户访问数据库行为的记录、分析和汇报,来帮助DBA事后生成合规报告、事故追根溯源,同时通过搜索技术提供高效查询审计报告,定位事件原因,以便日后查询、分析、过滤,实现加强内外部数据库网络行为的监控与审计,提高数据资产安全。
目前有两种技术方案:
第一种: 部署在数据库服务器所在的网络,采用旁路监听方式截取用户访问数据库的TCP头报文,该系统是由数据采集、数据处理和安全检测三个模块组成。
第二种: 依赖于开启MariaDB Audit Plugin插件的审计方法,存在的弊端是数据库审计功能的开启会影响数据库本身的性能、审计日志以txt文本格式存放在本地磁盘里,对于审计数据的挖掘和迅速定位是个棘手问题。
在MariaDB 10.6版本里,可以通过使用Rsyslog日志系统将审计日志汇总至一台专用的MySQL数据库里,并且可以自定义事件记录,比如我们想追溯某时刻谁误删除了数据,可以禁止记录select查询操作,然后借助Loganalyzer做展示,架构如下图所示:
注: LogAnalyzer是一款syslog日志和其它网络事件数据的Web前端,提供了对日志的简单浏览、搜索、基本分析和一些图表报告的功能。
审计日志数据从专用存放syslog的数据库中获取,所以LogAnalyzer不需要改变现有的架构。通过对数据库的SQL语义分析,提取出SQL中相关的要素(用户、SQL操作、表、字段、时间)实时监控来自各个