數(shù)據(jù)庫審計全_第1頁
數(shù)據(jù)庫審計全_第2頁
數(shù)據(jù)庫審計全_第3頁
數(shù)據(jù)庫審計全_第4頁
數(shù)據(jù)庫審計全_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、數(shù)據(jù)庫審計查看數(shù)據(jù)庫審計是否打開SQL show parameter audit;NAME TYPE VALUE- - -audit_file_dest string /oracle/app/oracle/admin/PTBCS/adumpaudit_sys_operations boolean FALSEaudit_syslog_level string audit_trail string DB_EXTENDEDaudit_sys_operations:默認(rèn)為false,當(dāng)設(shè)置為true時,所有sys(包括以sysdba,sysopr身份登錄的用戶)操作都會被記錄,但記錄不會被寫在aud$

2、表中。如果為windows平臺,會記錄在windows事件管理當(dāng)中。audit_trail:none為默認(rèn)值,11G之后默認(rèn)值為db,如果默認(rèn)值為none,那么不做審計DB:將audit trail 記錄在數(shù)據(jù)庫審計相關(guān)的表中,審計只有連接信息DB_EXTENDED:這樣審計還包含當(dāng)時的執(zhí)行的具體語句OS:將audit trail記錄在系統(tǒng)文件中,文件名有audit_file_dest參數(shù)指定修改語句為SQL alter system set audit_trail=db_extended scope=spfile;注:參數(shù)audit_trail不是動態(tài),為了使此參數(shù)中的改動生效,必須關(guān)閉數(shù)據(jù)

3、庫并重新啟動。在對sys.aud$進(jìn)行審計時,還需要監(jiān)控該表的大小,以免影響system表空間中其他對象的空間需求。推薦周期性歸檔sys.aud$中的行,并截取該表。目前采用計劃任務(wù),每日刪除上月數(shù)據(jù),只保留當(dāng)月數(shù)據(jù)。Audit_file_dest:audit_trail=os時,文件位置。語句審計SQL audit on table by access;每次動作發(fā)生時都對其進(jìn)行審計SQL audit on table by session;只審計一次,默認(rèn)為by session有時希望審計成功的動作:沒有生成錯誤消息的語句。對于這些語句,添加whenever successful。而有時只關(guān)

4、心使用審計語句的命令是否失敗,失敗原因是權(quán)限違犯、用完表空間中的空間還是語法錯誤。對于這些情況,使用 whenever not successful。對于大多數(shù)類別的審計方法,如果確實(shí)希望審計所有類型的表訪問或某個用戶的任何權(quán)限,則可以指定all而不是單個的語句類型或?qū)ο?。SQL audit alter system ;所有ALTER SYSTEM選項(xiàng),例如,動態(tài)改變實(shí)例參數(shù),切換到下一個日志文件組,以及終止用戶會話SQL audit cluster;CREATE、ALTER、DROP或TRUNCATE集群SQL audit context;CREATE CONTEXT或DROP CONTEX

5、T;SQL audit database link;CREATE或DROP數(shù)據(jù)庫鏈接;SQL audit dimension;CREATE、ALTER或DROP維數(shù)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、LIBRARY、PACKAGE

6、、PACKAGE BODY或PROCEDURESQL audit profile;CREATE、ALTER或DROP配置文件SQL audit public database link;CREATE或DROP公有數(shù)據(jù)庫鏈接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 session;登錄和退出SQL audi

7、t system audit;系統(tǒng)權(quán)限的AUDIT或NOAUDITSQL audit system grant;GRANT或REVOKE系統(tǒng)權(quán)限和角色SQL audit table;CREATE、DROP或TRUNCATE表SQL audit tablespace;CREATE、ALTER或DROP表空間SQL audit trigger;CREATE、ALTER(啟用/禁用)、DROP觸發(fā)器;具有ENABLE ALL TRIGGERS或DISABLE ALL TRIGGERS的ALTER TABLESQL audit type;CREATE、ALTER和DROP類型以及類型主體SQL aud

8、it 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;執(zhí)行程序包中的過程、函數(shù)或任何變量或游標(biāo)SQL audit grant directory;GRAN

9、T或REVOKE DIRECTORY對象上的權(quán)限SQL audit grant procedure;GRANT或REVOKE過程、函數(shù)或程序包上的權(quán)限SQL audit grant sequence;GRANT或REVOKE序列上的權(quán)限SQL audit grant table;GRANT或REVOKE表、視圖或物化視圖上的權(quán)限SQL audit grant type;GRANT或REVOKE TYPE上的權(quán)限SQL audit insert table;INSERT INTO表或視圖SQL audit lock table;表或視圖上的LOCK TABLE命令SQL audit select

10、 sequence;引用序列的CURRVAL或NEXTVAL的任何命令SQL audit select table;SELECT FROM表、視圖或物化視圖SQL audit update table;在表或視圖上執(zhí)行UPDATESQL select username,to_char(timestamp,MM/DD/YY HH24:MI) timestamp 2 OBJ_NAME,ACTION_NAME,SQL_TEXT FROM DBA_AUDIT_TRAIL 3 WHERE USERNAME = SCOTT;我用的基本查詢審計信息,顯示結(jié)果如下scott 08/12/07 17:15 JO

11、B_TITLE_IDX CREATE INDEX create index hr.job_title_idx (job_title)1 row selected.權(quán)限審計審計系統(tǒng)權(quán)限具有與語句審計相同的基本語法,但審計系統(tǒng)權(quán)限是在sql_statement_clause中,而不是在語句中,指定系統(tǒng)權(quán)限。SQL audit alter tablespace by access whenever successful;使用SYSDBA和SYSOPER權(quán)限或者以SYS用戶連接到數(shù)據(jù)庫的系統(tǒng)管理員可以利用特殊的審計。為了啟用這種額外的審計級別,可以設(shè)置初始參數(shù)AUDIT_SYS_OP

12、ERATIONS為TRUE。這種審計記錄發(fā)送到與操作系統(tǒng)審計記錄相同的位置。因此,這個位置是和操作系統(tǒng)相關(guān)的。當(dāng)使用其中一種權(quán)限時執(zhí)行的所有SQL語句,以及作為用戶SYS執(zhí)行的任何SQL語句,都會發(fā)送到操作系統(tǒng)審計位置。模式對象審計SQL audit alter on TEST_DR.TEST BY ACCESS WHENEVER SUCCESSFUL;改變表、序列或物化視圖SQL audit AUDIT on TEST_DR.TEST BY ACCESS WHENEVER SUCCESSFUL;審計任何對象上的命令SQL audit COMMENT on TEST_DR.TEST BY AC

13、CESS WHENEVER SUCCESSFUL;添加注釋到表、視圖或物化視圖SQL audit DELETE on TEST_DR.TEST BY ACCESS WHENEVER SUCCESSFUL;從表、視圖或物化視圖中刪除行SQL audit EXECUTE on TEST_DR.TEST BY ACCESS WHENEVER SUCCESSFUL;執(zhí)行過程、函數(shù)或程序包SQL audit FLASHBACK on TEST_DR.TEST BY ACCESS WHENEVER SUCCESSFUL;執(zhí)行表或視圖上的閃回操作SQL audit GRANT on TEST_DR.TEST

14、 BY ACCESS WHENEVER SUCCESSFUL;授予任何類型對象上的權(quán)限SQL audit INDEX on TEST_DR.TEST BY ACCESS WHENEVER SUCCESSFUL;創(chuàng)建表或物化視圖上的索引SQL audit INSERT on TEST_DR.TEST BY ACCESS WHENEVER SUCCESSFUL;將行插入表、視圖或物化視圖中SQL audit LOCK on TEST_DR.TEST BY ACCESS WHENEVER SUCCESSFUL;鎖定表、視圖或物化視圖SQL audit READ on TEST_DR.TEST BY

15、ACCESS WHENEVER SUCCESSFUL;對DIRECTORY對象的內(nèi)容執(zhí)行讀操作SQL audit RENAME on TEST_DR.TEST BY ACCESS WHENEVER SUCCESSFUL;重命名表、視圖或過程SQL audit SELECT on TEST_DR.TEST BY ACCESS WHENEVER SUCCESSFUL;從表、視圖、序列或物化視圖中選擇行SQL audit UPDATE on TEST_DR.TEST BY ACCESS WHENEVER SUCCESSFUL;更新表、視圖或物化視圖細(xì)粒度審計稱為FGA,審計變得更為關(guān)注某個方面,并且

16、更為精確。由稱為DBMS_FGA的PL/SQL程序包實(shí)現(xiàn)FGA。使用標(biāo)準(zhǔn)的審計,可以輕松發(fā)現(xiàn)訪問了哪些對象以及由誰訪問,但無法知道訪問了哪些行或列。細(xì)粒度的審計可解決這個問題,它不僅為需要訪問的行指定謂詞(或where子句),還指定了表中訪問的列。通過只在訪問某些行和列時審計對表的訪問,可以極大地減少審計表?xiàng)l目的數(shù)量。例如:用戶TAMARA通常每天訪問HR.EMPLOYEES表,查找雇員的電子郵件地址。系統(tǒng)管理員懷疑TAMARA正在查看經(jīng)理們的薪水信息,因此他們建立一個FGA策略,用于審計任何經(jīng)理對SALARY列的任何訪問:begindbms_fga.add_policy(object_sch

17、ema = 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禁用審計策略,但保留與表或視圖關(guān)聯(lián)的策略ENABLE_POLICY啟用策略與審計相關(guān)的數(shù)據(jù)字典視圖數(shù)據(jù)字典視圖說 明AUDIT_ACTIONS包含審計跟蹤動作類型代碼的描述,例如INSERT、DROP VIEW、DELETE、L

18、OGON和LOCKDBA_AUDIT_OBJECT與數(shù)據(jù)庫中對象相關(guān)的審計跟蹤記錄DBA_AUDIT_POLICIES數(shù)據(jù)庫中的細(xì)粒度審計策略DBA_AUDIT_SESSION與CONNECT和DISCONNECT相關(guān)的所有審計跟蹤記錄DBA_AUDIT_STATEMENT與GRANT、REVOKE、AUDIT、NOAUDIT和ALTER SYSTEM命令相關(guān)的審計跟蹤條目DBA_AUDIT_TRAIL包含標(biāo)準(zhǔn)審計跟蹤條目。USER_AUDIT_TRAILUSER_TRAIL_AUDIT只包含已連接用戶的審計行DBA_FGA_AUDIT_TRAIL細(xì)粒度審計策略的審計跟蹤條目數(shù)據(jù)字典視圖說 明

19、DBA_COMMON_AUDIT_TRAIL將標(biāo)準(zhǔn)的審計行和細(xì)粒度的審計行結(jié)合在一個視圖中DBA_OBJ_AUDIT_OPTS對數(shù)據(jù)庫對象生效的審計選項(xiàng)DBA_PRIV_AUDIT_OPTS對系統(tǒng)權(quán)限生效的審計選項(xiàng)DBA_STMT_AUDIT_OPTS對語句生效的審計選項(xiàng)保護(hù)審計跟蹤審計跟蹤自身需要受到保護(hù),特別是在非系統(tǒng)用戶必須訪問表SYS.AUD$時。內(nèi)置的角色DELETE_ANY_CATALOG是非SYS用戶可以訪問審計跟蹤的一種方法(例如,歸檔和截取審計跟蹤,以確保它不會影響到SYS表空間中其他對象的空間需求)。為了建立對審計跟蹤自身的審計,以SYSDBA身份連接到數(shù)據(jù)庫,并運(yùn)行下面的

20、命令:SQL audit all on sys.aud$ by access;現(xiàn)在,所有針對表SYS.AUD$的動作,包括select、insert、update和delete,都記錄在SYS.AUD$自身中。但是,您可能會問,如果某個人刪除了標(biāo)識對表SYS.AUD$訪問的審計記錄,這時會發(fā)生什么?此時將刪除表中的行,但接著插入另一行,記錄行的刪除。因此,總是存在一些針對SYS.AUD$表的(有意的或偶然的)活動的證據(jù)。此外,如果將AUDIT_SYS _OPERATIONS設(shè)置為True,使用as sysdba、as sysoper或以SYS自身連接的任何會話將記錄到操作系統(tǒng)審計位置中,甚至O

21、racle DBA可能都無法訪問該位置。因此,有許多合適的安全措施,用于確保記錄數(shù)據(jù)庫中所有權(quán)限的活動,以及隱藏該活動的任何嘗試。將審計相關(guān)的表更換表空間由于AUD$表等審計相關(guān)的表存放在SYSTEM表空間,因此為了不影響系統(tǒng)的性能,保護(hù)SYSTEM表空間,最好把AUD$移動到其他的表空間上??梢允褂孟旅娴恼Z句來進(jìn)行移動:sqlconnect/assysdba;sqlaltertableaud$movetablespace;sqlalterindexI_aud1rebuildonlinetablespace;SQLaltertableaudit$movetablespace;SQLalteri

22、ndexi_auditrebuildonlinetablespace;SQLaltertableaudit_actionsmovetablespace;SQLalterindexi_audit_actionsrebuildonlinetablespace;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 s

23、tringSQL 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 auditNAME TYPE VALUE- - -audit_file_dest string /u01/app/oracle/admin/ORCL/adumpaudit_sys_operations boolean TR

24、UEaudit_syslog_level stringaudit_trail string DB, EXTENDED如果在命令后面添加by user則只對user的操作進(jìn)行審計,如果省去by用戶,則對系統(tǒng)中所有的用戶進(jìn)行審計(不包含sys用戶).例:AUDIT DELETE ANY TABLE; -審計刪除表的操作AUDIT DELETE ANY TABLE WHENEVER NOT SUCCESSFUL; -只審計刪除失敗的情況AUDIT DELETE ANY TABLE WHENEVER SUCCESSFUL; -只審計刪除成功的情況AUDIT DELETE,UPDATE,INSERT O

25、N user.table by test; -審計test用戶對表user.table的delete,update,insert操作撤銷審計SQL noaudit all on t_test;將審計結(jié)果表從system表空間里移動到別的表空間上實(shí)際上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

26、.aud$ move lob(SQLTEXT) store as( tablespace USERS);alter index sys.I_AUD1 rebuild tablespace users;應(yīng)用語句審計多層環(huán)境下的審計:appserve-應(yīng)用服務(wù)器,jackson-clientAUDIT SELECT TABLE BY appserve ON BEHALF OF jackson;審計連接或斷開連接:AUDIT SESSION;AUDIT SESSION BY jeff, lori; - 指定用戶審計權(quán)限(使用該權(quán)限才能執(zhí)行的操作):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 DE

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論