数据库审计全

上传人:E**** 文档编号:51344490 上传时间:2022-01-25 格式:DOC 页数:12 大小:432.50KB
收藏 版权申诉 举报 下载
数据库审计全_第1页
第1页 / 共12页
数据库审计全_第2页
第2页 / 共12页
数据库审计全_第3页
第3页 / 共12页
资源描述:

《数据库审计全》由会员分享,可在线阅读,更多相关《数据库审计全(12页珍藏版)》请在装配图网上搜索。

1、查看数据库审计是否打开SQL show parameter audit;NAMETYPEVALUE- - -audit_file_deststring/oracle/app/oracle/admin/PTBCS/adumpaudit_sys_operationsbooleanFALSEaudit_syslog_levelstringaudit_trailstringDB_EXTENDEDaudit_sys_operations:默认为 false ,当设置为true时,所有sys (包括以sysdba, sysopr 身份登录的用户)操作都会被记录,但记录不会被写在 aud$表中。如果为 wi

2、ndows 平台,会记录在 windows 事件管理当中。audit_trail:none 为默认值, 11G 之后默认值为db,如果默认值为none,那么不做审计DB:将 audit trail记录在数据库审计相关的表中,审计只有连接信息DB_EXTENDED:这样审计还包含当时的执行的具体语句OS:将 audit trail记录在系统文件中,文件名有audit_file_dest参数指定修改语句为SQL alter system set audit_trail=db_extended scope=spfile;注:参数 audit_trail不是动态,为了使此参数中的改动生效,必须关闭数据

3、库并重新启动。在对审计时,还需要监控该表的大小,以免影响system 表空间中其他对象的空间需求。$进行推荐周期性归档$中的行,并截取该表。目前采用计划任务,每日删除上月数据,只保留当月数据。Audit_file_dest:audit_trail=os时,文件位置。语句审计SQL audit on table by access;每次动作发生时都对其进行审计SQL audit on table by session;只审计一次, 默认为by session有时希望审计成功的动作:没有生成错误消息的语句。对于这些语句,添加 whenever successful 。而有时只关心使用审计语句的命令

4、是否失败,失败原因是权限违犯、用完表空间中的空间还是语法错误。对于这些情况,使用 whenever not successful 。对于大多数类别的审计方法,如果确实希望审计所有类型的表访问或某个用户的任何权限,则可以指定all而不是单个的语句类型或对象。SQL audit alter system ;所有 ALTER SYSTEM选项,例如,动态改变实例参数,切换到下一个日志文件组,以及终止用户会话SQL audit cluster;CREATE、 ALTER、 DROP或 TRUNCATE集群SQL audit context;CREATE CONTEXT或 DROP CONTEXT;SQ

5、L audit database link;CREATE或 DROP数据库链接 ;SQL audit dimension;CREATE、 ALTER或 DROP维数SQL audit directory;CREATE或 DROP目录 ;SQL audit index;CREATE、 ALTER或 DROP索引SQL audit materialized view;CREATE、 ALTER或 DROP物化视图SQL audit not exists;由于不存在的引用对象而造成的SQL语句的失败 ;SQL audit procedure;CREATE或 DROP FUNCTION、 LIBRAR

6、Y、 PACKAGE、 PACKAGE BODY或 PROCEDURESQL audit profile;CREATE、 ALTER或 DROP配置文件SQL audit public database link;CREATE或 DROP公有数据库链接SQL audit public synonym;CREATE或 DROP公有同义词SQL audit role;CREATE、 ALTER、 DROP或 SET角色SQL audit rollback segment;CREATE、 ALTER或 DROP回滚段SQL audit sequence;CREATE或 DROP序列SQL audit

7、 session;登录和退出SQL audit system audit;系统权限的AUDIT 或 NOAUDITSQL audit system grant;GRANT或 REVOKE系统权限和角色SQL audit table;CREATE、 DROP或 TRUNCATE表SQL audit tablespace;CREATE、 ALTER或 DROP表空间SQL audit trigger;CREATE、 ALTER(启用 / 禁用 ) 、DROP触发器;具有 ENABLE ALL TRIGGERS或 DISABLE ALL TRIGGERS的 ALTER TABLESQL audit

8、type;CREATE、 ALTER和 DROP类型以及类型主体SQL audit user;CREATE、 ALTER或 DROP用户SQL audit view;CREATE或 DROP视图显式指定的语句类型SQL audit alter sequence;任何 ALTER SEQUENCE命令SQL audit alter table;任何 ALTER TABLE命令SQL audit comment table;添加注释到表、视图、物化视图或它们中的任何列SQL audit delete table;删除表或视图中的行SQL audit execute procedure;执行程序包中

9、的过程、函数或任何变量或游标SQL audit grant directory;GRANT或 REVOKE DIRECTORY对象上的权限SQL audit grant procedure;GRANT或 REVOKE过程、函数或程序包上的权限SQL audit grant sequence;GRANT或 REVOKE序列上的权限SQL audit grant table;GRANT或 REVOKE表、视图或物化视图上的权限SQL audit grant type;GRANT或 REVOKE TYPE上的权限SQL audit insert table;INSERT INTO 表或视图SQL a

10、udit lock table;表或视图上的LOCK TABLE命令SQL audit select sequence;引用序列的CURRVAL或 NEXTVAL的任何命令SQL audit select table;SELECT FROM表、视图或物化视图SQL audit update table;在表或视图上执行UPDATESQL select username,to_char(timestamp,MM/DD/YY HH24:MI) timestamp2 OBJ_NAME,ACTION_NAME,SQL_TEXT FROM DBA_AUDIT_TRAIL3 WHERE USERNAME

11、= SCOTT;我用的基本查询审计信息,显示结果如下scott 08/12/07 17:15 JOB_TITLE_IDX CREATE INDEX create index hr.job_title_idx on(job_title)1 row selected.权限审计审计系统权限具有与语句审计相同的基本语法,但审计系统权限是在sql_statement_clause中,而不是在语句中,指定系统权限。SQL audit alter tablespace by access whenever successful;使用 SYSDBA和 SYSOPER权限或者以SYS用户连接到数据库的系统管理员

12、可以利用特殊的审计。为了启用这种额外的审计级别,可以设置初始参数AUDIT_SYS_OPERATIONS为 TRUE。这种审计记录发送到与操作系统审计记录相同的位置。因此,这个位置是和操作系统相关的。当使用其中一种权限时执行的所有SQL语句,以及作为用户SYS执行的任何SQL语句,都会发送到操作系统审计位置。模式对象审计SQL audit alter on BY ACCESS WHENEVER SUCCESSFUL;改变表、序列或物化视图SQL auditAUDIT on BY ACCESS WHENEVER SUCCESSFUL;审计任何对象上的命令SQL auditCOMMENTon BY

13、 ACCESS WHENEVER SUCCESSFUL;添加注释到表、视图或物化视图SQL auditDELETEon BY ACCESS WHENEVER SUCCESSFUL;从表、视图或物化视图中删除行SQL auditEXECUTEon BY ACCESS WHENEVER SUCCESSFUL;执行过程、函数或程序包SQL auditFLASHBACKon BY ACCESS WHENEVER SUCCESSFUL;执行表或视图上的闪回操作SQL auditGRANTon BY ACCESS WHENEVER SUCCESSFUL;授予任何类型对象上的权限SQL auditINDEX

14、on BY ACCESS WHENEVER SUCCESSFUL;创建表或物化视图上的索引SQL auditINSERTon BY ACCESS WHENEVER SUCCESSFUL;将行插入表、视图或物化视图中SQL auditLOCKon BY ACCESS WHENEVER SUCCESSFUL;锁定表、视图或物化视图SQL auditREADon BY ACCESS WHENEVER SUCCESSFUL;对 DIRECTORY对象的内容执行读操作SQL auditRENAMEon BY ACCESS WHENEVER SUCCESSFUL;重命名表、视图或过程SQL auditSE

15、LECTon BY ACCESS WHENEVER SUCCESSFUL;从表、视图、序列或物化视图中选择行SQL auditUPDATEon BY ACCESS WHENEVER SUCCESSFUL;更新表、视图或物化视图细粒度审计称为 FGA,审计变得更为关注某个方面,并且更为精确。由称为DBMS_FGA的PL/SQL程序包实现 FGA。使用标准的审计,可以轻松发现访问了哪些对象以及由谁访问,但无法知道访问了哪些行或列。细粒度的审计可解决这个问题,它不仅为需要访问的行指定谓词 ( 或 where 子句 ) ,还指定了表中访问的列。通过只在访问某些行和列时审计对表的访问,可以极大地减少审计

16、表条目的数量。例如: 用户 TAMARA通常每天访问表,查找雇员的电子邮件地址。系统管理员怀疑TAMARA正在查看经理们的薪水信息,因此他们建立一个FGA策略,用于审计任何经理对SALARY列的任何访问:begin(object_schema =HR,object_name =EMPLOYEES,policy_name =SAL_SELECT_AUDIT,audit_condition = instr(job_id,_MAN) 0,audit_column =SALARY);end;ADD_POLICY添加使用谓词和审计列的审计策略DROP_POLICY删除审计策略DISABLE_POLICY

17、禁用审计策略,但保留与表或视图关联的策略ENABLE_POLICY启用策略与审计相关的数据字典视图数据字典视图说明AUDIT_ACTIONS包含审计跟踪动作类型代码的描述,例如INSERT、 DROPVIEW、DELETE、LOGON和 LOCKDBA_AUDIT_OBJECT与数据库中对象相关的审计跟踪记录DBA_AUDIT_POLICIES数据库中的细粒度审计策略DBA_AUDIT_SESSION与 CONNECT和 DISCONNECT相关的所有审计跟踪记录DBA_AUDIT_STATEMENT与 GRANT、 REVOKE、 AUDIT、 NOAUDIT和 ALTER SYSTEM命令

18、相关的审计跟踪条目DBA_AUDIT_TRAIL包含标准审计跟踪条目。USER_AUDIT_TRAILUSER_TRAIL_AUDIT只包含已连接用户的审计行DBA_FGA_AUDIT_TRAIL细粒度审计策略的审计跟踪条目数据字典视图说明DBA_COMMON_AUDIT_TRAIL将标准的审计行和细粒度的审计行结合在一个视图中DBA_OBJ_AUDIT_OPTS对数据库对象生效的审计选项DBA_PRIV_AUDIT_OPTS对系统权限生效的审计选项DBA_STMT_AUDIT_OPTS对语句生效的审计选项保护审计跟踪审计跟踪自身需要受到保护,特别是在非系统用户必须访问表$时。内置的角色DEL

19、ETE_ANY_CATALOG是非 SYS用户可以访问审计跟踪的一种方法 ( 例如,归档和截取审计跟踪,以确保它不会影响到 SYS表空间中其他对象的空间需求 ) 。为了建立对审计跟踪自身的审计,以SYSDBA身份连接到数据库,并运行下面的命令:SQL audit all on $ by access;现在,所有针对表$的动作,包括select、 insert、 update 和 delete ,都记录在 $自身中。但是,您可能会问,如果某个人删除了标识对表$访问的审计记录,这时会发生什么?此时将删除表中的行,但接着插入另一行,记录行的删除。因此,总是存在一些针对$表的( 有意的或偶然的) 活动

20、的证据。此外,如果将AUDIT_SYS _OPERATIONS设置为 True ,使用as sysdba 、 as sysoper或以 SYS自身连接的任何会话将记录到操作系统审计位置中,甚至 Oracle DBA 可能都无法访问该位置。因此,有许多合适的安全措施,用于确保记录数据库中所有权限的活动,以及隐藏该活动的任何尝试。将审计相关的表更换表空间由于 AUD$表等审计相关的表存放在SYSTEM表空间,因此为了不影响系统的性能,保护SYSTEM表空间,最好把AUD$移动到其他的表空间上。可以使用下面的语句来进行移动:sqlconnect/assysdba;sqlaltertableaud$m

21、ovetablespace;sqlalterindexI_aud1rebuildonlinetablespace;SQLaltertableaudit$move tablespace;SQLalterindexi_auditrebuildonlinetablespace;SQLaltertableaudit_actionsmove tablespace;SQLalterindexi_audit_actionsrebuildonlinetablespace;SQL conn /as sysdbaSQL show parameter auditNAMETYPEVALUE- - -audit_fil

22、e_deststring/u01/app/oracle/admin/ORCL/adumpaudit_sys_operationsbooleanFALSEaudit_syslog_levelstringSQL alter system set audit_sys_operations=TRUE scope=spfile;- 审计管理用户 ( 以 sysdba/sysoper角色登陆 )SQL alter system set audit_trail=db,extended scope=spfile;SQL startup force;SQL show parameter auditNAMETYP

23、EVALUE- - -audit_file_deststring/u01/app/oracle/admin/ORCL/adumpaudit_sys_operationsaudit_syslog_levelbooleanstringTRUEaudit_trailstringDB, EXTENDED如果在命令后面添加by user则只对 user 的操作进行审计 , 如果省去 by 用户 , 则对系统中所有的用户进行审计( 不包含 sys 用户 ).例:AUDIT DELETE ANY TABLE;- - 审计删除表的操作AUDIT DELETE ANY TABLE WHENEVER NOT SU

24、CCESSFUL;- 只审计删除失败的情况AUDIT DELETE ANY TABLE WHENEVER SUCCESSFUL;-只审计删除成功的情况AUDIT DELETE,UPDATE,INSERT ON by test;-审计 test 用户对表的delete,update,insert操作撤销审计SQL noaudit all on t_test;将审计结果表从system 表空间里移动到别的表空间上实际上 $表上包含了两个lob 字段,并不是简单的move table下面是具体的过程:alter table $ move tablespace users;alter table $

25、move lob(sqlbind) store as( tablespace USERS);alter table $ move lob(SQLTEXT) store as( tablespace USERS);alter index rebuild tablespace users;就可以。应用语句审计多层环境下的审计: appserve- 应用服务器, jackson-client AUDIT SELECT TABLE BY appserve ON BEHALF OF jackson;审计连接或断开连接:AUDIT SESSION;AUDIT SESSION BY jeff, lori;-

26、指定用户审计权限 ( 使用该权限才能执行的操作) :AUDIT DELETE ANY TABLE BY ACCESS WHENEVER NOT SUCCESSFUL; AUDIT DELETE ANY TABLE;AUDIT SELECT TABLE, INSERT TABLE, DELETE TABLE, EXECUTE PROCEDURE BY ACCESS WHENEVER NOT SUCCESSFUL;对象审计:AUDIT DELETE ON ;AUDIT SELECT, INSERT, DELETE ON BY ACCESS WHENEVER SUCCESSFUL;取消审计:NOAU

27、DIT session;NOAUDIT session BY jeff, lori;NOAUDIT DELETE ANY TABLE;NOAUDIT SELECT TABLE, INSERT TABLE, DELETE TABLE,EXECUTE PROCEDURE;NOAUDIT ALL;-取消所有statement审计NOAUDIT ALL PRIVILEGES;-取消所有权限审计NOAUDIT ALL ON DEFAULT;-取消所有对象审计清除审计信息DELETE FROM $;DELETE FROM $ WHERE obj$name=EMP;审计相关视图STMT_AUDIT_OPTI

28、ON_MAP- 审计选项类型代码AUDIT_ACTIONS- action代码ALL_DEF_AUDIT_OPTS-对象创建时默认的对象审计选项DBA_STMT_AUDIT_OPTS-当前数据库系统审计选项DBA_PRIV_AUDIT_OPTS-权限审计选项DBA_OBJ_AUDIT_OPTSUSER_OBJ_AUDIT_OPTS-对象审计选项DBA_AUDIT_TRAILUSER_AUDIT_TRAIL-审计记录DBA_AUDIT_OBJECTUSER_AUDIT_OBJECT-审计对象列表DBA_AUDIT_SESSIONUSER_AUDIT_SESSION- session审计DBA_AUDIT_STATEMENTUSER_AUDIT_STATEMENT- 语句审计DBA_AUDIT_EXISTS-使用 BY AUDIT NOT EXISTS选项的审计DBA_AUDIT_POLICIES-审计 POLICIESDBA_COMMON_AUDIT_TRAIL- 标准审计 +精细审计

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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