Audit 功能的使用方法介绍

收藏...

[@more@]

一. 视图说明:
1. SYS.AUD$
审计功能的底层视图,如果需要对数据进行删除,只需要对aud$视图进行删除既可,其他视图里的数据都是由aud$所得.
2. DBA_AUDIT_EXISTS
列出audit not exists和audit exists产生的审计跟踪,我们默认的都是audit exists.
3. DBA_AUDIT_TRAIL
可以在里面查处所有审计所跟踪的信息.
4. DBA_AUDIT_OBJECT
可以查询所有对象跟踪信息.(例如,对grant,revoke等不记录),他的信息完全包含于dba_audit_trail
5. DBA_AUDIT_SESSION
所得到的数据都是有关logon或者logoff的信息.
6. DBA_AUDIT_STATEMENT
列出grant ,revoke ,audit ,noaudit ,alter system语句的审计跟踪信息.
7. DBA_PRIV_AUDIT_OPTS
通过系统和由用户审计的当前系统特权
8. DBA_OBJ_AUDIT_OPTS
可以查询到所有用户所有对象的设计选项
9. ALL_DEF_AUDIT_OPTS
(还没明白出其确切意义)
10. AUDIT_ACTIONS
可以查询出在aud$等视图中actions列的含义
11. SYSTEM_PRIVILEGE_MAP
可以查询出aud$等视图中priv$used列的含义(注意前面加’-‘)
12.
二. 对audit的设置
1.需要对audit_trail参数进行设置.该参数有三个值可以设置,默认为false,为不进行审计.当设置为OS时,对数据库进行设计的信息记录到操作系统中,当为DB时记录入sys.aud$中.
2.需要对sys用户进行审计,需要设置AUDIT_SYS_OPERATIONS = TRUE,该参数默认值为false,为不进行审计.当对其设计时,所有的信息将记录入操作系统中而不记录入SYS.AUD$
注:当记录入操作系统中时,其参数控制为AUDIT_FILE_DEST
三. 审计
1. by session与by access
当设置为by session时,对每个session下每条审计记录只出现一次,by access对每次操作都进行记录,by access将会带来大量的记录.
2. by user
如果在命令后面添加by user则只对user的操作进行审计,如果省去by 用户,则对系统中所有的用户进行审计(不包含sys用户).

四. 测试情况
Session1设置设计选项(sys),简写为S1, session2查询结果(user),简称S2,其他为测试连接session(user),为sessionn(n >2)
1. 对表的审计
对create table进行审计(需要对成功与失败两种情况进行测试)
S1:
SQL> audit create table by user;
S3:
SQL>create table test (id number);
SQL>create table test (id number);(要报错)
S2:
SQL>select username,returncode,action_name from dba_audit_trail;
user 955 CREATE TABLE
user 0 CREATE TABLE
S1:
SQL>truncate table aud$
对修改表(alter table)进行审计
S1:
SQL> audit alter table by user;
S3:
SQL> alter table test add( col number);
SQL> alter table test add( col number); (要报错)
S2:
SQL>select username,returncode,action_name from dba_audit_trail;
user 0 ALTER TABLE
user 1430 ALTER TABLE
S1:
SQL>truncate table aud$
对删除表(drop table)进行审计 由于没有对drop table进行单独审计的操作,需要添加audit table by user(此命令将对create table ,drop table, truncate table 进行审计)
S1:
SQL> audit table by user;
S3:
SQL> drop table test;
SQL> drop table test;(将报错)
SQL>create table test(id number);
SQL> truncate table test;
S2:
SQL>select username,returncode,action_name from dba_audit_trail;
1 user 0 DROP TABLE
2 user 942 DROP TABLE
3 user 0 CREATE TABLE
4 user 0 TRUNCATE TABLE
S1:
SQL>truncate table aud$

2. 对视图的审计
对创建视图(create view)进行审计
S1:
SQL> audit create view by user;
S3:
SQL> create view test0 as select * from test;
SQL> create view test0 as select * from test;(要报错)
S2:
SQL>select username,returncode,action_name from dba_audit_trail;
1 user 955 CREATE VIEW
2 user 0 CREATE VIEW
S1:
SQL>truncate table aud$

对修改视图(alter view)进行审计 没有对视图进行修改的操作,所以审计修改视图也就不存在.
对删除视图(drop view)进行审计 由于没有对drop view进行单独审计的操作,需要添加audit view by user(此命令将对create view ,drop view进行审计)
S1:
SQL> audit view by user;
S3:
SQL> drop view test0;
SQL> drop view test0; (将报错)
SQL> create view test0 as select * from test;;
S2:
SQL>select username,returncode,action_name from dba_audit_trail;
1 user 0 DROP VIEW
2 user 942 DROP VIEW
3 user 0 CREATE VIEWS1:
SQL>truncate table aud$

3. 对程序包的审计
目前没有对程序包的重新编译进行审计.对包,函数以及存储过程的审计都可以通过audit procedure by user进行审计.
S1:
SQL> audit procedure by user;
S3:
SQL> create procedure test1
2 as
3 begin
4 null;
5 end;
6 /
SQL> drop procedure test1;
SQL> drop procedure test1;

S2:
SQL>select username,returncode,action_name from dba_audit_trail;
1 user 0 CREATE PROCEDURE
2 user 0 DROP PROCEDURE
3 user 4043 DROP PROCEDURE
SQL>truncate table aud$

4. 对用户的审计
对用户的审计可以有audit user来实现,该命令可以审计create user,alter user,drop user.
S1:
SQL> audit user by user;
S3:
SQL> create user zyc identified by zyc;
SQL> alter user zyc identified by 000; (要报错)
SQL> alter user zyc identified by zyc; (要报错)
SQL> alter user zyc identified by aaa;
SQL> drop user zyc;
SQL> drop user zyc; (要报错)

S2:
SQL>select username,returncode,action_name from dba_audit_trail;
1 user 0 CREATE USER
2 user 988 ALTER USER
3 user 28007 ALTER USER
4 user 0 ALTER USER
5 user 0 DROP USER
6 user 1918 DROP USERS1:
SQL>truncate table aud$

综上所述:
1. 对表的审计:可以单独对表的create,alter进行审计,如果要对drop操作进行审计需要对表加audit table(该命令包含有create table,drop table,truncate table).
2. 对视图的审计:可以单独对视图的create进行审计,如果要对drop操作进行审计需要对视图加audit view(该命令包含有create view,drop view).
3. 对程序包的审计:可以对包(函数,存储过程等)的create进行审计,如果需要对drop操作进行审计需要加audit procedure(该命令对CREATE FUNCTION, CREATE LIBRARY , CREATE PACKAGE, CREATE PACKAGE BODY, CREATE PROCEDURE, DROP FUNCTION, DROP LIBRARY, DROP PACKAGE, DROP PROCEDURE进行审计)
4. 对用户的审计:可以通过audit user(该命令包含 create user,alter user,drop user)进行审计,

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7318139/viewspace-900946/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7318139/viewspace-900946/

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL审计是一种记录和监控MySQL数据库操作的方法。可以通过配置MySQL审计插件来启用审计功能。可用的审计插件系统变量可以在mysql-audit的配置文档中找到。MySQL审计插件基于MySQL Server审计插件接口,并可记录每个用户在每个时刻的操作。虽然MySQL 5.7提供了安全审计插件,但缺点是日志信息较大,对性能有一定影响。如果你对MySQL审计有更高效的方法,可以与heng wang开发者分享意见。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [mysql审计配置 mysql-audit Configuration](https://blog.csdn.net/qq_32583639/article/details/117951762)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [mysql-audit:mysql-audit 是 MySQL Server 的一个插件。-开源](https://download.csdn.net/download/weixin_42164534/19896450)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [audit-plugin-mysql-5.7-1.1.7 for Linux](https://download.csdn.net/download/snjvery/85620346)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值