Oracle11g审计--语句审计

数据库中审计(Audit)
  是指对用户所执行的数据库活动做跟踪记录,它是数据库管理系统安全性重要部分。通过审计功能,与数据库安全性相关的操作均可被记录下来。

  Oracle11g中,对数据的审计相对于10g等作了简单的改动。以提供更方便\更强大的审计功能。

1>默认情况下,DB Audit参数AUDIT_TRAIL的值被设置成DB(表示审计功能默认开启,而在以前的版本中默认NONE是关闭的)。这样oracle11g中允许对任何对象、语句或权限进行Audit。

2>默认情况下,有更多的语句将处于DB Audit审计范围内,并且这些Audit操作不会导致严重的I/O问题。所有,将Audit活动维持在可接受水平,同时对性能的影响降低到最小。

查看DB的Audit参数: show AUDIT_TRAIL
修改DB的Audit参数:alter system set audit_trail = DB scope = spfile;

DB/TRUE  启用Audit,并且把Audit结果存放在DB的SYS.AUD$表中。
OS	 启用Audit,并且把Audit结果存放在操作系统的Audit信息中。
DB_EXTENDED  启用Audit,并且把Audit结果存放在DB的SYS.AUD$表中。并在CLOB列的SQLBIND和SQLTEXT字段记录额外的信息。
XML	 启用Audit,以XML格式写所有审计记录。
EXTENDED  启用审计,在审计跟踪中记录所有列,包括sqltext和sqlbind值
NONE/FALSE 禁用审计。(根据需要关闭,挡在创建或删除临时表时,会产生大量的审计信息,而影响I/O,故考虑关闭)

   Audit内容:包括对数据库连接,SQL语句执行,以及数据对象访问等操作的跟踪记录。
Oracle系统对任何用户所做的登录、做做数据库对象进行自动记录,以便DBA在事后进行监督和检查。

目地:1> 审查可疑的活动(如data被非授权用户所删除,此时管理员可以决定对该DB的所有连接进行审计,以及对DB的所有表的删除操作进行Audit,以确定数据被哪个用户删除的)

2>  监视和收集关于制定数据库活动的数据(DBA可以收集那些表经常被修改,哪些表的I/O操作比较频繁,或者在某个时刻最多有多少个并发用户连接数据库等统计数据)

   Audit分类:语句Audit、权限Audit、对象Audit

1> 语句Audit: 对某种类型的SQL语句进行Audit,不指定结构或者对象。这里从SQL语句的角度进行指定,Audit只关心执行的语句。
  例如: audit create table 语句,表示对"createtable"语句的执行进行记录,不管这条语句是否针对某个对象操作。
其只审计某类型的SQL语句,基本语法如下:
audit sql_statement_clause[ by user_name]|[by [session|access][whenwver [not] successful]]

sql_statement_clause: SQL语句或选项
[ by user_name]: 只对指定用户名的某语句进行审计;如果没有该选项表示多全体用户的某指定语句进行审计
by access:	存取方式,每条语句被执行一次都要审计不管语句是否相同。
by session:	会话方式, 相同的语句只被审计一次,这也是系统默认方式。
whenever succeful:   表示只对成功语句进行审计
whenever not succeful:   表示只对不成功语句进行审计

语句选项:
alter system		所有alter system选项,例如动态改变实例参数,切换日志文件组,以及终止用户会话。
rollback segment	creat、alter或者drop回滚段。
sequence		create或者drop序列
session			登录和退出
table			creat、drop或者truncate表
tablespace		create、alter或者drop表空间。
users			create、alter或者drop用户。
type			create、alter或者drop类型或类型主体。
view			create、alter或者drop视图。
alter table		任何alter table 命令

例如:audit create table by scott. 对scott用户创建表进行审计。
      audit create table by scott by access; 
      audit createtable by scott by access whenever not successful
 
 查看系统对哪些用户进行了语句审计:
 select user_name,audit_option,success,failure from dba_stmt_audit_opts;

 

Audit Trail allows you to tracked who performs DML on a given table and selected columns of those tables…

猜你喜欢

转载自wkf41068.iteye.com/blog/1930556
今日推荐