Oracle审计功能介绍

上传人:枫** 文档编号:496813516 上传时间:2022-08-04 格式:DOC 页数:13 大小:84.50KB
返回 下载 相关 举报
Oracle审计功能介绍_第1页
第1页 / 共13页
Oracle审计功能介绍_第2页
第2页 / 共13页
Oracle审计功能介绍_第3页
第3页 / 共13页
Oracle审计功能介绍_第4页
第4页 / 共13页
Oracle审计功能介绍_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《Oracle审计功能介绍》由会员分享,可在线阅读,更多相关《Oracle审计功能介绍(13页珍藏版)》请在金锄头文库上搜索。

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

2、某种类型的SQL语句审计,不指定结构或对象。u 特权审计,对执行相应动作的系统特权的使用审计。u 对象审计,对一特殊模式对象上的指定语句的审计。这三种标准审计类型分别对如下3方面进行审计:u 审计语句的成功执行、不成功执行,或者其两者。u 对每一用户会话审计语句执行一次或者对语句每次执行审计一次。u 对全部用户或指定用户的活动的审计。 当数据库的审计功能打开后,在语句执行阶段产生审计记录。审计记录包含有审计的操作、用户执行的操作、操作的日期和时间等信息。审计记录可存在数据字典表(称为审计记录)或操作系统审计记录中。数据库审计记录是在SYS模式的AUD$表中。2.2设置ORACLE标准审计:下列

3、步骤可以设置ORACLE的标准审计功能: 1. 修改初始化参数文件(init.ora)如果使用服务器参数文件使用alter system set = scope=spfile|both,详情参照1.1节中关于参数文件的介绍),设置 AUDIT_TRAIL参数,并且重启数据库。AUDIT_TRAIL的取值如下: l DB/TRUE:启动审计功能,并且把审计结果存放在数据库的 SYS.AUD$ 表中l OS:启动审计功能,并把审计结果存放在操作系统的审计信息中 l DB_EXTENDED:具有DB/TRUE的功能,另外填写AUD$的SQLBIND和SQLTEXT字段 l NONE/FALSE:关闭

4、审计功能 2.设置AUDIT_TRAIL参数:如果设置 AUDIT_TRAIL = OS, 还需要修改参数AUDIT_FILE_DEST。 如果操作系统支持设置AUDIT_TRAIL=OS,文件会自动存放在AUDIT_FILE_DEST所指定的目录下,并且文件名包含进程的PID。 比如: AUDIT_FILE_DEST = $ORACLE_HOME/rdbms/audit $ ls -l $ORACLE_HOME/rdbms/audit -rw-rw- 1 ora92 dba 881 Mar 17 09:57 ora_13264.aud $ ps -ef|grep 13264 ora92 13

5、264 13235 0 09:56:43 ? 0:00 oracleV92 (DESCRIPTION=(LOCAL=Y) SQL select spid, program, username from v$process; SPID PROGRAM USERNAME - - - . 13264 oraclefrhp11 (TNS V1-V3) ora92 3. 确认审计相关的表是否已经安装 SQLPLUS connect / AS SYSDBA SQLPLUS select * from sys.aud$; - 没有记录返回 SQLPLUS select * from dba_audit_tr

6、ail; - 没有记录返回 如果做上述查询的时候发现表不存在,说明审计相关的表还没有安装,需要安装。 SQLPLUS connect / as sysdba SQLPLUS $ORACLE_HOME/rdbms/admin/cataudit.sql 审计表安装在SYSTEM表空间。所以要确保SYSTEM表空间又足够的空间存放审计信息。4. 关闭并重启数据库 5. 设置所需要的审计信息 下面是一个例子 SQL connect system/manager SQL grant audit system to scott; SQL connect scott/tiger SQL audit sess

7、ion; 停止审计: SQL noaudit session; 通常设置了标准审计后都是通过Audit语句开启审计,使用noaudit语句收回审计。如下所示:对修改SC表结构或数据的操作进行审计可使用如下语句:AUDIE ALTER,UPDATE ON SC;取消对SC表的一切审计可使用如下语句:NOAUDIT ALL ON SC;2.3设置审计的实例(对试图尝试口令的访问的审计):以下是一个审计的实例,用于记录尝试通过野蛮尝试法破译ORACLE帐号口令的例子:1. 修改审计相关参数(参照上面介绍的方法) 2. 重启数据库 3. 设置审计信息 SQLAUDIT ALL BY ACCESS WH

8、ENEVER NOT SUCCESSFUL 4. 查询AUD$ SQL select returncode, action#, userid, userhost, terminal,timestamp from aud$ RETURNCODE ACTION# USERID USERHOST TERMINAL - - - - - 1017 100 SCOTT WPRATA-BR 1017 100 SCOTT WPRATA-BR 1017 100 SCOTT WPRATA-BR ORA-1017的含义为错误的用户名口令。通过查看AUD$表可以清楚地看到WPRATA-BR尝试破译SCOTT的口令。可

9、以通过下面一个存储过程来分析AUD$表,找出可疑的信息:create or replace procedure AuditLogin(Since Varchar2,Times PLS_Integer)isUSER_ID VARCHAR2(20);cursor c1 is select userid,count(*) from sys.aud$ where returncode=1017 and timestamp#=to_date(Since,yyyy-mm-dd) group by userid;cursor C2 IS Select userhost, terminal,TO_CHAR(t

10、imestamp#,YYYY-MM-DD:HH24:MI:SS) from sys.aud$ WHERE returncode=1017 and timestamp#=to_date(Since,yyyy-mm-dd) AND USERID=USER_ID;ct PLS_INTEGER;V_USERHOST VARCHAR2(40);V_TERMINAL VARCHAR(40);V_DATE VARCHAR2(40);BEGIN OPEN C1; dbms_output.enable(1024000); LOOP FETCH C1 INTO USER_ID,CT; EXIT WHEN C1%N

11、OTFOUND; IF(CT=TIMES) THEN DBMS_OUTPUT.PUT_LINE(USER BROKEN ALARM:|USER_ID); OPEN C2; LOOP FETCH C2 INTO V_USERhOST,V_TERMINAL,V_DATE; DBMS_OUTPUT.PUT_LINE(CHR(9)|HOST:|V_USERHOST|,TERM:|V_TERMINAL|,TIME:|V_DATE); EXIT WHEN C2%NOTFOUND; END LOOP; close c2; END IF; END LOOP; close c1;END;/一下是执行结果:SQL

12、set serveroutput on;SQL execute auditlogin(2004-01-01,2);USER BROKEN ALARM:SYS HOST:,TERM:XUJI,TIME:2004-09-22:11:08:00 HOST:,TERM:XUJI,TIME:2004-09-22:11:08:01 HOST:,TERM:XUJI,TIME:2004-09-22:11:09:29 HOST:,TERM:XUJI,TIME:2004-09-22:11:09:29PL/SQL 过程已成功完成。2.4将审计相关的表移动到其他表空间:由于AUD$表等审计相关的表存放在SYSTEM表

13、空间,因此为了不影响系统的性能,保护SYSTEM表空间,最好把AUD$移动到其他的表空间上。可以使用下面的语句来进行移动:sqlconnect / as sysdba;sqlalter table aud$ move tablespace ;sqlalter index I_aud1 rebuild online tablespace ;SQL alter table audit$ move tablespace ;SQL alter index i_audit rebuild online tablespace ;SQL alter table audit_actions move tablespace ;SQL alter index i_audit_actions rebuild online tablespace ;三、 细粒度审计: 细

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号