Oracle OCP(50):審計簡介

Ryan_Bai發表於2019-05-14

一、審計分類

Oracle中審計總體上可分為“標準審計”和“細粒度審計”後者也稱為“基於政策的審計”,在Oracle10G之後功能得到很大增強。其中標準審計可分為使用者級審計和系統級審計。使用者級審計是任何Oracle使用者可設定的審計,主要是使用者針對自己建立的資料庫表或檢視進行審計,記錄所有使用者對這些表或檢視的一切成功和(或)不成功的訪問要求以及各種型別的SQL操作。系統級審計只能由DBA設定,用以監測成功或失敗的登入要求、監測GRANT和REVOKE操作以及其他資料庫級許可權下的操作。

二、審計用途

通常用於以下活動:

  1. 確保行為的準確性。包括對特定模式、表、行貨影響特定內容的行為

  2. 根據賬號探測到非預期操作的使用者

  3. 調查可疑的活動。比如某個使用者刪除了表中資料,安全管理員可能決定審計資料庫連線和所有成功的、不成功的對資料庫中所有表的行刪除操作。

  4. 將非授權使用者的行為通知審計員。

  5. 監控和彙總特定資料庫活動資訊。比如資料庫管理員收集哪些表被更新、進行了哪些邏輯i/o、當前有多少使用者連線等

  6. 探測某個授權的問題或者控制執行。比如你可以建立審計策略,規定不要生成審計資訊,因為資料通過其他方式保護。

  7. 這樣,當有審計資訊生成時,你就知道其他的安全控制失效了。

  8. 定位審計要求。

三、審計的內容

  1. 一般活動

    審計sql語句、許可權、模式物件、函式、儲存過程、包、觸發器、網路活動。

    比如,可以在某個使用者執行update、delete語句時進行審計。

    oracle將審計記錄寫入audit_trail初始化引數執行的位置。

  2. 預設的,安全相關的sql語句和許可權

    oracle提供的一系列預設審計設定。

    結果寫入audit_trail引數指定位置。

  3. 特定的,細粒度活動

    對於特定範圍的資料,比如value>7800的,特定IP的

    可以將設計記錄寫到資料庫審計跟蹤或xml格式的作業系統審計跟蹤中

  4. sys管理使用者

    可以對sysdba或sysoper許可權連線的使用者直接指定的sql進行審計。不包括pl/sql過程、函式。

四、審計引數

  • 檢視引數

    show parameter audit_trail;

  • 引數值有五種

    • NONE:關閉審計功能

    • DB:預設值    可以通過SYS.AUD$進行查詢

    • OS:審計資訊寫入到作業系統,檔案路徑通過audit_file_dest引數控制

    • DB,EXTENDED:額外記錄SQL語句到SYS.AUD$.SQL_TEXT

    • XML:10G開始新增XML XML,EXTENDED

五、審計相關表

AUD$,預設建立在SYSTEM表空間,建議move到單獨的表空間下

  1. 確認是否有表

    如果查詢的時候發現表不存在,說明審計相關的表還沒有安裝,需要安裝。

    SELECT * FROM SYS.AUD$; -- 沒有記錄返回 
    SELECT * FROM DBA_AUDIT_TRAIL; -- 沒有記錄返回
    
  2. 安裝

    審計表安裝在SYSTEM表空間。所以要確保SYSTEM表空間又足夠的空間存放審計資訊。

    @$ORACLE_HOME/rdbms/admin/cataudit.sql
    
  3. 遷移審計表至其它(USERS)表空間

    ALTER TABLE sys.aud$ MOVE TABLESPACE USERS;
    ALTER TABLE sys.aud$ MOVE LOB(sqlbind) store as(TABLESPACE USERS);
    ALTER TABLE sys.aud$ MOVE LOB(SQLTEXT) store as(TABLESPACE USERS);
    ALTER TABLE sys.I_AUD1 REBUILD tablespace USERS;
    

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

相關文章