设为首页 加入收藏

TOP

MySQL审计插件安装使用说明文档(一)
2014-11-24 07:34:06 来源: 作者: 【 】 浏览:1
Tags:MySQL 审计 插件 安装 使用说明 文档

MySQL审计插件安装使用说明文档
目的
为了便于开发人员和DBA安装和使用MySQL审计插件,并对审计的使用和审计粒度有更全面的理解。本文对审计插件的设计思想、审计粒度、审计配置说明、安装使用、其他内容进行详细的描述。一方面便于后续的维护和开发,另一方面对于使用提供便利的查询。
设计思想 www.2cto.com
MySQL的审计接口为开发审计插件提供了有利的条件,基于MySQL审计接口,参考General log设计思想,将审计插件的审计类型定义了:FILE和TABLE两种类型,用于将审计的内容分别写入日志文件或数据库表。此外,对审计的粒度进行划分,不仅根据操作命令的类型进行划分,并对Query命令类型进行进一步的细化分,将DDL、DML、DCL三种类型不同SQL语句类型进行划分;对特定的用户进行审计,仅对指定的用户审计,结合审计的粒度实现对用户行为的审计;对特定的对象(数据库、数据表)进行审计,目前仅给出配置,源码中暂时没有实现。
此外,审计的粒度采用按位标示,并通过按位覆盖可以进行自定义的审计粒度。
审计粒度
审计插件将审计的粒度细化到具体的SQL语句,主要包括:create、drop、alter、ddl(包括create、drop、alter)、insert、delete、update、modify(包括insert、delete、update、replace)、select、dml(包括insert、delete、update、select)、grant、revoke、dcl(包括grant、revoke)、set、cmd(包括ddl、dml、dcl、set)、connect、quit、connection(包括connect、quit)、server(包括修改server相关的命令操作,如init db、sleep等操作)、full(包括以上所有操作)、all(包括所有操作,包括预留的所有的审计粒度的扩展)、none(不进行审计),这些粒度在配置文件中的以audit_为前缀,值为1/0(或on/off)。为了更精确的控制某些命令,提供audit_ops参数,该参数的值是整数,通过整数的二进制位来控制具体的审计粒度。
具体的审计粒度对应整数的二进制位如下所示:
粒度
位值
AUDIT_ALL
(~AUDIT_NONE)
AUDIT_NONE
(ulonglong)0
AUDIT_CREATE
(ulonglong)1
AUDIT_ALTER
(AUDIT_CREATE << 1)
AUDIT_DROP
(AUDIT_CREATE << 2)
AUDIT_DDL
(AUDIT_CREATE | AUDIT_ALTER | AUDIT_DROP)
AUDIT_INSERT www.2cto.com
(AUDIT_CREATE << 3)
AUDIT_UPDATE
(AUDIT_CREATE << 4)
AUDIT_REPLACE
(AUDIT_CREATE << 5)
AUDIT_DELETE
(AUDIT_CREATE << 6)
AUDIT_MODIFY
(AUDIT_INSERT | AUDIT_UPDATE | AUDIT_DELETE | AUDIT_REPLACE)
AUDIT_SELECT
(AUDIT_CREATE << 7)
AUDIT_DML
(AUDIT_MODIFY | AUDIT_SELECT)
AUDIT_GRANT
(AUDIT_CREATE << 8)
AUDIT_REVOKE
(AUDIT_CREATE << 9)
AUDIT_DCL
(AUDIT_GRANT | AUDIT_REVOKE)
AUDIT_SET
(AUDIT_CREATE << 10)
AUDIT_CMD
(AUDIT_DDL | AUDIT_DML | AUDIT_DCL | AUDIT_SET)
AUDIT_CONNECT
(AUDIT_CREATE << 11)
AUDIT_QUIT
(AUDIT_CREATE << 12)
AUDIT_CHANGE_USER
(AUDIT_CREATE << 13)
AUDIT_CONNECTION
(AUDIT_CONNECT | AUDIT_QUIT | AUDIT_CHANGE_USER)
AUDIT_FULL
(AUDIT_CMD | AUDIT_CONNECTION)
AUDIT_SLEEP
(AUDIT_CREATE << 16)
AUDIT_INIT_DB
(AUDIT_CREATE << 17)
AUDIT_FIELD_LIST
(AUDIT_CREATE << 18)
AUDIT_REFRESH
(AUDIT_CREATE << 19)
AUDIT_SHUTDOWN
(AUDIT_CREATE << 20)
AUDIT_STATISTICS
(AUDIT_CREATE << 21)
AUDIT_PROCESSLIST
(AUDIT_CREATE << 22)
AUDIT_KILL
(AUDIT_CREATE << 23)
AUDIT_DEBUG
(AUDIT_CREATE << 24)
AUDIT_PING
(AUDIT_CREATE << 25)
AUDIT_TIME
(AUDIT_CREATE << 26)
AUDIT_DELAY_INSERT
(AUDIT_CREATE << 27)
AUDIT_BINLOG_DUMP
(AUDIT_CREATE << 28)
AUDIT_TABLE_DUMP
(AUDIT_CREATE << 29)
AUDIT_CONNECT_OUT
(AUDIT_CREATE << 30)
AUDIT_REGISTER_SLAVE
(AUDIT_CREATE << 31)
AUDIT_PREPARE
(AUDIT_CREATE << 32)
AUDIT_EXECUTE
(AUDIT_CREATE << 33)
AUDIT_LONG_DATA
(AUDIT_CREATE << 34)
AUDIT_CLOSE_STMT
(AUDIT_CREATE << 35) www.2cto.com
AUDIT_RESET_STMT
(AUDIT_CREATE << 36)
AUDIT_SET_OPTION
(AUDIT_CREATE << 37)
AUDIT_FETCH
(AUDIT_CREATE << 38)
AUDIT_DAEMON
(AUDIT_CREATE << 39)
AUDIT_ERROR
(AUDIT_CREATE << 40)
AUDIT_SERVER
(~AUDIT_FULL)
以上定义中,预留了很多位,用于粒度的深化。audit_ops的指定有一定的风险,需要进行计算,不建议直接控制。
审计配置说明
为了审计插件的独立性,对审计进行单独配置文件的控制,从而不影响数据库server的配置。此外,审计的配置与审计粒度、审计用户、审计文件地址、审计文件名、审计文件大小、审计类型有关。
审计用户格式为“,”分割的用户名列表;审计文件地址在linux下必须为mysql用户名和用户组,且mysql至少有W访问权限,如果指定审计文件大小,则需要有X权限;
审计文件名默认为mysql-audit,并且根据是否设置审计文件大小来创建文件。如果设置审计
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇使用mysqlsla分析mysql日志 下一篇mysql基本操作

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Asus Armoury Crate (2025-12-26 02:52:33)
·WindowsFX (LinuxFX) (2025-12-26 02:52:30)
·[ Linux运维学习 ] (2025-12-26 02:52:27)
·HTTPS 详解一:附带 (2025-12-26 02:20:37)
·TCP/IP协议到底在讲 (2025-12-26 02:20:34)