`
fudehai001
  • 浏览: 487890 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Oracle Audit 功能的使用方法介绍

阅读更多
一. 视图说明:
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)进行审计.
分享到:
评论

相关推荐

    oracle开启audit(审计)

    oracle开启audit(审计)的详细过程.

    Oracle审计功能Audit.pdf

    Oracle审计功能Audit.pdf

    ORACLE_审计内容_DBA_AUDIT_TRAIL.xlsx

    Oracle审计内容DBA_AUDIT_TRAIL数据字典说明,根据开启的Oracle审计功能,读取dba_audit_trail视图的审计内容包含用户名、操作时间、操作类型、SQL文本、数据库操作次数等等,此文档是对dba_audit_trail视图的中文简介,...

    oracle安全实战—开发安全的数据库与中间件环境

    介绍如何最大化地发挥oracle数据库、oracle databasevault、oracle identity management、oracle application express以及oracle business intelligence suite的安全特性。本书通过独家的权威资源,为您提供经过验证...

    ORACLE审计小结

    审计(Audit)用于监视用户所执行的数据库操作,并且Oracle会将审计跟踪结果存放到OS文件(默认位置为$ORACLE_BASE/admin/$ORACLE_SID/adump/)或数据库(存储在system表空间中的SYS.AUD$表中,可通过视图dba_audit_...

    EBS-审计功能(Audit-Trail).docx

    EBS自带审计功能,审计功能是记录系统使用者的操纵记录,例如什么时间对哪张表的那个的字段做了修改、删除等操作,审计功能都会记录相应的时间、修改者、修改前该字段的值。在实际业务中对一些敏感信息(例如订单行...

    ORACLE10G 审计操作

    审计(Audit)用于监视用户所执行的数据库操作,并且Oracle会将审计跟踪结果存放到OS文件(默认位置为$ORACLE_BASE/admin /$ORACLE_SID/adump/) 或数据库(存储在system表空间中的SYS.AUD$表中,可通过视图dba_audit...

    如何获得XML格式的Oracle 10g审计跟踪

    即使关闭数据库实例,仍然可以继续使用保存在数据库外的审计日志,但还是可以通过一个新的视图,V$XML_AUDIT_TRAIL,从数据库中对它们进行查询。要激活XML文件审计功能,需要设定两个初始化参数。

    Oracle8i_9i数据库基础

    §8.2.4 使用COPY功能 195 §8.2.5 管理Oracle名称服务器 196 §8.3 关于上下文的使用 196 §8.3.1 设置上下文选项 196 §8.3.2 为上下文查询设置表 197 §8.3.3 优化文本索引 199 §8.4 关于维数(DIMENSION) 199 ...

    Oracle9i的init.ora参数中文说明

    说明: 指定 Oracle 使用哪种日历系统作为日期格式。例如, 如果 NLS_CALENDAR 设置为 'Japanese Imperial', 那么日期格式为 'E YY-MM-DD'。即: 如果日期是 1997 年 5 月 15 日, 那么 SYSDATE 显示为 'H 09-05-15'。 ...

    Oracle(RAC)数据库调优和事故分析应关注的技术点

    Oracle审计(Audit)功能用于监视用户所执行的数据库操作,审计记录可存在数据字典表(称为审计记录:存储在system表空间中的 SYS.AUD$表中,可通过视图dba_audit_trail查看)或操作系统审计记录(默认位置为$ORACLE...

    citrix 中文管理操作手册

    选择资源类型和发布方法 40 定位要发布的应用程序 41 验证已发布应用程序的命令行参数 42 在内容与已发布应用程序之间建立信任关系 42 禁用所选已发布应用程序的命令行验证 42 禁用服务器上所有已发布应用程序的...

    数据库安全审计系统.doc

    数据库安全审计系统 数据库安全审计管理系统示意图 英文:Database security audit system 数据库安全审计系统主主要用于监视并记录对数据库服务器的各类操作行为,通过 对网络数据的分析,实时地、智能地解析对...

    安信通数据库审计系统.doc

    "2000条/秒 "4000条/秒 " "度: " " " " " "参考价"26万元 "32万 "30万元 "40万 " 产品硬件指标 产品功能: 支持数据库类型: Oracle、Informix、DB2、SQL-Server、Sybase、MySQL 支持其它协议: http、telnet、FTP ...

    Archery:SQL 审核查询平台

    介绍 Archery是archer的分支项目,定位于SQL审核查询平台,旨在提升DBA的工作效率,支持多数据库SQL上线和查询,同时支持丰富MySQL运维功能,所有功能都兼容手机端操作 功能清单 查询 审核 执行 备份 数据字典 慢...

Global site tag (gtag.js) - Google Analytics