《Oracle 稽核方式解析 [audit]》

摘要:《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: 事件檢視器

上述作業建議要針對特定用途而使用,或定期作稽核資料的清除或備份。

否則日後容易變成系統負擔;資料過多難以稽核使用。