概述

数据库审计(简称DBAudit)能够实时记录网络上的数据库活动,对数据库操作进行细粒度审计的合规性管理,对数据库遭受到的风险行为进行告警,对攻击行为进行阻断。它通过对用户访问数据库行为的记录、分析和汇报,用来帮助用户事后生成合规报告、事故追根溯源,同时加强内外部数据库网络行为记录,提高数据资产安全。

数据库审计是数据库安全技术之一,数据库安全技术主要包括:数据库漏扫、数据库加密、数据库防火墙、数据脱敏、数据库安全审计系统。


一、审计系统特点

完整性:独一无二的多层业务关联审计,可针对WEB层、应用中间层、数据层各层次进行关联审计

细粒度:细粒度的审计规则、精准化的行为检索及回溯、全方位的风险控制。

有效性:独有专利技术实现对数据库安全的各类攻击风险和管理风险的有效控制;灵活的、可自定义的审计规则满足了各类内控和外审的需求(有效控制误操作、越权操作、恶意操作等违规行为)

公正性:基于独立审计的工作模式,实现了数据库管理与审计的分离,保证了审计结果的真实性、完整性、公正性

零风险:无需对现有数据库进行任何更改或增加配置,即可实现零风险部署

高可靠:提供多层次的物理保护、掉电保护、自我监测及冗余部署,提升设备整体可靠性

易操作:充分考虑国内用户的使用和维护习惯,提供Web-based全中文操作界面及在线操作提示


二、实现mysql审计方案

mysql服务器自身没有提供审计功能,但是如果想实现MySQL数据库审计,一般有以下几种方法:

1)使用init-connect + binlog的方法进行mysql的操作审计

2)MySQL audit—SQL审计插件or第三方开源审计插件:libaudit_plugin.so 来完成MySQL的审计工作

3)基于360开源数据库流量审计MySQL Sniffer

4)使用ELK处理MySQL数据库审计日志(ELK日志分析功能是很强大的)

5)Mysql bin-log日志进行实时存储和行为分析 当触发设定的规则就实现记录和告警

6)开启mysql监控,实施监控日志和用户命令的操作 ,这类往往是一个平台或者软件开发结果集


三、sql审计插件

server_audit是一款内嵌在mariadb的审计插件,在mysql中同样适用,主要用于记录用户操作。

1、下载插件

到网站(https://bintray.com/version/files/mcafee/mysql-audit-plugin/release/1.1.7-805)下载插件audit-plugin-mysql-5.7-1.1.7-80

2、上传到服务器并解压缩

unzip audit-plugin-mysql-5.7-1.1.7-805-linux-x86_64.zip 

3、查看mysql的插件目录:

show global variables like 'plugin_dir';

4、拷贝libaudit_plugin.so到mysql插件目录:

cp /opt/audit-plugin-mysql-5.7-1.1.7-805/lib/libaudit_plugin.so /usr/lib64/mysql/plugin/chmod 755 /usr/lib64/mysql/plugin/libaudit_plugin.so

5、安装libaudit_plugin.so插件

install plugin audit soname 'libaudit_plugin.so';--插件安装成功后有这些全局变量show variables like '%audit%';

6、开启审计功能

set global audit_json_file=1;--查看加载的插件select * from INFORMATION_SCHEMA.PLUGINS where PLUGIN_NAME like '%AUDIT%';

7、修改配置文件

在my.cnf增加如下内容,并重启数据库

#audit审计参数plugin-load=AUDIT=libaudit_plugin.soaudit_json_file=on #开启日志插件audit_json_log_file=/data/log/mysql-audit.json #记录文件的路径和名称信息audit_record_cmds='insert,delete,update,create,drop,alter,grant,truncate' #audit记录的命令

8、查看审计日志

tail -f /data/log/mysql-audit.json


觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

开源日志审计系统_详解mysql数据库审计特点、实现方案及审计插件部署演示相关推荐

  1. mysql操作日志记录查询_详解mysql数据库参数log_timestamps--控制日志记录使用的时区...

    概述 最近发现之前安装的MySQL 5.7.27,其中的error log.general log日志里面日志时间的时区不对. 思路: mysql 5.7.2新增了参数 log_timestamps, ...

  2. mysql 参照完整性规则_详解mysql数据库审计特点、实现方案及审计插件部署演示...

    概述 数据库审计(简称DBAudit)能够实时记录网络上的数据库活动,对数据库操作进行细粒度审计的合规性管理,对数据库遭受到的风险行为进行告警,对攻击行为进行阻断.它通过对用户访问数据库行为的记录.分 ...

  3. mysql 编辑数据库内容_详解mysql数据库增删改操作

    插入数据 insert into 表名(列名1,列名2,列名3) values(值1,值2,值3); insert into user(user_id,name,age) values(1,'nice ...

  4. SQL数据库不用SQL语句能显示全表的内容_详解mysql数据库sql优化技巧总结

    概述 关于SQL优化的教程很多,但是比较杂乱.所以抽空整理了一下,也写出来跟大家分享一下.以下主要针对MySQL数据库,Oracle数据库也可以参考. 优化技巧总结 1.建索引 对查询进行优化,要尽量 ...

  5. mysql删除数据库恢复_详解MySQL数据库恢复误删除数据

    血的教训,事发经过就不详述了.直接上操作步骤及恢复思路(友情提示:数据库的任何操作都要提前做好备份),以下是Mysql数据后的恢复过程: 1. 找到binlog 恢复数据的前提是必须开启Mysql的b ...

  6. mysql创建数据库没有默认值报错_详解Mysql数据库date, datetime类型设置0000-00-00默认值(default)报错问题...

    现象:MySQL5.7版本之后,date, datetime类型设置默认值"0000-00-00",出现异常:Invalid default value for 'time' 原因 ...

  7. hive replace替换多个_详解Mysql数据库中replace与replace into的用法及区别

    概述 Mysql数据库replace与replace into都是经常会用到的功能:replace其实是做了一次update操作,而不是先delete再insert:而replace into其实与i ...

  8. mysql 修改时间段内_详解mysql数据库MyISAM存储引擎如何转为Innodb及其中的注意点...

    概述 mysql数据库存储引擎为MyISAM的时候,在大访问量的情况下数据表有可能会出现被锁的情况,这就会导致用户连接网站时超时而返回502,此时就需要MySQL数据库MyISAM存储引擎转为Inno ...

  9. MySQL异构同步_详解MySQL数据库异构数据同步

    本文主要向大家介绍了MySQL数据库异构数据同步,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 在实现levelDB挂载成MySQL引擎时,发现在实际存储是key-value格式 ...

  10. 详解mysql数据库的启动与终止_详解MySQL数据库的启动与终止(一)

    由于MySQL服务器具有多种安装分发,而且能够运行在多种操作平台之上,因此它的启动与停止的方法也多种多样.你可以根据实际情况使用其中的一种.在你安装.升级或者维护系统时,你可能需要多次启动和终止服务器 ...

最新文章

  1. 转:Flash 插件面板 DragonBonesDesignPanel 的绿色安装方法
  2. ASP.NET Web API Selfhost宿主环境中管道、路由
  3. 【vs开发】向图形界面程序添加控制台
  4. Mac OS Yosemite 文件批量重命名
  5. Confluence 6 在升级之前
  6. Entity Framework 普通操作(复习用)——感觉有点不对,需要撸代码验证
  7. php 附近的距离,PHP查询附近的人及其距离的实现方法_PHP
  8. bzoj3524: [Poi2014]Couriers / bzoj2223: [Coci 2009]PATULJCI 主席树
  9. java utf8 简繁转换 类库_在Java中进行中文繁体简体转换,基于OpenCC(Open Chinese Convert)方案...
  10. mysql中innodb的工作原理_解读MySQL的InnoDB引擎日志工作原理
  11. figure字体 latex_Latex字体大小和样式
  12. 地震数据.dat文件转.sgy文件
  13. 微信公众号授权登录(应用免登陆)
  14. 什么是表压?什么是绝压?表压和绝压什么关系?
  15. mcldownload文件夹_download文件夹是什么?Win7系统download文件夹可以删除?
  16. vscode创建工作区_VSCode 多文件夹工作区
  17. 四、五星级酒店的点评在点评总量中的占比高达79.6%
  18. 投资分析研究:天然气分布式能源项目
  19. Flink场景练习-DataStream应用程序
  20. 【MATLAB】进阶绘图 ( Pie Chart 饼图 | pie 函数 | 三维饼图 | pie3 函数 )

热门文章

  1. mysqlinnodb教程_mysql系列教程 - innodb锁
  2. nslookup get public/external IP
  3. Red Hat Cormier发布OpenShift.io和容器状态指数
  4. 解决Eclipse出现的Failure to transfer ... jar问题
  5. 那天有个小孩跟我说LINQ(三)
  6. win7中竟然没有telnet.exe??
  7. 只有绩效,才是检验创新的唯一标准
  8. Spring之AOP理解
  9. 一线互联网公司Java高级面试总结
  10. error create beanException