摘要:《Oracle 稽核方式解析 [audit]》
以下是參考網路上文件後寫下,若有錯誤還請指教,謝謝.
-----------------------------------------------------------------------------------------------------------------
1.Oracle audit: 特定對象對某種權限的使用;對特定表 select、insert、update、delete;
例如: A. Ting 使用到 "Select any table" 的權限,存取Chemo的某張表,但是並未透過正式授權。
B. Create Table 的權限使用
C. Update Ting.medmedf
可稽核的內容: 可得知OS登入的帳號、使用的oracle帳號、機器名稱、稽核被觸發的時間、依據稽核內容記錄。
例如: 使用者在何時登入系統;使用者是否存取特定資料表。
優點: A. 每個session 只會產生一筆稽核資料;或是每次存取資料表時一筆稽核資料。 資源使用較 FGA (Fine-grained audit) 少。
B. 可將此記錄記在 DB 或是 系統事件檢視器中。 缺點: A.無法得知細節資訊。例如無法確切得知使用者存取的是那一筆資料,用
了什麼SQL,改了什麼資料。 ====> 可透過trigger實現,但僅能針對特定重要資料表。
B.若要對特定對象下的所有資料表作稽核,需要逐筆設定。
C.audit 設定需變更資料庫參數;必須重啟資料庫才能變更設定。
2.System triggers : 與一般建立在資料表上的trigger不同。 此 trigger 是建立在系統事件之上;例如 登入、登出、資料庫開啟、
關、creation、altering、dropping of schema objects。
AFTER STARTUP
BEFORE SHUTDOWN
AFTER LOGON
BEFORE LOGOFF
AFTER DB_ROLE_CHANGE -- for Data Guard failover and switchover
AFTER SUSPEND
AFTER SERVERERROR
例如:
CREATE OR REPLACE TRIGGER bcs_trigger
BEFORE LOGON
ON DATABASE
BEGIN
NULL;
END:
2.1 DDL trigger : 當Schema 有ddl異動時觸發
BEFORE / AFTER ALTER
BEFORE / AFTER ANALYZE
BEFORE / AFTER ASSOCIATE STATISTICS
BEFORE / AFTER AUDIT
BEFORE / AFTER COMMENT
BEFORE / AFTER CREATE
BEFORE / AFTER DDL
BEFORE / AFTER DISASSOCIATE STATISTICS
BEFORE / AFTER DROP
BEFORE / AFTER GRANT
BEFORE / AFTER NOAUDIT
BEFORE / AFTER RENAME
BEFORE / AFTER REVOKE
BEFORE / AFTER TRUNCATE
AFTER SUSPEND
例如:
CREATE OR REPLACE TRIGGER bcs_trigger
BEFORE CREATE
ON SCHEMA
BEGIN
NULL;
END:
3.Update、delete、insert triggers: 建立在資料上的trigger,可得知使用者操作的細微動作;例如 哪一筆資料被更新,原本資料的
樣與之後資料的模樣均可被記錄。 缺點: 只能針對特定重要資料表記錄。
4.Fine-grained audit: 可針對特定資料表的存取作記錄,會有當時執行的SQL語句及可限制某條件下被操作才稽核。
優點: A. 不須重啟資料庫,僅須執行package (dbms_fga)
B.可知道所操作的SQL指令。
缺點: A. oracle 9i 只能針對 select 作稽核; oracle 10g 可以作 select、update 、insert、 delete的稽核
B. 因每個作業都會產生一筆資料,所以資源使用較 Oracle audit 多。
C. 若要對特定對象下的所有資料表作稽核,需要逐筆設定。 日後若有新的資料表,須再次設定。
Fine-grained auditing may be useful for specific auditing situations, but is not suggested for daily auditing activities.
5.System log: 事件檢視器
上述作業建議要針對特定用途而使用,或定期作稽核資料的清除或備份。
否則日後容易變成系統負擔;資料過多難以稽核使用。