ORACLE审计小结(7页).doc

上传人:1595****071 文档编号:36353917 上传时间:2022-08-26 格式:DOC 页数:7 大小:156.50KB
返回 下载 相关 举报
ORACLE审计小结(7页).doc_第1页
第1页 / 共7页
ORACLE审计小结(7页).doc_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《ORACLE审计小结(7页).doc》由会员分享,可在线阅读,更多相关《ORACLE审计小结(7页).doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-ORACLE审计小结-第 7 页1、什么是审计审计(Audit)用于监视用户所执行的数据库操作,并且Oracle会将审计跟踪结果存放到OS文件(默认位置为$ORACLE_BASE/admin /$ORACLE_SID/adump/)或数据库(存储在system表空间中的SYS.AUD$表中,可通过视图dba_audit_trail查 看)中。默认情况下审计是没有开启的。不管你是否打开数据库的审计功能,以下这些操作系统会强制记录:用管理员权限连接Instance;启动数据库;关闭数据库。2、和审计相关的两个主要参数Audit_sys_operations:默认为false,当设置为true时,

2、所有sys用户(包括以sysdba,sysoper身份登录的用户)的操作都会被记录,audit trail不会写在aud$表中,这个很好理解,如果数据库还未启动aud$不可用,那么像conn /as sysdba这样的连接信息,只能记录在其它地方。如果是windows平台,audti trail会记录在windows的事件管理中,如果是linux/unix平台则会记录在audit_file_dest参数指定的文件中。Audit_trail:None:是默认值,不做审计;DB:将audit trail 记录在数据库的审计相关表中,如aud$,审计的结果只有连接信息;DB,Extended:这样审

3、计结果里面除了连接信息还包含了当时执行的具体语句;OS:将audit trail 记录在操作系统文件中,文件名由audit_file_dest参数指定;XML:10g里新增的。注:这两个参数是static参数,需要重新启动数据库才能生效。3、审计级别当开启审计功能后,可在三个级别对数据库进行审计:Statement(语句)、Privilege(权限)、object(对象)。Statement:按语句来审计,比如audit table 会审计数据库中所有的create table,drop table,truncate table语句,alter session by cmy会审计cmy用户所有

4、的数据库连接。Privilege:按权限来审计,当用户使用了该权限则被审计,如执行grant select any table to a,当执行了audit select any table语句后,当用户a 访问了用户b的表时(如select * from b.t)会用到select any table权限,故会被审计。注意用户是自己表的所有者,所以用户访问自己的表不会被审计。Object:按对象审计,只审计on关键字指定对象的相关操作,如aduit alter,delete,drop,insert on cmy.t by scott; 这里会对cmy用户的t表进行审计,但同时使用了by子句,

5、所以只会对scott用户发起的操作进行审计。注意Oracle没有提供对schema中所有 对象的审计功能,只能一个一个对象审计,对于后面创建的对象,Oracle则提供on default子句来实现自动审计,比如执行audit drop on default by access;后, 对于随后创建的对象的drop操作都会审计。但这个default会对之后创建的所有数据库对象有效,似乎没办法指定只对某个用户创建的对象有效,想比 trigger可以对schema的DDL进行“审计”,这个功能稍显不足。4、审计的一些其他选项by access / by session:by access 每一个被审计

6、的操作都会生成一条audit trail。 by session 一个会话里面同类型的操作只会生成一条audit trail,默认为by session。whenever not successful:whenever successful 操作成功(dba_audit_trail中returncode字段为0) 才审计,whenever not successful 反之。省略该子句的话,不管操作成功与否都会审计。5、和审计相关的视图dba_audit_trail:保存所有的audit trail,实际上它只是一个基于aud$的视图。其它的视图 dba_audit_session,dba_a

7、udit_object,dba_audit_statement都只是dba_audit_trail 的一个子集。dba_stmt_audit_opts:可以用来查看statement审计级别的audit options,即数据库设置过哪些statement级别的审计。dba_obj_audit_opts,dba_priv_audit_opts视图功能与之类似all_def_audit_opts:用来查看数据库用on default子句设置了哪些默认对象审计。6、取消审计将对应审计语句的audit改为noaudit即可,如audit session whenever successful对应的取

8、消审计语句为noaudit session whenever successful;7、10g中的审计告知一切Oracle 数据库 10g 审计以一种非常详细的级别捕获用户行为,它可以消除手动的、基于触发器的审计。假定用户 Joe 具有更新那张表的权限,并按如下所示的方式更新了表中的一行数据:update SCOTT.EMP set salary = 12000 where empno = 123456;您如何在数据库中跟踪这种行为呢?在 Oracle 9i 数据库及其较低版本中,审计只能捕获“谁”执行此操作,而不能捕获执行了“什么”内容。例如,它让您知道 Joe 更新了 SCOTT 所有的表

9、EMP,但它不会显示他更新了该表中员工号为 123456 的薪水列。它不会显示更改前的薪水列的值 要捕获如此详细的更改,您将不得不编写您自己的触发器来捕获更改前的值,或使用 LogMiner 将它们从存档日志中检索出来。细粒度审计(FGA) ,是在 Oracle 9i 中引入的,能够记录 SCN 号和行级的更改以重建旧的数据,但是它们只能用于 select 语句,而不能用于 DML ,如 update 、insert 和delete 语句。因此,对于 Oracle 数据库 10g 之前的版本,使用触发器虽然对于以行级跟踪用户初始的更改是没有吸引力的选择,但它也是唯一可靠的方法。8、实例讲解8.

10、1、激活审计SQL conn /as sysdbaSQL show parameter auditNAME TYPE VALUE- - -audit_file_dest string /u01/app/oracle/admin/ORCL/adumpaudit_sys_operations boolean FALSEaudit_syslog_level stringaudit_trail string NONESQL alter system set audit_sys_operations=TRUE scope=spfile; -审计管理用户(以sysdba/sysoper角色登陆)SQL a

11、lter system set audit_trail=db,extended scope=spfile;SQL startup force;SQL show parameter auditNAME TYPE VALUE- - -audit_file_dest string /u01/app/oracle/admin/ORCL/adumpaudit_sys_operations boolean TRUEaudit_syslog_level stringaudit_trail string DB, EXTENDED 8.2、开始审计SQL conn /as sysdbaSQL audit all

12、 on t_test;SQL conn u_testSQL select * from t_test;SQL insert into u_test.t_test (c2,c5) values (test1,2);SQL commit;SQL delete from u_test.t_test;SQL commit;SQL conn /as sysdbaSQL col DEST_NAME format a30col OS_USERNAME format a15col USERNAME format a15col USERHOST format a15col TERMINAL format a15

13、col OBJ_NAME format a30col SQL_TEXT format a60SQL select OS_USERNAME,username,USERHOST,TERMINAL,TIMESTAMP,OWNER,obj_name,ACTION_NAME,sessionid,os_process,sql_text from dba_audit_trail;sql audit select table by u_test by access;如果在命令后面添加by user则只对user的操作进行审计,如果省去by用户,则对系统中所有的用户进行审计(不包含sys用户).例:AUDIT

14、DELETE ANY TABLE; -审计删除表的操作AUDIT DELETE ANY TABLE WHENEVER NOT SUCCESSFUL; -只审计删除失败的情况AUDIT DELETE ANY TABLE WHENEVER SUCCESSFUL; -只审计删除成功的情况AUDIT DELETE,UPDATE,INSERT ON user.table by test; -审计test用户对表user.table的delete,update,insert操作8.3、撤销审计SQL noaudit all on t_test;9、审计语句多层环境下的审计:appserve-应用服务器,j

15、ackson-clientAUDIT SELECT TABLE BY appserve ON BEHALF OF jackson;审计连接或断开连接:AUDIT SESSION;AUDIT SESSION BY jeff, lori; - 指定用户审计权限(使用该权限才能执行的操作):AUDIT DELETE ANY TABLE BY ACCESS WHENEVER NOT SUCCESSFUL;AUDIT DELETE ANY TABLE;AUDIT SELECT TABLE, INSERT TABLE, DELETE TABLE, EXECUTE PROCEDURE BY ACCESS W

16、HENEVER NOT SUCCESSFUL;对象审计:AUDIT DELETE ON jeff.emp;AUDIT SELECT, INSERT, DELETE ON jward.dept BY ACCESS WHENEVER SUCCESSFUL;取消审计:NOAUDIT session;NOAUDIT session BY jeff, lori;NOAUDIT DELETE ANY TABLE;NOAUDIT SELECT TABLE, INSERT TABLE, DELETE TABLE,EXECUTE PROCEDURE;NOAUDIT ALL; - 取消所有statement审计N

17、OAUDIT ALL PRIVILEGES; - 取消所有权限审计NOAUDIT ALL ON DEFAULT; - 取消所有对象审计10、清除审计信息DELETE FROM SYS.AUD$;DELETE FROM SYS.AUD$ WHERE obj$name=EMP;11、审计视图STMT_AUDIT_OPTION_MAP - 审计选项类型代码AUDIT_ACTIONS - action代码ALL_DEF_AUDIT_OPTS - 对象创建时默认的对象审计选项DBA_STMT_AUDIT_OPTS - 当前数据库系统审计选项DBA_PRIV_AUDIT_OPTS - 权限审计选项DBA_

18、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 - session审计DBA_AUDIT_STATEMENT USER_AUDIT_STATEMENT - 语句审计DBA_AUDIT_EXISTS - 使用BY AUDIT NOT EXISTS选项的审计DBA_AUDIT_POLICIES - 审计POLICIESDBA_

19、COMMON_AUDIT_TRAIL - 标准审计+精细审计12、将审计结果表从system表空间里移动到别的表空间上实际上sys.aud$表上包含了两个lob字段,并不是简单的move table就可以。下面是具体的过程:alter table sys.aud$ move tablespace users;alter table sys.aud$ move lob(sqlbind) store as( tablespace USERS);alter table sys.aud$ move lob(SQLTEXT) store as( tablespace USERS);alter index sys.I_AUD1 rebuild tablespace users;-End-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁