Oracle Audit 功能的使用方法介绍
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一. 视图说明:
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: