oracle 11g 审计

oracle 11g 审计操作

审计对象有一下四种
statement  语句
privileges 权限
object     对象
network    网络

以上前三个个对象的区分参考官方文档Database SQL Language Reference里的audit相关信息
network参考Security Guide第九章network部分


查看当前的审计项目可以针对以上4个方向
SELECT * FROM DBA_STMT_AUDIT_OPTS;  --查看statements相关审计
SELECT * FROM DBA_PRIV_AUDIT_OPTS;  --查看privileges相关审计
SELECT * FROM DBA_OBJ_AUDIT_OPTS    --查看object相关审计
--network暂时没有发现能够通过那个视图能查

SELECT * FROM ALL_DEF_AUDIT_OPTS;   --查看默认的object相关审计


审计方式
by access    --oracle建议用这种方式,因为记录信息比较全
by session

IN SESSION CURRENT         
--审计当前回话,此方式不能停止审计,只能终止回话
--只针对statements且不能针对某一个用户使用,换句话说就是不能带by username

whenever  successfull     --成功才审计,不指定那么就不管成功与否都审计
whenever not successfull  

例句:
audit select any table by scott by access whenever successfull --scott查看非scott的表成功时会产生一条审计

开启默认的审计
$ORACLE_HOME/rdbms/admin/secconf.sql  --脚本说明标示default
--回到10g前的审计
$ORACLE_HOME/rdbms/admin/undoaud.sql 

关闭所有审计选项
noaudit all privileges;
noaudit all statements;
noaudit EXEMPT ACCESS POLICY by access;

删除日志
truncate table sys.aud$;  --删除标准审计日志
==>也可以用以下语句清理
DELETE FROM SYS.AUD$
   WHERE NTIMESTAMP# > TO_TIMESTAMP ('28-FEB-09 09.07.59.907000 PM') AND
   NTIMESTAMP# < TO_TIMESTAMP ('28-MAR-09 09.07.59.907000 PM');
ALTER TABLE SYS.AUD$ SHRINK SPACE;


关闭审计功能--关闭了,还是有一些选项是必须审计的。
alter system set audit_trail=none scope=spfile;
shutdown immediate;
startup;

更改审计日志放数据库
1)存放到数据库
alter system set audit_trail=db scope=spfile;   --存放在表sys.aud$里面
alter system set audit_trail=db,extended scope=spfile; 
2)存放到本地系统文件
alter system set audit_trail=os scope=spfile;

细粒度审计FGA  --参考security guide第九章
日志放表sys.sfga_log$

这部分还是蛮简单的介绍两个功能
1.实现审计并发送alert日志到你的邮箱
2.针对某个客户端做审计
--简单介绍
DBMS_FGA.ADD_POLICY(
   object_schema      VARCHAR2, 
   object_name        VARCHAR2, 
   policy_name        VARCHAR2, 
   audit_condition    VARCHAR2, 
   audit_column       VARCHAR2,  --多列或单列,若是配置了多列,那么audit_column_opts也
                                 --要配置dbms_fga.any_columns/dbms_fga.all_columns
   handler_schema     VARCHAR2,  --一般默认即可,配置发送邮件会用到
   handler_module     VARCHAR2,  --一般默认即可,配置发送邮件会用到
   enable             BOOLEAN,   
   statement_types    VARCHAR2,  --SELECT,INSERT,UPDATE,DELETE 默认SELECT
   audit_trail        BINARY_INTEGER IN DEFAULT, --
   audit_column_opts  BINARY_INTEGER IN DEFAULT);
   

--例句:
BEGIN
  DBMS_FGA.ADD_POLICY(
   object_schema      => 'HR',
   object_name        => 'EMPLOYEES',
   policy_name        => 'chk_hr_employees',
   enable             =>  TRUE,
   statement_types    => 'INSERT, UPDATE, SELECT, DELETE',
   audit_trail        =>  DBMS_FGA.DB);
END;
/
--查看配置好的策略

SELECT POLICY_NAME FROM DBA_AUDIT_POLICIES;

POLICY_NAME
-------------------------------
CHK_HR_EMPLOYEES

--查看配置后的审计记录

SELECT * FROM DBA_FGA_AUDIT_TRAIL;



相关视图介绍:

DBA_AUDIT_TRAIL for the SYS.AUD$ contents
DBA_FGA_AUDIT_TRAIL for the SYS.FGA_LOG$ contents
DBA_COMMON_AUDIT_TRAIL for both SYS.AUD$ and SYS.FGA_LOG$ contents


详情见官网
http://docs.oracle.com/cd/E11882_01/network.112/e36292/auditing.htm#DBSEG006

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值