审计简介

来源:互联网 发布:淘宝网哪里买核桃 编辑:程序博客网 时间:2024/05/29 08:23

一、审计分类

Oracle中审计总体上可分为“标准审计”和“细粒度审计”后者也称为“基于政策的审计”,在Oracle10G之后功能得到很大增强。其中标准审计可分为用户级审计和系统级审计。用户级审计是任何Oracle用户可设置的审计,主要是用户针对自己创建的数据库表或视图进行审计,记录所有用户对这些表或视图的一切成功和(或)不成功的访问要求以及各种类型的SQL操作。系统级审计只能由DBA设置,用以监测成功或失败的登录要求、监测GRANT和REVOKE操作以及其他数据库级权限下的操作。

二、审计用途

通常用于以下活动:
1、确保行为的准确性。包括对特定模式、表、行货影响特定内容的行为
2、根据账号探测到非预期操作的用户
3、调查可疑的活动。比如某个用户删除了表中数据,安全管理员可能决定审计数据库连接和所有成功的、不成功的对数据库中所有表的行删除操作。
4、将非授权用户的行为通知审计员。
5、监控和汇总特定数据库活动信息。比如数据库管理员收集哪些表被更新、进行了哪些逻辑i/o、当前有多少用户连接等
6、探测某个授权的问题或者控制执行。比如你可以创建审计策略,规定不要生成审计信息,因为数据通过其他方式保护。
7、这样,当有审计信息生成时,你就知道其他的安全控制失效了。
8、定位审计要求。

三、审计的内容

1、一般活动
审计sql语句、权限、模式对象、函数、存储过程、包、触发器、网络活动。
比如,可以在某个用户执行update、delete语句时进行审计。
oracle将审计记录写入audit_trail初始化参数执行的位置。

2、默认的,安全相关的sql语句和权限
oracle提供的一系列默认审计设置。
结果写入audit_trail参数指定位置。

3、特定的,细粒度活动
对于特定范围的数据,比如value>7800的,特定IP的
可以将设计记录写到数据库审计跟踪或xml格式的操作系统审计跟踪中

4、sys管理用户
可以对sysdba或sysoper权限连接的用户直接指定的sql进行审计。不包括pl/sql过程、函数。

四、审计参数

1、查看参数
show parameter audit_trail;

2、参数值有四种
  NONE:关闭审计功能
  DB:默认值    可以通过SYS.AUD$进行查询
  OS:审计信息写入到操作系统,文件路径通过audit_file_dest参数控制
  DB,EXTENDED:额外记录SQL语句到SYS.AUD$.SQL_TEXT
  XML:10G开始新增XML XML,EXTENDED

五、审计相关表

AUD$,默认创建在SYSTEM表空间,建议move到单独的表空间下

1、确认是否有表
如果查询的时候发现表不存在,说明审计相关的表还没有安装,需要安装。
SELECT * FROM SYS.AUD$; -- 没有记录返回  SELECT * FROM DBA_AUDIT_TRAIL; -- 没有记录返回

2、安装
审计表安装在SYSTEM表空间。所以要确保SYSTEM表空间又足够的空间存放审计信息。

@$ORACLE_HOME/rdbms/admin/cataudit.sql

3、迁移审计表至其它(USERS)表空间

ALTER TABLE sys.aud$ MOVE TABLESPACE USERS;ALTER TABLE sys.aud$ MOVE LOB(sqlbind) store as(TABLESPACE USERS);ALTER TABLE sys.aud$ MOVE LOB(SQLTEXT) store as(TABLESPACE USERS);ALTER TABLE sys.I_AUD1 REBUILD tablespace USERS;