oracle开源数据库审计,oracle数据库审计
一、何谓数据库审计?
数据库审计,就是对数据库的活动做跟踪记录,主要包括数据库连接,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;
九、对审计记录表SYS.AUD$的管理
当SYS.AUD$表的审计记录越来越多的时候,以至达到存储极限时,会因为审计记录无法写入而产生错误。或许我还也需要对该表的数据进行一些转储或者碎片的整理,或是删除一些我们认为不再需要的审计记录。这些都是要考虑的事情。下面给出一个对该表进行存储碎片的整理的一个方法:
a.将该表的数据selectinto到另一个表中,或利用export导出到外部文件
b.truncate这张表(要以超级管理员登录才行)
c.再将原先转储的数据再加载进来。
也许我们需要对针对SYS.AUD$表的操作进行审计,如:AUDITINSERT,UPDATE,DELETEONsys.aud$BYACCESS;
十、Fine-Grained审计
如前面所述,审计的记录中并没有含操作所作用的数据,比如说,需要审计针对一个表的select,而且需要在审计记录中包含select语句所返回的数据。这时,就需要用到Fine-Grained审计。Fine-Grained审计是基于oracle的事件,其原理是在insert,update或delete相关的事件中截取相关的数据。属于orale程序开发的范畴。具体可以参考相关oracle文檔。
十一、审计相关的数据字典视图
STMT_AUDIT_OPTION_MAP
AUDIT_ACTIONS
ALL_DEF_AUDIT_OPTS
DBA_STMT_AUDIT_OPTS
DBA_PRIV_AUDIT_OPTS
DBA_OBJ_AUDIT_OPTS
USER_OBJ_AUDIT_OPTS
DBA_AUDIT_TRAIL
USER_AUDIT_TRAIL
DBA_AUDIT_OBJECT
USER_AUDIT_OBJECT
DBA_AUDIT_SESSION
USER_AUDIT_SESSION
DBA_AUDIT_STATEMENT
USER_AUDIT_STATEMENT
DBA_AUDIT_EXISTS
DBA_AUDIT_POLICIES
DBA_FGA_AUDIT_TRAIL
各视图的详细说明请参考oracle官方参考手册
oracle开源数据库审计,oracle数据库审计相关推荐
- mysql和oracle 开源_MySQL和oracle比较
1.判断字符串为空串 --Mysql:在MySQL中,空值(Null)与空字符('')是不相同的 select '' is null; +------------+ | '' is null | +- ...
- oracle10 数据库审计,Oracle数据库审计用法实例
本节是从ORACLE METALINK的DOC:167293.1翻译整理而来的.通过举例的方式来说明ORACLE审计的用法.ORACLE的审计可以从语句级.对象 本节是从Oracle METALINK ...
- oracle数据库登录审计,oracle数据库审计
一.何谓数据库审计? 数据库审计,就是对数据库的活动做跟踪记录,主要包括数据库连接,SQL语句执行,数据库对象访问这些方面的跟踪记录. 二.审记记录的存储方式 分为两种:一种是存储在操作系统文件中,一 ...
- 数据库oracle审计,Oracle数据库审计策略
Oracle数据库审计策略 Oracle数据库默认是关闭审计的,一旦开启了会对oracle数据库的性能产生影响. Oracle默认安装后审计策略设置 默认情况下,审计策略是关闭的,而且审计记录存储的模 ...
- 使用oracle数据库审计,Oracle数据库审计功能详解
一.审计分类: Oracle中审计总体上可分为"标准审计"和"细粒度审计"后者也称为"基于政策的审计",在Oracle10G之后功能得到很大 ...
- oracle数据库审计os,审计Oracle数据库的使用
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 仅使用权限.角色.视图.甚至细粒度安全策略建立访问控制系统还不能保证数据 ...
- oracle同步数据adg_数据库周刊31丨华为openGauss 正式开源;7月数据库排行榜发布......
墨天轮数据库周刊第31期发布啦,每周1次推送本周数据库相关热门资讯.精选文章.干货文档. 热门资讯 1.openGauss 正式开源,华为公开发布源代码 [摘要]6月1日,华为正式宣布开源数据库能力, ...
- Oracle中如何记录访问数据库的登录信息?
曾有同学问过,能不能知道都有谁登陆过Oracle数据库, 碰巧看到老杨的这篇历史文章<Oracle中如何记录访问数据库的登陆信息>,介绍了几种实现这个需求的方案,学习一下. 1. 有哪些审 ...
- 在oracle的安全策略中,Oracle数据库的安全策略(转)
Oracle数据库的安全策略(转)[@more@]Oracle是关系型数据库管理系统,它功能强大.性能卓越,在当今大型数据库管理系统中占有重要地位.在我们开发的一MIS系统中,选用了Oracle7.3 ...
最新文章
- Linux根文件系统的文件镜像,构建小型Linux根文件系统镜像
- linux里grep和egrep,fgrep的区别
- 手上红白点的中药药方
- php树形数据结构是什么,数据结构 之 树
- Region使用全解
- 火力全开,同时分解(切脸)多个视频
- win7下载原型软件Axure
- django使用kindeditor上传图片问题
- socket里sendto()函数
- 2020年个人所得税计算方法(附带计算器)
- 抛物线公式即辛卜生(Simpson)公式的数值积分的Python程序
- dbt(data build tool) is an open source data transformation, and using Jinji templating
- Ansible最佳实践之委派任务和事实
- 如何全面的理解APS自动排产系统?
- Faster-rcnn中Anchor的理解
- 计算机毕业设计ssm大学生科技活动报名系统2h1ir系统+程序+源码+lw+远程部署
- android crash监控系统,Android-Crash监控
- 西部数码建站助手无法启动mysql_西部数码使用指南:网站管理助手打开报错检查...
- RK3229方案测评 RK3299方案设计定制 RK3299方案开发板 RK3229智能音响
- 计算机应用与软件样刊给几本,计算机应用与软件杂志
热门文章
- android 解决图片替换之后没有更新图片
- 当有人知道你的愿望想帮你实现你会是怎样
- openlayers4 入门开发系列之风场图篇
- Windows远程桌面连接cpolar
- 【小贴士】合肥工业大学计科与物联网本科毕业设计“外文翻译”tips
- 加载elementor时出现问题_禁止elementor插件加载谷歌字体
- 输出数组中数字排名(不允许并列排名)
- 电脑常识Typora配置阿里云图床
- linux7防火墙端口映射,使用centos7防火墙firewall实现端口映射,实现远程内网3389桌面...
- bootsect.s 解读——Linux-0.11 剖析笔记(二)