oracle的审计功能

简介:

oracle审计主要用于记录用户对数据库所做的操作,基于配置的不同,审计的结果会放在操作系统文件中或者系统表中,默认情况下,使用管理员权限连接实例,开启及关闭数据库是会强制进行审计的,其它的基础的操作则没有进行审计,在一些安全性要求比较高的环境是需要做一些审计的配置的,下文简单介绍一下oracle中审计的配置方法,几种审计方法的不同,以及如何对管理员进行审计.
一。oracle中审计的配置:
1.审计相关的三个重要参数:
 a.audit_file_dest:指定审计文件存放的位置:
 b.audit_trail:指定审计的类型:
   none:为系统默认值,不进行审计
   DB:将审计结果放在数据库表中,aud$,通常只记录连接的信息.
   DB_EXTENDED:将审计结果放在数据库表中,记录具体执行语句
   OS:将审计结果记录在操作系统文件中,文件位置由audit_file_dest参数指定,(windows系统中将直接在事件查看器的系统日志中记录)
   XML:将审计结果记录在audit_file_dest指定位置下的XML文件中。
 c.audit_sys_operations:是否对sysdba用户做审计 ,关于sysdba用户审计的结果,linux存放在audit_file_dest参数指定位置的aud文件中,windows存放在事件查看器的系统日志中 

 2.审计的级别:
  开启审计后,可在statement语句、privilege权限和object对象级别对数据库进行审计。
  a.statement:按语句来审计如audit table xxx;
  b.privilege:按权限来审计,如audit select any table
  c.object:按对象来审计,如audit all on hr.employees by HR,只会对hr用户对employees表执行的操作做审计
  
  3.审计的其它相关选项:
  by access 每个被审计的操作都会生成一条记录
  by session 默认值,每个会话里同类型操作只会生成一条audit trail
  whenever successful:操作成功才审计
  whenever not successful:操作不成功才审计
  
  4.查询审计结果的视图
  dba_audit_trail:查看所有的普通审计记录
  dba_fga_audit_trail:查看所有细粒度审计记录
  sys.aud$审计结果实际存放的系统表
  
  5.取消审计: noaudit select any table 
  
  6.开启审计方法
  a.查看参数
  SQL> show parameter audit

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest                      string      /u01/oracle/product/admin/orcl
                                                 /adump
audit_sys_operations                 boolean     FALSE
audit_syslog_level                   string
audit_trail                          string      NONE
b.设置审计类型并重启数据库
SQL> alter system set audit_trail = db_extended scope=spfile;

System altered.
c.审计用户对表操作
SQL> audit table ;

Audit succeeded.
d.切换用户后创建表
SQL> connect test/test@1.1.1.12/orcl
Connected.
SQL> create table audtest (id int);

Table created.
e.管理员登录查看审计结果
SQL> connect sys/oracle@1.1.1.12/orcl as sysdba
Connected.
SQL> select username,sql_text from dba_audit_trail;

USERNAME
------------------------------
SQL_TEXT
--------------------------------------------------------------------------------
TEST
create table audtest (id int)
f.审计系统管理员操作
SQL> alter system set audit_sys_operations= true scope=spfile;

System altered.
SQL> connect sys/oracle@1.1.1.12/orcl as sysdba
Connected.
SQL> create table systest (id int);

Table created.
SQL> connect sys/oracle@1.1.1.12/orcl as sysdba
Connected.
SQL> create table systest (id int);

Table created.

SQL> create table systest1 (id int);

Table created.
g.查看系统管理员审计结果
Audit file /u01/oracle/product/admin/orcl/adump/ora_5895.aud
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
ORACLE_HOME = /u01/oracle/product/10.2/db1
System name:    Linux
Node name:      oracle1
Release:        2.6.9-55.ELsmp
Version:        #1 SMP Fri Apr 20 17:03:35 EDT 2007
Machine:        i686
Instance name: orcl
Redo thread mounted by this instance: 1
Oracle process number: 20
Unix process pid: 5895, image: oracleorcl@oracle1

Mon Mar 28 23:03:28 2011
ACTION : 'CONNECT'
DATABASE USER: 'sys'
PRIVILEGE : SYSDBA
CLIENT USER: Administrator
CLIENT TERMINAL: PC-20090718IUGM
STATUS: 0

Mon Mar 28 23:03:42 2011
ACTION : 'create table systest (id int)'
DATABASE USER: 'sys'
PRIVILEGE : SYSDBA
CLIENT USER: Administrator
CLIENT TERMINAL: PC-20090718IUGM
STATUS: 0

Mon Mar 28 23:08:09 2011
ACTION : 'create table systest1 (id int)'
DATABASE USER: 'sys'
PRIVILEGE : SYSDBA
CLIENT USER: Administrator
CLIENT TERMINAL: PC-20090718IUGM
STATUS: 0
"ora_5895.aud" 38L, 995C




     本文转自ttzztt 51CTO博客,原文链接:http://blog.51cto.com/tianzt/529827,如需转载请自行联系原作者



相关文章
|
SQL Oracle 关系型数据库
java实现oracle和mysql的group by分组功能|同时具备max()/min()/sum()/case when 函数等功能
java实现oracle和mysql的group by分组功能|同时具备max()/min()/sum()/case when 函数等功能
|
存储 SQL 负载均衡
达梦数据库与Oracle数据库:功能、性能和适用场景对比
数据库在现代信息技术领域中扮演着至关重要的角色。在企业级应用中,选择正确的数据库管理系统对于数据存储、处理和查询效率至关重要。本文将对比两个备受关注的数据库管理系统——达梦数据库和Oracle数据库,从功能、性能和适用场景等方面进行深入探讨,以帮助读者在选择合适数据库时做出明智的决策。
2770 1
|
编解码 Oracle 关系型数据库
安装增强功能失败:Could not mount the media/drive C:\Program Files\Oracle\VirtualBox/VBoxGuestAdditions.iso
安装增强功能失败:Could not mount the media/drive C:\Program Files\Oracle\VirtualBox/VBoxGuestAdditions.iso
420 0
安装增强功能失败:Could not mount the media/drive C:\Program Files\Oracle\VirtualBox/VBoxGuestAdditions.iso
|
Oracle 关系型数据库 Shell
|
Oracle 关系型数据库 Linux
oracle数据库exp命令导入导出dmp文件演示,oracle数据库备份还原功能
oracle数据库exp命令导入导出dmp文件演示,oracle数据库备份还原功能
394 0
oracle数据库exp命令导入导出dmp文件演示,oracle数据库备份还原功能
|
Oracle 关系型数据库 Linux
linux服务器oracle数据库导出dmp文件功能演示,备份数据库命令。exp命令显示command not found解决方法,EXP-00028: 无法打开dmp进行写入问题解决
linux服务器oracle数据库导出dmp文件功能演示,备份数据库命令。exp命令显示command not found解决方法,EXP-00028: 无法打开dmp进行写入问题解决
693 0
linux服务器oracle数据库导出dmp文件功能演示,备份数据库命令。exp命令显示command not found解决方法,EXP-00028: 无法打开dmp进行写入问题解决
|
Oracle 关系型数据库
oracle 数据回滚,恢复误删的数据,闪回表功能的使用
oracle 数据回滚,恢复误删的数据,闪回表功能的使用
1058 0
oracle 数据回滚,恢复误删的数据,闪回表功能的使用
|
Oracle 关系型数据库 数据库
oracle数据库impdp导入dmp文件功能演示,imp导入IMP-00038: Could not convert to environment character sets handle问题解决
oracle数据库impdp导入dmp文件功能演示,imp导入IMP-00038: Could not convert to environment character sets handle问题解决
898 0
|
Oracle 关系型数据库 测试技术
Oracle 数据库重放(Database Replay)功能演示
https://www.cnblogs.com/jyzhao/p/5072800.html 我们可以捕获生产环境的工作量,在测试环境上重放,从而在不影响生产环境的前提下做一些改动测试。捕获:需要Oracle版本为10.2.0.4或更高.重放:需要Oracle版本为11g Release 1或更新. 本文环境:RHEL6.4 + Oracle 11.2.0.4下面介绍一下执行Database Replay的Workflow。
1314 0
|
SQL Oracle 关系型数据库