利用Oracle審計功能記錄數(shù)據(jù)庫操作_第1頁
利用Oracle審計功能記錄數(shù)據(jù)庫操作_第2頁
利用Oracle審計功能記錄數(shù)據(jù)庫操作_第3頁
利用Oracle審計功能記錄數(shù)據(jù)庫操作_第4頁
利用Oracle審計功能記錄數(shù)據(jù)庫操作_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1、什么是審計審計( Audit) 用于監(jiān)視用戶所執(zhí)行的數(shù)據(jù)庫操作,并且 Oracle 會將審計跟蹤結(jié)果存放到 OS 文件(默認位 置為 $ORACLE_BASE/admin/$ORACLE_SID/adump/)或數(shù)據(jù)庫(存儲在 system 表空間中的SYS.AUD$ 表中,可通過視圖 dba_audit_trail 查看)中。默認情況下審計是沒有開啟的。不管你是否打開數(shù)據(jù)庫的審計功能,以下這些操作系統(tǒng)會強制記錄:用管理員權(quán)限連接 Instance ;啟動數(shù) 據(jù)庫;關(guān)閉數(shù)據(jù)庫。2、和審計相關(guān)的兩個主要參數(shù)Audit_sys_operations :默認為 false ,當(dāng)設(shè)置為 true

2、時,所有 sys 用戶(包括以 sysdba,sysoper 身份登錄的用戶)的操作都會被 記錄, audit trail 不會寫在 aud$ 表中,這個很好理解,如果數(shù)據(jù)庫還未啟動 aud$ 不可用,那么像 conn /as sysdba 這樣的連接信息,只能記錄在其它地方。如果是 windows 平臺, audti trail 會記錄在 windows 的事 件管理中,如果是 linux/unix 平臺則會記錄在 audit_file_dest 參數(shù)指定的文件中。Audit_trail :None :是默認值,不做審計;DB :將audit trail記錄在數(shù)據(jù)庫的審計相關(guān)表中,如aud$

3、,審計的結(jié)果只有連接信息;DB_Extended :這樣審計結(jié)果里面除了連接信息還包含了當(dāng)時執(zhí)行的具體語句;OS :將audit trail記錄在操作系統(tǒng)文件中,文件名由audit_file_dest參數(shù)指定;XML: 10g 里新增的。注:這兩個參數(shù)是 static 參數(shù),需要重新啟動數(shù)據(jù)庫才能生效。3、審計級別當(dāng)開啟審計功能后,可在三個級別對數(shù)據(jù)庫進行審計:Statement語句卜Privilege (權(quán)限)、object (對象)。Statement :按語句來審計,比如 audit table 會審計數(shù)據(jù)庫中所有的 create table,drop table,truncate ta

4、ble 語句, alter session by cmy 會審計 cmy 用戶所有的數(shù)據(jù)庫連接。Privilege : 按權(quán)限來審計, 當(dāng)用戶使用了該權(quán)限則被審計, 如執(zhí)行 grant select any table to a ,當(dāng)執(zhí)行了 audit select any table 語句后,當(dāng)用戶 a 訪問了用戶 b 的表時(如 select * from b.t )會用到 select any table 權(quán)限,故會被 審計。注意用戶是自己表的所有者,所以用戶訪問自己的表不會被審計。Object :按對象審計, 只審計 on 關(guān)鍵字指定對象的相關(guān)操作, 如 aduit alter,del

5、ete,drop,insert on cmy.t by scott;這里會對 cmy 用戶的 t 表進行審計,但同時使用了 by 子句,所以只會對 scott 用戶發(fā)起的操作進行審計。注 意 Oracle 沒有提供對 schema 中所有對象的審計功能,只能一個一個對象審計,對于后面創(chuàng)建的對象, Oracle 則提供 on default 子句來實現(xiàn)自動審計,比如執(zhí)行 audit drop on default by access; 后, 對于隨后 創(chuàng)建的對象的 drop 操作都會審計。但這個 default 會對之后創(chuàng)建的所有數(shù)據(jù)庫對象有效,似乎沒辦法指定 只對某個用戶創(chuàng)建的對象有效,想比

6、trigger 可以對 schema 的 DDL 進行“審計”,這個功能稍顯不足。4、審計的一些其他選項by access / by session :by access 每一個被審計的操作都會生成一條 audit trail 。by session 一個會話里面同類型的操作只會生成一條 audit trail ,默認為 by session 。whenever not successful :whenever successful 操作成功 (dba_audit_trail 中 returncode 字段為 0) 才審計 ,whenever not successful 反之。省略該子句的話

7、,不管操作成功與否都會審計。5、和審計相關(guān)的視圖dba_audit_trail :保存所有的 audit trail ,實際上它只是一個基于 aud$ 的視圖。其它的視圖 dba_audit_session,dba_audit_object,dba_audit_statement 都只是 dba_audit_trail 的一個子集。dba_stmt_audit_opts :可以用來查看 statement 審計級別的 audit options ,即數(shù)據(jù)庫設(shè)置過哪些 statement 級別的審計。 dba_obj_audit_opts,dba_priv_audit_opts 視圖功能與之類似

8、all_def_audit_opts :用來查看數(shù)據(jù)庫用 on default 子句設(shè)置了哪些默認對象審計。6、取消審計將對應(yīng)審計語句的 audit 改為 noaudit 即可, 如 audit session whenever successful 對應(yīng)的取消審計語句為 noaudit session whenever successful;8、實例講解 8.1、激活審計sqlplus / as sysdbaSQL show parameter auditNAMETYPEVALUEaudit_file_deststring/u01/app/oracle/admin/ORCL/adumpaud

9、it_sys_operationsbooleanFALSEaudit_syslog_levelstringaudit_trailstringNONESQL 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 VALUEaudit_file_deststri

10、ng/u01/app/oracle/admin/ORCL/adumpaudit_sys_operationsbooleanTRUEaudit_syslog_levelstringaudit_trailstringDB_EXTENDED8.2、開始審計sqlplus / as sysdba-記錄對一個表的所有操作SQL audit all 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 fro

11、m u_test.t_test;SQL commit;SQL conn /as sysdbaSQL selectOS_USERNAME,username,USERHOST,TERMINAL,TIMESTAMP,OWNER,obj_name,ACTION_NAME ,sessionid,os_process,sql_bind,sql_text from dba_audit_trail;sql audit select table by u_test by access;如果在命令后面添加 by user 則只對 user 的操作進行審計 ,如果省去 by 用戶 ,則對系統(tǒng)中所有的用戶進行審 計(

12、不包含 sys 用戶 ).例:AUDIT 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、審計語

13、句多層環(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 TABL

14、E, EXECUTE PROCEDURE BY ACCESSWHENEVER 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;

15、NOAUDIT ALL; - 取消所有 statement 審計NOAUDIT ALL PRIVILEGES; - 取消所有權(quán)限審計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_OBJ_

16、AUDIT_OPTS USER_OBJ_AUDIT_OPTS ; - 對象審計選項 DBA_AUDIT_TRAIL USER_AUDIT_TRAIL DBA_AUDIT_OBJECT USER_AUDIT_OBJECT DBA_AUDIT_SESSION USER_AUDIT_SESSION DBA_AUDIT_STATEMENT USER_AUDIT_STATEMENT- 對象創(chuàng)建時默認的對象審計選項- 當(dāng)前數(shù)據(jù)庫系統(tǒng)審計選項- 權(quán)限審計選項- 審計記錄- 審計對象列表- session 審計- 語句審計DBA_AUDIT_EXISTS- 使用 BY AUDIT NOT EXISTS 選項的審計DBA_AUDIT_POLICIES- 審計 POLICIESDBA_COMMON_AUDIT_TRAIL - 標(biāo)準(zhǔn)審計 + 精細審計12 、將審計結(jié)果表從 system 表空間里移動到別的表空間上實際上 sys.aud$ 表上包含了兩個 lob 字段,并不是簡單的 move table 就可以下面是具體的過程 :

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論