oracle 数据库安全审计

Oracle的审计机制是用来监视用户对ORACLE数据库所做的各种操作。

在缺省情况下,系统的审计功能是关闭的。可以在INIT.ORA参数文件中将参数AUDIT_TRAIL设置为正整数来激活。

审计功能激活后,任何拥有表或视图的用户就可以进行如下审计操作:

 ·使用SQL语句来挑选审计选择项;

 ·审计对该用户所拥有的表或视图的成功或不成功的存取企图;

 ·有选择的审计各种类型的SQL操作(SELECT、UPDATE、INSERT、DELETE);

 ·控制审计的程度(是以SESSION还是ACCESS为单位)。

8i下

我想对某个用户的dml语句进行审计,

步骤如下:

1,在init文件中添加 AUDIT_TRAIL = DB或者audit_trail=db_extended

2,audit delete table,insert table,update table by zx;

提示 :审计已成功

3,SELECT * FROM DBA_STMT_AUDIT_OPTS;能看到有记录

4,重启数据库服务,以test用户登陆,操作数据

5,查看sys.aud$

create table agile.t(t number);

begin

dbms_fga.add_policy(

object_schema=>'AGILE',

object_name=>'T',

policy_name=>'T_INSERT',

audit_column=>'T',

statement_types=>'INSERT'

);

end;

SQL> insert i44o agile.t values(1);

1 row inserted

SQL> select * from dba_fga_audit_trail;

一次完整的审计
一。启动审计
    1. alter system set audit_trail=db scope=spfile;
    2. shutdown
    3. startup
二。设定审计
    audit update,insert
    on dqsi.ac01
    by access;
三。修改数据:
    update ac01 set aac003='赵庆辉' where aac003='张三';
    commit;
    换了另一台机器:
    update ac01 set aac003='王五' where aac003='赵庆辉';
    commit;
四。查看审计结果:
    SQL> select * from dba_audit_trail;

     OS_USERNAME                             
     -----------------------------------
     zhaoqh                                 
     Administrator  

审计不成功的登陆、创建表、删除表、修改表、drop表,及其授权操作。

noaudit all;

noaudit all privileges;

audit session whenever not successful;

audit create any table, delete any table, drop any table, alter any table by access ;

audit table by access ;

audit create user, alter user, drop user by access ;

audit grant table, grant procedure by access;

撤销所有审计:

noaudit all;

noaudit all privileges;

其它的看oracle的随机文档吧!我就不帮你查了!

猜你喜欢

转载自www.cnblogs.com/fanweisheng/p/11113467.html
今日推荐