转自http://blog.csdn.net/annicybc/article/details/1568115
一、何谓数据库审计?
数据库审计,就是对数据库的活动做跟踪记录,主要包括数据库连接,SQL语句执行,数据库对象访问这些方面的跟踪记录。
二、审记记录的存储方式
分为两种:一种是存储在操作系统文件中,一种是存储在system表空间中的SYS.AUD$表中。
三、对数据库性能影响的考虑
审计必然需要占用CPU,因此,需要综合平衡审计需求与性能之间的平衡性问题,以确定出最好的审许策略。
四、审记结果中包含哪些信息
前面讲到审许结果的存储分数据库存储和文件存储两种方式。对于数据库存储的情况,SYS.AUD$表中包含以下信息:
1) ·操作系统用户名
2) ·数据库用户名
3) ·连接会话标识
4) ·终端标识
5) ·被访问的schema对象名
6) ·尝试的操作
7) ·操作的完整代码
8) ·日期和时间戳
若审计记录存储在外部操作文件中,则该文件可能包含以下信息:
1) ·操作系统产生的审计记录
2) ·数据库的审计记录
3) ·被审计到的数据库操作
4) ·超级管理员(SYS)的审计记录
其中,被写到文件中的审计记录是以编码的方式存储的,如果要理解这些编码所对应的信息,可以查询以下数据字典表:
编码信息数据字典表
-------------------------------
数据库操作代码表示尝试的操作。它的相关描述可以从数据字典表AUDIT_ACTIONS表中查询到
操作所使用的权限可以在字典表SYSTEM_PRIVILEGE_MAP中查询到对应的说明
完整的操作代码操作成功时将返回0,失败时返回相关oracle错误信息,错误信息码所对应的说明可以从oracle官方文档中获得
--------------------------------
五、缺省的审计
不论当前是否已经开启的审计功能,数据库都会把一些数据库相关的操作写入外部审计文件中(注意:不是写入SYS.AUD$表),这些被缺省审计的操作是:
1) ·以超级管理员权限对数据库的连接(connectASSYSDBA或connectASSYSOPER)
2) ·数据库启动
3) ·数据库停止
六、对超级管理员用户的操作行为的审计
超级管理员用户指的是以ASSYSDBA或ASSYSOPER方式连接数据库的用户。初始化参数AUDIT_SYS_OPERATIONS用来指定是超级管理员的审计选项,如果将AUDIT_SYS_OPERATIONS设置为TRUE,那么所有超级管理员的操作都将被审计,而不管当前是否有开启审计功能,而且所有的审计信息都被写入外部审计文件中(注意:不是写入SYS.AUD$表)。
七、执行审计
1.设定审计记录的存放位置
初始化参数AUDIT_TRAIL指定了审计记录的存放位置,该参数有三个取值:
1) ·DB审计记录存放在数据库的SYS.AUD$表中
2) ·OS审计记录存放在外部的操作系统文件中
3) ·NONE关闭审计(缺省值)
初始化参数AUDIT_FILE_DEST指定了当审外部审记文件目标存储路径,其缺省值是$ORACLE_HOME/rdbms/audit
2.审计选项
这个审计选项指的是执行审计的AUDIT语句的可选项。AUDIT语句的语法请参考oracle官方SQL参考。
3.以实例说明审计
a.审计某用户的会话的创建与结束
AUDITSESSIONBYscott,fey;
b.审计所有用户的会话的创建与结束
AUDITSESSION;
c.审计删除表的操作
AUDITDELETEANYTABLE;
c.审计删除表的操作(限制:只审计删除失败的情况)
AUDITDELETEANYTABLEWHENEVERNOTSUCCESSFUL;
d.审计删除表的操作(限制:只审计删除成功的情况)
AUDITDELETEANYTABLEWHENEVERSUCCESSFUL;
e.审计删除表的操作(限制:同一个会话中相同的操作语句只审计一次)
AUDITDELETEANYTABLEBYSESSION;
(注:对于这种情况,如果审计记录被设定为存储在外部文件中时,这个效果是体现不出来的,因为oracle无法判断是否已经审计过相同的操作语句。)
f.审计删除表的操作(限制:每支删除语句都审计,不论同一会话中是否有多条相同的操作语句)
AUDITDELETEANYTABLEBYACCESS;
g.审计对fey.employee表的delete操作
AUDITDELETEONfey.employee;
h.审计对fey.employee表的delete、updet、insert操作
AUDITDELETE,UPDATE,INSERTONfey.employee;
八、停止审计
停止审计使用NOAUDIT语句,该语句的语法请参考oracle官方SQL参考。下面以实例说明NOAUDIT的使用:
a.停止所有对会话的创建与结束的审计
NOAUDITSESSION;
b.停止对用户fey,scott的会话的创建与结束的审计
NOAUDITSESSIONBYfey,scott;
c.停止审计删除表的操作
NOAUDITDELETEANYTABLE;
c.停止审计删除表的操作(限制:停止审计删除失败的情况)
NOAUDITDELETEANYTABLEWHENEVERNOTSUCCESSFUL;
d.停止审计删除表的操作(限制:停止审计删除成功的情况)
NOAUDITDELETEANYTABLEWHENEVERSUCCESSFUL;
g.停止审计对fey.employee表的delete操作
NOAUDITDELETEONfey.employee;
h.停止审计对fey.employee表的delete、updet、insert操作
NOAUDITDELETE,UPDATE,INSERTONfey.employee;
<p class="MsoNormal" style="text-align: le
相关推荐
Oracle数据库审计功能的安全审计获取技术.doc
Oracle数据库审计方法的探讨.pdf
基于关联规则挖掘的Oracle数据库审计分析系统的设计.pdf
审计(Audit)用于监视用户所执行的数据库操作,并且Oracle会将审计跟踪结果存放到OS文件(默认位置为$ORACLE_BASE/admin/$ORACLE_SID/adump/)或数据库(存储在system表空间中的 SYS.AUD$表中,可通过视图dba_audit_...
Oracle数据库自身没有针对安全审计数据的分析工具,为了改进与完善Oracle当前安全审计机制,采用了数据挖掘技术,将数据挖掘技术应用至Oracle数据库安全审计中来,对数据库的记录特点进行分析,通过审计记录的分析,提出了...
第十三章:数据库审计 audit 第十四章:数据装载 SqlLoader 第十五章:Oracle 网络 第三部分:管理Oracle数据库 第十六章:Oracle ASM 管理 第十七章:逻辑备份与恢复 第十八章:物化视图。 由于文件过大,只提供...
oracle开启audit(审计)的详细过程.
.net远程连接Oracle数据库打开Oracle审计的方法以及文章中使用的命令和详细截图,数据库管理工具等
查找访问orcale数据库用户名称或IP地址
课程想以介绍了Oracle认证体系,详细带领同学们进行Oracle实战环境搭建,Oracle体系结构,Oracle数据库创建于安装,管理ASM实力实战,数据并发与控制,实施oracle数据库的审计,数据库的性能管理,备份恢复与数据库...
初识ORACLE数据库的审计功能.doc
基于Oracle数据库安全审计方法的研究.pdf
附件: 数据库审计系统需求说明 序号 指标项 具体要求 1 硬件指标 标准机架式设备,不少于 6个1000M电口,不少于 2个SFP光口(带SFP模块), 具备独立的管理口和 HA 口;可用磁盘空间不小于 2T;吞吐能力》2000M峰值处...
初识ORACLE数据库的审计功能.docx
分享视频教程——Oracle数据库系统工程师培训(内存结构、物理结构、备份和恢复、安全审计、性能调优),该课程系统详细的介绍了Oracle数据库的整个过程,让您从基础入门到精通,贯穿整个学习。
利用Oracle审计功能记录数据库操作.doc
unified auditing ,oracle 12c 以后开启归档的方法。包括了开启,关闭,rman,DML审计
Oracle审计功能,有利于你对审计功能的了解
基于SQL和表设计的Oracle数据库开发审计研究.pdf