MySQL审计插件安装使用说明文档--升级版

目的

基于之前设计开发的mysql审计插件,以及MySQL审计插件安装使用说明文档》的内容介绍,对完善后的mysql审计插件进行补充和说明。主要对新增内容进行详细说明,进一步完善审计插件的功能。

新增内容

         针对之前版本中存在的不足,功能不够完善的问题,对MySQL审计插件进行进一步的开发和完善。新增内容主要有:

1、增加审计数据库、数据表功能。

之前版本中没有实现该功能,在当前版本中,将审计选项中audit_dbsaudit_tables的处理实现。可以审计某些数据库,或者某些数据表,有利于针对不同应用系统的特殊应用。从而配合审计粒度,对审计内容进行进一步的细化和定制。

2、增加忽略审计的用户、数据库、数据表功能。

         鉴于审计应用的特殊性,添加忽略的审计用户、数据库、数据表功能。可以实现忽略某个或某些用户的操作记录;忽略某个或某些数据库的操作记录;忽略某个表的操作记录。这样可以使得当审计的内容较多,而审计中需要剔除某些不必要的审计内容的情况下,这些参数可以有效简化审计的选项配置。

         增加的配置文件的选项:

选项

功能

ignore_users

忽略的用户

ignore_dbs

忽略的数据库

ignore_tables

忽略的数据表

        

         选项的设置格式在配置文件中给出了具体的说明,类似audit_usersaudit_dbsaudit_tables选项。

         在添加忽略的审计用户、数据库、数据表与审计对象发生冲突时,将按照忽略优先的原则进行。例如:audit_dbs = importantaudit_tables = test.testignore_dbs = testignore_tables = important.test,那么审计的内容会首先忽略important.test表的所有操作,而审计test.test数据表的所有操作,然后忽略test数据库的所有操作,审计important数据看的操作。

3、增加审计操作的数据库信息。

         由于操作的sql语句中几乎不会直接写操作的数据库,而仅靠sql语句不能有效的辨识操作的数据库。在存在不同数据库中有相同数据表的情况下,数据库审计不能有效的跟踪审计内容。增加数据库信息,可以有效的提高sql审核的内容。

文件输出格式

         文件格式分为两种,分别为连接审计和操作审计。

1、连接审计

连接相关的审计日志信息的格式如下所示。

具体的:

[2012-06-20 15:40:39]:审计的时间。

[CONNECT]:为连接的类型;

status:为连接成功(0)或者失败(错误号)的状态;

user:为连接的用户名;

external-user:为外部连接的用户,在使用中间件或者代理服务的时候有效;

proxy-user:为代理服务的用户名;

host:表示连接的主机名;

ip:连接的ip地址;

database:表示连接的数据库名。

 

[2012-06-20 15:40:39] [CONNECT] status: # ; thread_id: # ; user: XXX ; external-user: XXX ; proxy-user: XXX ; host: XXX ; ip: ###.###.###.### ; database: XXX

2、操作审计

操作相关的审计日志信息的格式如下所示。操作相关的命令包括CREATEDROPALTERINSERTUPDATEDELETEGRANTREVOKE等对数据或数据库有影响的操作。以下以CREATE为例,进行详细说明。

具体的:

[2012-06-20 15:40:39]:审计的时间。

[CREATE]为操作的类型;

error_code:为操作的错误码,操作成功为0

thread_id:执行操作的线程id

user:执行操作的用户名;

command:操作命令的类型,是数据库内部的定义,数据相关操作一般为Query

databasesSQL语句涉及到的所有数据库。

query:操作的SQL语句。

charset:操作的字符集类型;

time:执行操作的时间点,该值为从1970年以来的长整数。

rows:执行操作影响数据的行数。

 

[2012-06-20 15:40:39] [CREATE] error_code:X # thread_id:X # user:X # command:X #databases:X # query:X # charset:X # time:X # rows:X

数据表定义

CREATE TABLE mysql.audit (

  `audit_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,

  `command` varchar(20) NOT NULL DEFAULT 'NULL',

  `status` int(11) NOT NULL DEFAULT '0',

  `thread_id` bigint(32) unsigned NOT NULL DEFAULT '0',

  `user` varchar(20) NOT NULL DEFAULT 'NULL',

  `external_user` varchar(20) NOT NULL DEFAULT 'NULL',

  `proxy_user` varchar(20) NOT NULL DEFAULT 'NULL',

  `host` varchar(20) NOT NULL DEFAULT 'NULL',

  `ip` varchar(20) NOT NULL DEFAULT 'NULL',

  `databases` varchar(255) NOT NULL DEFAULT 'NULL',

  `query` varchar(255) NOT NULL DEFAULT 'NULL',

  `charset` varchar(20) NOT NULL DEFAULT 'NULL',

  `event_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',

  `rows` bigint(32) NOT NULL DEFAULT '0'

) ENGINE=CSV DEFAULT CHARSET=utf8 ;

 

进一步工作

1、完善查看审计参数状态,show status like ‘audit%’中动态显示当前参数状态。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值