没有合适的资源?快使用搜索试试~ 我知道了~
Oracle审计功能介绍.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 40 浏览量
2023-04-25
18:56:02
上传
评论
收藏 464KB PDF 举报
温馨提示
试读
12页
Oracle审计功能介绍.pdf
资源推荐
资源详情
资源评论
Oracle
审计功能
一、 审计分类:
Oracle
中审计总体上可分为“标准审计”和“细粒度审计”后者也称为
“基 于政策的审计”,在
Oracle10G
之后功能得到很大增强。其中标准审计
可分为用 户级审计和系统级审计。用户级审计是任何
Oracle
用户可设置的
审计,主要是 用户针对自己创建的数据库表或视图进行审计, 记录所有用户
对这些表或视图的 一切成功和
(
或
)
不成功的访问要求以及各种类型的
SQL
操作。系统级审计只能由
DBA
设置,用以监测成功或失败的登录要求、监测
GRANT
和
REVOKE
操作以 及其他数据库级权限下的操作。
二、 标准审计:
2.1 分类:
在
ORACLE
中分别支持以下三种标准审计类型:
语句审计,对某种类型的
SQL
语句审计,不指定结构或对象。
特权审计,对执行相应动作的系统特权的使用审计。
对象审计,对一特殊模式对象上的指定语句的审计。
这三种标准审计类型分别对如下
3
方面进行审计:
审计语句的成功执行、不
成功执行,或者其两者。 对每一用户会话审计语句执行一次或者对语句每
次执行审计一次。 对全部用户或指定用户的活动的审计。
当数据库的审计功能打开后,在语句执行阶段产生审计记录。审计记录包含有审计
的操作、用户执行的操作、操作的日期和时间等信息。审计记录可存在数据字典表(称
为审计记录)或操作系统审计记录中。数据库审计记录是在
SYS
模式的
AUD$
表中。
2.2
设置
ORACLE
标准审计:
下列步骤可以设置
ORACLE
的标准审计功能:
1.
修改初始化参数文件(
init<sid>.ora
)
如果使用服务器参数文件使用
alter system set <parameter>=<value> scope=spf
ile|both
,详情参照
1.1
节中关于参数文件的介绍),设置
AUDIT_TRAIL
参数,并
且重 启数据库。
AUDIT_TRAIL
的取值如下:
DB/TRUE
:启动审计功能,并且把审计结果存放在数据库的
SYS.AUD$
表中
OS
:启动审计功能,并把审计结果存放在操作系统的审计信息中
DB_EXTENDE
:
D
具有
DB/TRUE
的功能,另外填写
AUD$
的
SQLBIND
和
SQLT
EXT
字段
NONE/FALS
:
E
关闭审计功能
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 13264
13235 0 09:56:43 ? 0:00 oracleV92 (DESCRIPTION=(LOCAL
SQL> select spid, program, username
SPID PROGRAM
13264 oracle@frhp11 (TNS V1-V3) ora92
3.
确认审计相关的表是否已经安装
SQLPLUS> connect / AS SYSDBA
SQLPLUS> select * from sys.aud$; --
没有记录返回
SQLPLUS> select * from dba_audit_trail; --
没有记录返回 如果做上述查询的时
from v$process;
USERNAME
Y)
候发现表不存在,说明审计相关的表还没有安装,需要安装。
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 session;
停止审计:
SQL> noaudit session;
通常设置了标准审计后都是通过
Audit
语句开启审计,
使用
noaudit
语句收回审计。 如下所示:
对修改
SC
表结构或数据的操作进行审计可使用如下语句:
AUDIE ALTER
,
UPDATE ON SC;
取消对
SC
表的一切审计可使用如下语句:
NOAUDIT ALL ON SC;
2.3
设置审计的实例(对试图尝试口令的访问的审计) : 以下是一个审计的
实例,用于记录尝试通过野蛮尝试法破译
ORACLE
帐号口
令的例子:
1.
修改审计相关参数(参照上面介绍的方法)
2.
重启数据库
3.
设置审计信息
SQL>AUDIT ALL BY ACCESS WHENEVER NOT SUCCESSFUL
4.
查询
AUD$
SQL> select returncode, action#, userid, userhost, terminal,timestamp from aud$
RETURNCODE ACTION# USERID USERHOST TERMINAL
1017
1017
1017
100
100
100
SCOTT
SCOTT
SCOTT
WPRATA-BR
WPRATA-BR
WPRATA-BR
ORA-1017
的含义为错误的用户名口令。通过查看
AUD$
表可以清楚地看到
WPRATA-BR
尝
试破译
SCOTT
的口令。可以通过下面一个存储过程来分析
AUD$
表,找出可疑的信息:
create or replace procedure AuditLogin(Since Varchar2,Times PLS_Integer)
is
USER_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(timestamp#,'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%NOTFOUND;
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>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:29
剩余11页未读,继续阅读
资源评论
hhappy0123456789
- 粉丝: 61
- 资源: 5万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功