Mysql数据库审计
Mysql数据库审计
简介
数据库审计(简称DBAudit)能够实时记录网络上的数据库活动,对数据库操作进行细粒度审计的合规性管理,对数据库遭受到的风险行为进行告警,对攻击行为进行阻断。它通过对用户访问数据库行为的记录、分析和汇报,用来帮助用户事后生成合规报告、事故追根溯源,同时加强内外部数据库网络行为记录,提高数据资产安全。
在MySQL数据库中(5.5版本),增加了一个新的插件:Audit plugin,用于对数据库连接和数据库操作进行审计。该插件在mysql5.6.20企业版及其后续版本才比较完善。
在生产中我们所采用的MySQL为社区免费版,不能使用企业版的插件,为此我们使用Mariadb社区提供的audit插件。
注:percona,mcafee,mariadb都有提供审计插件。三种插件安装方式一样。
数据库版本
Mysql版本:Mysql 5.6.26
安装方式: 二进制
插件来源: mariadb
Server_audit.so 文件从mariadb版本获得
下载地址:https://mariadb.com/resources/downloads
插件安装
插件可通过两种方式加载:
[mysqld]
plugin-load=server_audit.so
如果想要在运行过程中该插件不被移除,配置如下
1,.my.cnf 文件配置
[mysqld]
plugin-load=server_audit.so
audit-log=FORCE_PLUS_PERMANENT
2:动态安装插件过程
###查询MySQL plugin 安装位置 1. show global variables like '%plugin_dir%'; 2. 将server_audit.so 文件拷贝到上面的路径 3. 加载server_audit.so插件 mysql> install plugin server_audit soname 'server_audit.so'; #### 查询插件是否加载成功 mysql> show plugins ###配置参数 4. mysql > show global variables like '%server_audit%'; ### 审计查询:【 CONNECTION,QUERY,TABLE,QUERY_DDL,QUERY_DML 】 4. mysql > set global server_audit_events='QUERY'; 5. # 打开审计功能 6. set global server_audit_LOGGING='ON'; ###测试 1. mysql >select count(*) from serviceCount; 2. mysql >select count(*) from serviceCo; 3. ERROR 1146 (42S02): Table 'test.serviceCo' doesn't exist 4. more server_audit.log 5. 20160523 10:24:26,10-0-10-70,root,localhost,615,172,QUERY,test,'select count(*) from serviceCount',0 6. 20160523 10:29:11,10-0-10-70,root,localhost,615,174,QUERY,test,'select count(*) from serviceCo',11463.查看所有加载的插件 select * from INFORMATION_SCHEMA.PLUGINS\G
4.重要配置参数:
server_audit = FORCE_PLUS_PERMANENT
server_audit_events ='CONNECT,QUERY,TABLE'
server_audit_logging =ON
server_audit_incl_users =root
server_audit_file_rotate_size = 10G
server_audit_file_path = /data/mysql/server_audit.log
全部配置参数:
参考地址:
https://mariadb.com/kb/en/mariadb/server_audit-system-variables/
server_audit_events
server_audit_excl_users
server_audit_file_path
server_audit_file_rotate_now
server_audit_file_rotate_size
server_audit_file_rotations
server_audit_incl_users
server_audit_logging
server_audit_mode
server_audit_output_type
server_audit_query_log_limit
server_audit_syslog_facility
server_audit_syslog_ident
server_audit_syslog_info
server_audit_syslog_priority