Oracle安全機制--審記

liypsky發表於2010-12-15

審計是對選定的使用者動作的監控和記錄,通常用於:

審查可疑的活動。

例如:資料被非授權使用者所刪除,此時安全管理員可決定對該 資料庫的所有連線進行審計,以及對資料庫的所有表的成功地或不成功地刪除進行審計。

監視和收集關於指定資料庫活動的資料。例如:DBA可收集哪些被修改、執行了多少次邏輯的I/O等統計資料。

ORACLE支援三種審計型別:

[@more@]語句審計,對某種型別的SQL語句審計,不指定結構或物件。

特權審計,對執行相應動作的系統特權的使用審計。

物件審計,對一特殊模式物件上的指定語句的審計。

ORACLE所允許的審計選擇限於下列方面:

審計語句的成功執行、不成功執行,或者其兩者。

對每一使用者會話審計語句執行一次或者對語句每次執行審計一次。

對全部使用者或指定使用者的活動的審計。

當資料庫的審計是使能的,在語句執行階段產生審計記錄。審計記錄包含有審計的操作、使用者執行的操作、操作的日期和時間等資訊。審計記錄可存在資料字典表(稱為審計記錄)或作業系統審計記錄中。資料庫審計記錄是在SYS模式的AUD$表中。

摘:

Oracle 審計功能 簡單介紹

Oracle的審計機制是用來監視使用者對ORACLE資料庫所做的各種操作。
在預設情況下,系統的審計功能是關閉的。可以在INIT.ORA引數檔案中將引數AUDIT_TRAIL設定為正整數來啟用。
審計功能啟用後,任何擁有表或檢視的使用者就可以進行如下審計操作:
 ·使用SQL語句來挑選審計選擇項;
 ·審計對該使用者所擁有的表或檢視的成功或不成功的存取企圖;
 ·有選擇的審計各種型別的SQL操作(SELECT、UPDATE、INSERT、DELETE);
 ·控制審計的程度(是以SESSION還是ACCESS為單位)。
對於DBA使用者還可以以下審計功能:
 ·對成功的LOGON、LOGOFF、GRANT、REVOKE進行審計;
例如:
審計不成功的登陸、建立表、刪除表、修改表、drop表,及其授權操作。
audit session whenever not successful;
audit create any table, delete any table, drop any table, alter any table by access ;
audit table by access ;
audit create user, alter user, drop user by access ;
audit grant table, grant procedure by access;
撤銷所有審計:
noaudit all;
noaudit all privileges;
那麼,如何對DBA的所有操作進行審計?
執行結果為select 'AUDIT ALL PRIVILEGES by '||a.granted_role||';' from dba_role_privs a where a.granted_role = 'DBA';的查詢
或者直接用更簡單的方式:
audit DBA;
查詢審計結果:
DBA_AUDIT_TRAIL 審計追蹤記錄
DBA_AUDIT_SESSION SESSION審計記錄
DBA_AUDIT_STATEMENT STATEMENT審計記錄
DBA_AUDIT_OBJECT 物件審計記錄
ALL_DEF_AUDIT_OPTS 所有預設審計
DBA_STMT_AUDIT_OPTS 所有語句審計
DBA_PRIV_AUDIT_OPTS 所有許可權審計
DBA_OBJ_AUDIT_OPTS 所有物件審計
相關表和檢視:
SYS.AUD$ 是唯一保留審計結果的表。其它的都是檢視。
STMT_AUDIT_OPTION_MAP 包含有關審計選項型別程式碼的資訊由SQL.BSQ 指令碼在CREATEDATABASE 的時候建立
AUDIT_ACTIONS 包含對審計跟蹤動作型別程式碼的說明
ALL_DEF_AUDIT_OPTS 包含預設物件審計選項。當建立物件時將應用這些選項
DBA_STMT_AUDIT_OPTS 描述由使用者設定的跨系統的當前系統審計選項 (這張表記錄了開啟哪些審記功能)
DBA_PRIV_AUDIT_OPTS 描述由使用者正在審計的跨系統的當前系統許可權
DBA_OBJ_AUDIT_OPTS 描述在所有物件上的審計選項
USER_OBJ_AUDIT_OPTS USER 檢視描述當前使用者擁有的所有物件上的審計選項.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/678020/viewspace-1043128/,如需轉載,請註明出處,否則將追究法律責任。

相關文章