数据库审计全_第1页
数据库审计全_第2页
数据库审计全_第3页
数据库审计全_第4页
数据库审计全_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库审计查瞧数据库审计就是否打开SQL>showparameteraudit;NAMETYPEVALUE—-—--———-------—-—--——-—--——--------———--———---———----———---——--—---—--—--——-audit_string/oracle/app/oracle/admin/PTBCS/adumpaudit_sys_operationsbooleanFALSEaudit_syslog_levelstringaudit_trailstringDB_EXTENDEDaudit_sys_operations:默认为false,当设置为true时,所有sys(包括以sysdba,sysopr身份登录得用户)操作都会被记录,但记录不会被写在aud$表中。如果为windows平台,会记录在windows事件管理当中。audit_trail:none为默认值,11G之后默认值为‘db’,如果默认值为none,那么不做审计DB:将audittrail记录在数据库审计相关得表中,审计只有连接信息DB_EXTENDED:这样审计还包含当时得执行得具体语句OS:将audittrail记录在系统文件中,文件名有audit_参数指定修改语句为SQL>altersystemsetaudit_trail=’db_extended'scope=spfile;注:参数audit_trail不就是动态,为了使此参数中得改动生效,必须关闭数据库并重新启动。在对sys、aud$进行审计时,还需要监控该表得大小,以免影响system表空间中其她对象得空间需求。推荐周期性归档sys、aud$中得行,并截取该表。目前采用计划任务,每日删除上月数据,只保留当月数据。Audit_时,文件位置.语句审计SQL>auditontablebyaccess;每次动作发生时都对其进行审计SQL〉auditontablebysession;只审计一次,默认为bysession有时希望审计成功得动作:没有生成错误消息得语句。对于这些语句,添加wheneversuccessful。而有时只关心使用审计语句得命令就是否失败,失败原因就是权限违犯、用完表空间中得空间还就是语法错误.对于这些情况,使用whenevernotsuccessful.对于大多数类别得审计方法,如果确实希望审计所有类型得表访问或某个用户得任何权限,则可以指定all而不就是单个得语句类型或对象.SQL>auditaltersystem;所有ALTERSYSTEM选项,例如,动态改变实例参数,切换到下一个日志文件组,以及终止用户会话SQL〉auditcluster;CREATE、ALTER、DROP或TRUNCATE集群SQL〉auditcontext;CREATECONTEXT或DROPCONTEXT;SQL>auditdatabaselink;CREATE或DROP数据库链接;SQL>auditdimension;CREATE、ALTER或DROP维数SQL>auditdirectory;CREATE或DROP目录;SQL〉auditindex;CREATE、ALTER或DROP索引SQL〉auditmaterializedview;CREATE、ALTER或DROP物化视图SQL>auditnotexists;由于不存在得引用对象而造成得SQL语句得失败;SQL>auditprocedure;CREATE或DROPFUNCTION、LIBRARY、PACKAGE、PACKAGEBODY或PROCEDURESQL〉auditprofile;CREATE、ALTER或DROP配置文件SQL〉auditpublicdatabaselink;CREATE或DROP公有数据库链接SQL〉auditpublicsynonym;CREATE或DROP公有同义词SQL>auditrole;CREATE、ALTER、DROP或SET角色SQL〉auditrollbacksegment;CREATE、ALTER或DROP回滚段SQL>auditsequence;CREATE或DROP序列SQL>auditsession;登录与退出SQL〉auditsystemaudit;系统权限得AUDIT或NOAUDITSQL>auditsystemgrant;GRANT或REVOKE系统权限与角色SQL>audittable;CREATE、DROP或TRUNCATE表SQL〉audittablespace;CREATE、ALTER或DROP表空间SQL>audittrigger;CREATE、ALTER(启用/禁用)、DROP触发器;具有ENABLEALLTRIGGERS或DISABLEALLTRIGGERS得ALTERTABLESQL>audittype;CREATE、ALTER与DROP类型以及类型主体SQL〉audituser;CREATE、ALTER或DROP用户SQL〉auditview;CREATE或DROP视图显式指定得语句类型SQL>auditaltersequence;任何ALTERSEQUENCE命令SQL>auditaltertable;任何ALTERTABLE命令SQL>auditmenttable;添加注释到表、视图、物化视图或它们中得任何列SQL〉auditdeletetable;删除表或视图中得行SQL〉auditexecuteprocedure;执行程序包中得过程、函数或任何变量或游标SQL>auditgrantdirectory;GRANT或REVOKEDIRECTORY对象上得权限SQL〉auditgrantprocedure;GRANT或REVOKE过程、函数或程序包上得权限SQL>auditgrantsequence;GRANT或REVOKE序列上得权限SQL〉auditgranttable;GRANT或REVOKE表、视图或物化视图上得权限SQL〉auditgranttype;GRANT或REVOKETYPE上得权限SQL>auditinserttable;INSERTINTO表或视图SQL>auditlocktable;表或视图上得LOCKTABLE命令SQL>auditselectsequence;引用序列得CURRVAL或NEXTVAL得任何命令SQL>auditselecttable;SELECTFROM表、视图或物化视图SQL>auditupdatetable;在表或视图上执行UPDATESQL〉selectusername,to_char(timestamp,'MM/DD/YYHH24:MI')timestamp2OBJ_NAME,ACTION_NAME,SQL_TEXTFROMDBA_AUDIT_TRAIL3WHEREUSERNAME='SCOTT’;我用得基本查询审计信息,显示结果如下scott08/12/0717:15JOB_TITLE_IDXCREATEINDEXcreateindexhr、ﻫjob_title_idxonﻫhr、jobs(job_title)1rowselected、权限审计审计系统权限具有与语句审计相同得基本语法,但审计系统权限就是在sql_statement_clause中,而不就是在语句中,指定系统权限。SQL〉auditaltertablespacebyaccesswheneversuccessful;使用SYSDBA与SYSOPER权限或者以SYS用户连接到数据库得系统管理员可以利用特殊得审计。为了启用这种额外得审计级别,可以设置初始参数AUDIT_SYS_OPERATIONS为TRUE.这种审计记录发送到与操作系统审计记录相同得位置.因此,这个位置就是与操作系统相关得.当使用其中一种权限时执行得所有SQL语句,以及作为用户SYS执行得任何SQL语句,都会发送到操作系统审计位置。模式对象审计SQL〉auditalteronTEST_DR、TESTBYACCESSWHENEVERSUCCESSFUL;改变表、序列或物化视图SQL>auditAUDITonTEST_DR、TESTBYACCESSWHENEVERSUCCESSFUL;审计任何对象上得命令SQL〉auditMENTonTEST_DR、TESTBYACCESSWHENEVERSUCCESSFUL;添加注释到表、视图或物化视图SQL>auditDELETEonTEST_DR、TESTBYACCESSWHENEVERSUCCESSFUL;从表、视图或物化视图中删除行SQL>auditEXECUTEonTEST_DR、TESTBYACCESSWHENEVERSUCCESSFUL;执行过程、函数或程序包SQL〉auditFLASHBACKonTEST_DR、TESTBYACCESSWHENEVERSUCCESSFUL;执行表或视图上得闪回操作SQL>auditGRANTonTEST_DR、TESTBYACCESSWHENEVERSUCCESSFUL;授予任何类型对象上得权限SQL〉auditINDEXonTEST_DR、TESTBYACCESSWHENEVERSUCCESSFUL;创建表或物化视图上得索引SQL>auditINSERTonTEST_DR、TESTBYACCESSWHENEVERSUCCESSFUL;将行插入表、视图或物化视图中SQL〉auditLOCKonTEST_DR、TESTBYACCESSWHENEVERSUCCESSFUL;锁定表、视图或物化视图SQL>auditREADonTEST_DR、TESTBYACCESSWHENEVERSUCCESSFUL;对DIRECTORY对象得内容执行读操作SQL>auditRENAMEonTEST_DR、TESTBYACCESSWHENEVERSUCCESSFUL;重命名表、视图或过程SQL〉auditSELECTonTEST_DR、TESTBYACCESSWHENEVERSUCCESSFUL;从表、视图、序列或物化视图中选择行SQL>auditUPDATEonTEST_DR、TESTBYACCESSWHENEVERSUCCESSFUL;更新表、视图或物化视图细粒度审计称为FGA,审计变得更为关注某个方面,并且更为精确。由称为DBMS_FGA得PL/SQL程序包实现FGA。使用标准得审计,可以轻松发现访问了哪些对象以及由谁访问,但无法知道访问了哪些行或列。细粒度得审计可解决这个问题,它不仅为需要访问得行指定谓词(或where子句),还指定了表中访问得列。通过只在访问某些行与列时审计对表得访问,可以极大地减少审计表条目得数量。例如:用户TAMARA通常每天访问HR、EMPLOYEES表,查找雇员得电子邮件地址。系统管理员怀疑TAMARA正在查瞧经理们得薪水信息,因此她们建立一个FGA策略,用于审计任何经理对SALARY列得任何访问:begin

dbms_fga、add_policy(ﻫ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ﻩ ﻩ禁用审计策略,但保留与表或视图关联得策略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与ALTERSYSTEM命令相关得审计跟踪条目DBA_AUDIT_TRAIL包含标准审计跟踪条目。USER_AUDIT_TRAILUSER_TRAIL_AUDIT只包含已连接用户得审计行DBA_FGA_AUDIT_TRAIL细粒度审计策略得审计跟踪条目数据字典视图说

明DBA_MON_AUDIT_TRAIL将标准得审计行与细粒度得审计行结合在一个视图中DBA_OBJ_AUDIT_OPTS对数据库对象生效得审计选项DBA_PRIV_AUDIT_OPTS对系统权限生效得审计选项DBA_STMT_AUDIT_OPTS对语句生效得审计选项保护审计跟踪审计跟踪自身需要受到保护,特别就是在非系统用户必须访问表SYS、AUD$时。内置得角色DELETE_ANY_CATALOG就是非SYS用户可以访问审计跟踪得一种方法(例如,归档与截取审计跟踪,以确保它不会影响到SYS表空间中其她对象得空间需求)。为了建立对审计跟踪自身得审计,以SYSDBA身份连接到数据库,并运行下面得命令:SQL>auditallonsys、aud$byaccess;现在,所有针对表SYS、AUD$得动作,包括select、insert、update与delete,都记录在SYS、AUD$自身中。但就是,您可能会问,如果某个人删除了标识对表SYS、AUD$访问得审计记录,这时会发生什么?此时将删除表中得行,但接着插入另一行,记录行得删除。因此,总就是存在一些针对SYS、AUD$表得(有意得或偶然得)活动得证据。此外,如果将AUDIT_SYS_OPERATIONS设置为True,使用assysdba、assysoper或以SYS自身连接得任何会话将记录到操作系统审计位置中,甚至OracleDBA可能都无法访问该位置。因此,有许多合适得安全措施,用于确保记录数据库中所有权限得活动,以及隐藏该活动得任何尝试.将审计相关得表更换表空间

由于AUD$表等审计相关得表存放在SYSTEM表空间,因此为了不影响系统得性能,保护SYSTEM表空间,最好把AUD$移动到其她得表空间上。可以使用下面得语句来进行移动:

sql〉connect

/

as

sysdba;sql〉alter

table

aud$

move

tablespace

〈new

tablespace〉;sql>alter

index

I_aud1

rebuild

online

tablespace

<new

tablespace>;SQL〉

alter

table

audit$

move

tablespace

<new

tablespace>;SQL〉

alter

index

i_audit

rebuild

online

tablespace

〈new

tablespace〉;SQL>

alter

table

audit_actions

move

tablespace

<new

tablespace>;SQL>

alter

index

i_audit_actions

rebuild

online

tablespace

<new

tablespace>;ﻫ

SQL〉conn/assysdba

SQL>showparameteraudit

NAME

TYPE

VALUE

--—-----—-—-—--——----——--—-—-———--—-————-———--—--—-———----——-—-—----———————--

audit_

string

/u01/app/oracle/admin/ORCL/adump

audit_sys_operations

boolean

FALSE

audit_syslog_level

string

SQL>altersystemsetaudit_sys_operations=TRUEscope=spfile;

——审计管理用户(以sysdba/sysoper角色登陆)ﻫSQL〉altersystemsetaudit_trail=db,extendedscope=spfile;ﻫSQL>startupforce;

SQL〉showparameterauditﻫNAME

TYPE

VALUE

-——--—----——---——--—---—--——--———-———--——-—————————--——-—--—--—-————---—-—---

audit_

string

/u01/app/oracle/admin/ORCL/adump

audit_sys_operations

boolean

TRUE

audit_syslog_level

string

audit_trail

string

DB,EXTENDED

如果在命令后面添加byuser则只对user得操作进行审计,如果省去by用户,则对系统中所有得用户进行审计(不包含sys用户)、

ﻫ例:

AUDITDELETEANYTABLE;

--审计删除表得操作

AUDITDELETEANYTABLEWHENEVERNOTSUCCESSFUL;

——只审计删除失败得情况

AUDITDELETEANYTABLEWHENEVERSUCCESSFUL;

-—只审计删除成功得情况

AUDITDELETE,UPDATE,INSERTONuser、tablebytest;

—-审计test用户对表user、table得delete,update,insert操作

撤销审计SQL>noauditallont_test;

将审计结果表从system表空间里移动到别得表空间上实际上sys、aud$表上包含了两个lob字段,并不就是简单得movetable就可以。ﻫ下面就是具体得过程:

altertablesys、aud$movetablespaceusers;

altertablesys、aud$movelob(sqlbind)storeas(tablespaceUSERS);

altertablesys、aud$movelob(SQLTEXT)storeas(tablespaceUSERS);ﻫalterindexsys、I_AUD1rebuildtablespaceusers;应用语句审计多层环境下得审计:appserve—应用服务器,jackson-clientﻫAUDITSELECTTABLEBYappserveONBEHALFOFjackson;

审计连接或断开连接:ﻫAUDITSESSION;ﻫAUDITSESSIONBYjeff,lori;

—-指定用户ﻫﻫ审计权限(使用该权限才能执行得操作):

AUDITDELETEANYTABLEBYACCESSWHENEVERNOTSUCCESSFUL;

AUDITDELETEANYTABLE;

AUDITSELECTTABLE,INSERTTABLE,DELETETABLE,EXECUTEPROCEDUREBYACCESSWHENEVERNOTSUCCESSFUL;

ﻫ对象审计:ﻫAUDITDELETEONjef

温馨提示

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

评论

0/150

提交评论