一.审计的概念

审计是监视和记录用户对数据库所进行操作,以供DBA进行统计和分析。利用审计可以完成下列任务

保证用户能够对自己在数据库中的活动负责。

禁止用户在数据库中从事于自己职责不相符的活动

调查数据库中的可疑活动

通知审计员一个未授权用户在数据库中的活动

监视和收集特定数据库活动的数据

二.审计的分类

语句审计:对特定的SQL语句进行审计,不指定具体对象

权限审计:对特定的权限使用情况进行审计

对象审计:对特定的模式对象上执行的特定语句进行审计

网络审计:对网络协议错误与网络层内部错误进行审计

三.审计环境设置

使用数据库的审计功能,数据库管理员需要对数据库初始化参数 AUDIT_TRAIL进行设置。

主要的取值有

DB:默认值,表示启动审计功能,审计信息写入SYS.AUD$数据库字典中

DB EXTENDED:与DB相同,审计信息中还包含SQL语句绑定变量信息

OS:表示启动审计功能,审计信息写入操作系统文件。如果要对SYS用户的活动进行审计,还要将初始化参数AUDIT_SYS_OPERATIONS的值设为true

XML:表示启动审计功能,审计信息写入XML格式的操作系统文件中。

XML EXTENDED:与XML相同,但审计信息中还包括SQL语句绑定变量信息。

NONE:表示不启动审计功能。

初始化参数AUDIT_TRAIL是静态参数,所有,修改后要重新启动数据库。

四.语句审计

可以审计某个用户或者所有用户的SQL语句

可以是会话审计或者存取审计

可以对成功执行的SQL语句进行审计

可以对没有成功执行的SQL语句进行审计

可以对SQL语句进行审计,无论该语句是否成功执行。

语法:

AUDIT sql_statement_shortcut|ALL|[ALL STATEMENTS]

[BY user_list]|[IN SESSION CURRENT][BY SESSION|ACCESS]

[WHENEVER [NOT]  SUCCESSFUL]

五.权限审计

语法

AUDIT system_privilege |[ALL PRIVILEGES]

[BY user_list]|[IN SESSION CURRENT] [BY SESSION |ACCESS]

[WHENEVER [NOT] SUCCESSFUL]

例 :audit create any table by scott;

如果要取消,则

noaudit create any table by scott;

六.对象审计

AUDIT sql_statement |ALL ON [schema.]object

[BY user_list] | [IN SESSION CURRENT]

[BY SESSION | ACCESS] [WHENEVER [NOT] SUCCESSFUL]

例:

SQL> audit select ,update on scott.emp by access;

七.网络审计

网络审计是指对协议错误与网络层内部错误进行审计。

语法为

AUDIT NETWORK [BY SESSION |ACCESS] [WHENEVER [NOT ] SUCCESSFUL]

对当前的网络进行审计

audit netword  by access;

八 .精细审计

精细审计是Oracle 11g数据库的新特性,可以对表或视图上执行的select\insert、update 、delete操作创建审计策略,并通过dbma_fga包对审计策略进行管理

Oracle数据安全(五)审计的更多相关文章

  1. 行云管家 V4.7产品新特性-国际化版本、支持Oracle的数据库审计、主机密码自动修改策略 发布日期:2018-11-22

    行云管家在线体验: 行云管家[官网]-领先的云计算管理平台-云安全,堡垒机,自动化运维​ 行云管家新手有礼活动: 行云管家新手有礼,新用户1元即可体验专业版-优惠券​ 发布日期:2018-11-22 ...

  2. Oracle数据安全解决方案(1)——透明数据加密TDE

    Oracle数据安全解决方案(1)——透明数据加密TDE2009年09月23日 22:49:00 华仔爱技术 阅读数:7991原文地址: http://www.oracle.com/technolog ...

  3. [转帖]Oracle数据安全--校验Oracle安装软件的 SHA码 防范注入风险

    Oracle数据安全--校验Oracle安装软件的 SHA码 防范注入风险 https://www.toutiao.com/i6723512458482303499/ certutil md5sums ...

  4. Java基础——Oracle(五)

    一.Oracle  中的分页 1) select * from emp; 2)select * ,rownum from emp; //这样写不行 3)select ename,job,sal,row ...

  5. Oracle数据安全(四)j角色管理

    一.角色管理的概述 1.角色的概念 为了简化数据库权限的管理,在Oracle数据库中引入了角色的概念.所谓的角色就是一系列相关权限的集合. 2.角色的特点 在数据库中,角色的名称必须是唯一的,不能与用 ...

  6. Oracle数据安全(三)权限管理

    一.权限概述 所谓权限就是执行特定类型SQL命令或访问其他模式对象的权利.用户在数据库中可以执行什么样的操作,以及可以对哪些对象进行操作,完全取决于该用户所拥有的权限. 在Oracle中将权限分为系统 ...

  7. oracle数据库(五)

    PL/SQL基础 PL/SQL语言是对oracle数据库语言的扩展,是一种高性能的基于处理事务的语言,能运行在任何oracle环境中,支持所有数据处理命令,支持所有SQL数据类型和函数,支持所有ora ...

  8. oracle表ddl审计

    ============= 表ddl 审计============== 1.table信息 SQL> select * from test; ID CUST_CREDIT_LIMIT TIME ...

  9. Oracle数据库五种约束

    oracle 数据库 数据表的5个约束类型:1.主键约束2.外键约束3.唯一约束4.检查约束5.非空约束 主键约束:用来唯一标示表中的一个列,一个表中的主键约束只能有一个,但是可以在一个主键约束中包含 ...

随机推荐

  1. 第一百六十节,封装库--JavaScript,ajax注册表单到数据库

    封装库--JavaScript,ajax注册表单到数据库 效果图 前台js var biaodan = $().xu_lie_biao_dan($('form').sh_jd()); //序列化获取表 ...

  2. 20个JS 小技巧超级实用

    1. 将彻底屏蔽鼠标右键 oncontextmenu=”window.event.returnValue=false” < table border oncontextmenu=return(f ...

  3. linux配置sftp用户的chroot步骤(用户的sftp根文件夹)

    1.编辑ssh中的sftp的配置,命令可能是:vi /etc/ssh/sshd_config 在这个文件里最后增加 #限制sftp组的用户使用sftp时在自己的home文件夹下 Match Group ...

  4. hdu 1754 I Hate It(线段树之 单点更新+区间最值)

    I Hate It                                                                             Time Limit: 90 ...

  5. Spring配置dataSource的三种方式 数据库连接池

    1.使用org.springframework.jdbc.dataSource.DriverManagerDataSource 说明:DriverManagerDataSource建立连接是只要有连接 ...

  6. bnuoj 34990(后缀数组 或 hash+二分)

    后缀数组倍增算法超时,听说用3DC可以勉强过,不愿写了,直接用hash+二分求出log(n)的时间查询两个字符串之间的任意两个位置的最长前缀. 我自己在想hash的时候一直在考虑hash成数值时MOD ...

  7. Kotlin——高级篇(五):集合之常用操作符汇总

    在上一篇文章Kotlin--高级篇(四):集合(Array.List.Set.Map)基础中讲解到了数组Array<T>.集合(List.Set.Map)的定义与初始化.但是由于篇幅的原因 ...

  8. 【BZOJ3207】花神的嘲讽计划Ⅰ Hash+主席树

    [BZOJ3207]花神的嘲讽计划Ⅰ Description 背景 花神是神,一大癖好就是嘲讽大J,举例如下: “哎你傻不傻的![hqz:大笨J]” “这道题又被J屎过了!!” “J这程序怎么跑这么快 ...

  9. 慎用System.Web.HttpContext.Current

    每当控制流离开页面派生的Web表单上的代码的时候,HttpContext类的静态属性Current可能是有用的. 使用这个属性,我们可以获取当前请求(Request),响应(Response),会话( ...

  10. android studio 运行是,app标题栏不显示

    解决办法:让所有的活动都继承 AppCompatActivity就行了,如: public class FirstActivity extends AppCompatActivity{ ... }