oracle-审计3

原创 2012年03月30日 09:26:41

五、管理对象审计:
/*

针对具体的一个对象进行审计不能对一个用户进行审计。
包括select、delete、update、insert、excute对象特权。

*/

--5.1 启用对象审计

/*
环境准备:
SQL> create user win identified by password quota 100m on users;

用户已创建。

SQL> grant create session, create table to win;

授权成功。


SQL> conn win
输入口令:
已连接。
SQL> create table accp
  2  (
  3  sid int
  4  );

表已创建。

SQL> insert into accp values (1001);

已创建 1 行。

SQL> select * from accp;

       SID
----------
      1001

SQL> commit;

 


*/

 


--案例1:使用select审计

--步骤1:查看启用的对象scott.emp审计选项

select owner, object_name,object_type, ins,sel from
dba_obj_audit_opts
where owner='WIN'
and object_name='ACCP';

未选定行

--步骤2:开启审计对象

SQL> show user
USER 为 "SYS"

SQL> audit select on win.accp  ;

审计已成功。

--步骤3:查看启用的对象scott.emp审计选项

select owner, object_name,object_type, ins,sel from
dba_obj_audit_opts
where owner='WIN'
and object_name='ACCP';


OWNER                          OBJECT_NAME                    OBJECT_TYPE       INS   SEL
------------------------------ ------------------------------ ----------------- ----- -----
WIN                            ACCP                           TABLE             -/-   S/S


/*

******如果步骤2中使用的by access则结果如下:

OWNER                          OBJECT_NAME                    OBJECT_TYPE       INS   SEL
------------------------------ ------------------------------ ----------------- ----- -----
WIN                            ACCP                           TABLE             -/-   A/A

*/

--步骤4:让用户对对象进行操作

SQL> grant select on win.accp to scott;  --授权让用户scott可以查看用户win的表accp

授权成功。


SQL> conn scott/tiger
已连接。
SQL> select * from win.accp;

       TID
----------
      1001

 

--步骤5:检查审计跟踪

SQL> conn sys as sysdba
输入口令:
已连接。

select username, to_char(timestamp,'yyyy:mm:dd:hh') time, action_name from dba_audit_trail
where username='SCOTT';


USERNAME                       TIME          ACTION_NAME
------------------------------ ------------- ------------------
SCOTT                          2008:10:29:02 SESSION REC


/**********如果步骤2中使用的是by access则该步结果如下:


USERNAME                       TIME          ACTION_NAME
------------------------------ ------------- ----------------------------
SCOTT                          2008:10:29:03 SELECT

 

*/


--步骤6:清空审计记录


SQL> delete  from sys.aud$  ;

 

--案例2:使用insert审计


--步骤1:查看启用的对象scott.emp审计选项

select owner, object_name,object_type, ins,sel from
dba_obj_audit_opts
where owner='WIN'
and object_name='ACCP';

未选定行

--步骤2:开启审计对象

SQL> audit insert on win.accp;

审计已成功。

--步骤3:查看启用的对象scott.emp审计选项

select owner, object_name,object_type, ins,sel from
dba_obj_audit_opts
where owner='WIN'
and object_name='ACCP';


OWNER                          OBJECT_NAME                    OBJECT_TYPE       INS   SEL
------------------------------ ------------------------------ ----------------- ----- -----
WIN                            ACCP                           TABLE             S/S   -/-


/*

******如果步骤2中使用的by access则结果如下:

OWNER                          OBJECT_NAME                    OBJECT_TYPE       INS   SEL
------------------------------ ------------------------------ ----------------- ----- -----
WIN                            ACCP                           TABLE             A/A   -/-

*/

 

--步骤4:让用户对对象进行操作

SQL> grant insert on win.accp to scott;  --授权让用户scott可以查看用户win的表accp

授权成功。


SQL> conn scott/tiger
已连接。
SQL> select * from win.accp;

       SID
----------
      1001

SQL> insert into win.accp values (1002);

已创建 1 行。

SQL> select * from win.accp;

       SID
----------
      1001
      1002

 

--步骤5:检查审计跟踪

SQL> conn sys as sysdba
输入口令:
已连接。

select username, to_char(timestamp,'yyyy:mm:dd:hh') time, action_name from dba_audit_trail
where username='SCOTT';


USERNAME                       TIME          ACTION_NAME
------------------------------ ------------- ------------------
SCOTT                          2008:10:29:02 SESSION REC

 


/**********如果步骤2中使用的是by access则该步结果如下:


USERNAME                       TIME          ACTION_NAME
------------------------------ ------------- ----------------------------
SCOTT                          2008:10:29:03 INSERT


*/


--步骤6:清空审计记录


SQL> delete  from sys.aud$  ;

 


----------------------------------------------------------------------------------------
****************************************************************************************
七、管理精细审计:
****************************************************************************************
----------------------------------------------------------------------------------------

--7.1 环境准备

/*

SQL> show user
USER 为 "SYS"

create user win identified by password
quota 100m on users;

grant create session to win;


SQL> conn scott/tiger
已连接。
SQL> show user
USER 为 "SCOTT"


create table accp
(
sid int,
sno int
)
go

insert into accp values (1001,2001);


SQL> conn sys/password as sysdba
已连接。

SQL> show user
USER 为 "SYS"

grant select on scott.accp to win;


*/


---7.2 案例演示:


--(1) 查询数据库中存在的FGA策略

select policy_name, object_schema ,policy_name, policy_column, enabled, audit_trail
from dba_audit_policies;

未选定行

 

 


--(2)新建FGA策略noselect

begin
dbms_fga.add_policy(object_schema=>'scott'
,object_name=>'accp'
,policy_name=>'noselect'
,audit_column=>'sid'
,enable=>false
,statement_types=>'select,update,delete'
);
end
;
/

--(3) 查询数据库中存在的FGA策略

select policy_name, object_schema ,policy_name, policy_column, enabled, audit_trail
from dba_audit_policies;


POLICY_NAME     OBJECT_SCHEMA     POLICY_NAME      POLICY_COLUMN     ENABLED    AUDIT_TRAIL
-------------------------- ------------------------------ ------------------------------ ---
NOSELECT        SCOTT             NOSELECT          SID                NO    DB+EXTENDED

 

 


-- (4) 启用FGA策略并查看数据库中存在的FGA策略
begin
dbms_fga.enable_policy(object_schema=>'scott'
,object_name=>'accp'
,policy_name=>'noselect'
);
end
;
/


select policy_name, object_schema ,policy_name, policy_column, enabled, audit_trail
from dba_audit_policies;

POLICY_NAME     OBJECT_SCHEMA     POLICY_NAME      POLICY_COLUMN     ENABLED    AUDIT_TRAIL
-------------------------- ------------------------------ ------------------------------ ---
NOSELECT        SCOTT             NOSELECT          SID               YES   DB+EXTENDED

 


--(5) 查看FGA策略跟踪报表
SQL> select db_user, timestamp, userhost from dba_fga_audit_trail where policy_name='NOSELECT';

未选定行


-- (6) win用户操作

SQL> conn win/password
已连接。
SQL> show user
USER 为 "WIN"


select * from scott.accp;

 

 


--(7) 查看FGA策略跟踪报表

SQL> select db_user, timestamp, userhost from dba_fga_audit_trail where policy_name='NOSELECT';

DB_USER                        TIMESTAMP   USERHOST
------------------------------ ----------- --------------------------------------------------------------------------------
SCOTT                          2008-10-29  WORKGROUP\NANJING

 


--(8) 停用FGA策略并检查数据库存在的策略

begin
dbms_fga.disable_policy(object_schema=>'scott'
,object_name=>'accp'
,policy_name=>'noselect'
);
end
;
/


select policy_name, object_schema ,policy_name, policy_column, enabled, audit_trail
from dba_audit_policies;

POLICY_NAME     OBJECT_SCHEMA     POLICY_NAME      POLICY_COLUMN     ENABLED    AUDIT_TRAIL
-------------------------- ------------------------------ ------------------------------ ---
NOSELECT        SCOTT             NOSELECT          SID               NO  DB+EXTENDED

 


--(9) 删除FGA策略并查看数据库是否还存在这个FGA策略

begin
dbms_fga.drop_policy(object_schema=>'scott'
,object_name=>'accp'
,policy_name=>'noselect'
);
end
;
/


select policy_name, object_schema ,policy_name, policy_column, enabled, audit_trail
from dba_audit_policies;

未选定行

 

版权声明:日常札记,乐于分享

为什么需要日志审计系统

在很多企业环境中,日志没有得到重视。日志往往在日常工作中被完全忽视,仅仅在磁盘空间不足的时候才会引起人们的注意。而在这个时候它们往往未经查看就被删除了。...
  • zhulinu
  • zhulinu
  • 2015年11月10日 13:11
  • 6738

如何选择日志审计系统

【摘要】本文分析了日志审计的需求,并针对日志审计系统的选型给出了一套基本的评价指标。 日志审计系统的需求分析 日志很早就有,日志对于信息安全的重要性也早已众所周知,但是对日志的真正重视却是...
  • zhulinu
  • zhulinu
  • 2014年03月19日 19:03
  • 5111

Hadoop审计日志配置[转自 AIMP平台wiki]

Hadoop审计日志配置 hdfs审计 log4j.properties 中配置(缺省就包含) hdfs.audit.logger=INFO,NullAppender hdfs.audit....
  • u011281987
  • u011281987
  • 2014年06月11日 10:35
  • 4298

快速的Android漏洞的审计工具

Quick Android Review Kit -这个工具的目的是寻找一些与安全相关的Android应用程序的漏洞,无论是源代码还是打包的APK。 使用方法 在互动模式下运行: ...
  • KasthSoft
  • KasthSoft
  • 2016年10月21日 09:57
  • 572

linux的审计功能(audit)

为了满足这样的需求:记录文件变化、记录用户对文件的读写,甚至记录系统调用,文件变化通知。 什么是audit The Linux Audit Subsystem is a system to Col...
  • wh8_2011
  • wh8_2011
  • 2016年10月03日 21:48
  • 7679

【工控安全产品】工控网络审计与监测系统

简介工控监控与审计系统,是通过对流量进行分析,专门针对工业控制网络的信息安全审计系统。它采用旁路部署,对工业生产过程“零风险”,基于对工业控制协议(如IEC104、S7、DNP3、Modbus TCP...
  • wzhqazcscs
  • wzhqazcscs
  • 2017年04月09日 17:29
  • 1028

Excel用得好,审计工作量至少可以降低20%以上啊。

一、本人实务工作中常用函数 1、Subtotal函数(对过滤后的数据进行加总),如 SUBTOTAL(9,B12:B24)(统计过滤后的数值之和,9代表 sum ,B12:B24代表要求和的列。2、...
  • rongwenbin
  • rongwenbin
  • 2014年04月21日 10:27
  • 1205

mysql审计插件(运维不在背锅)

mysql审计插件弥补了社区版审计插件的空白 mysql审计插件,根据业务需求精心编写的,审计粒度很细,具体用户的具体表的具体操作,操作影响的行数都可以审计,确保数据库安全透明的运行,运维DBA再...
  • heizistudio
  • heizistudio
  • 2016年03月22日 13:20
  • 4793

Oracle Database标准审计和细粒度审计功能

这篇文章主要简单的讨论一下Oracle的审计功能,包括粗粒度审计、细粒度审计(FGA) 一.粗粒度审计功能。 1.审计级别: 语句级审计(stmt):表示只审计某种类型的SQL语句,...
  • xuzhenxiang
  • xuzhenxiang
  • 2016年05月11日 14:53
  • 1439

linux日志服务器审计客户端history记录

需求  将每台服务器上的每个用户执行的命令、执行时间、登录时间、主机ip、当前切换用户等信息保存到本地并实时传输至日志服务器进行异地保存。 IP hostname 角色 10.10.99...
  • yanggd1987
  • yanggd1987
  • 2017年04月20日 11:48
  • 974
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle-审计3
举报原因:
原因补充:

(最多只允许输入30个字)