程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> Oracle數據庫審計

Oracle數據庫審計

編輯:Oracle教程

保證數據庫的安全有兩種方式,一種是通過權限的存取控制機制,即通過預先控制來防止安全事件的發生;另一種是數據庫審計,即對數據庫活動做跟蹤記錄,當發生安全事件時,通過對數據庫活動記錄進行審計來發現並修復安全問題。

Oracle使用大量不同的審計方法來監控使用何種權限,以及訪問哪些對象。審計不會防止使用這些權限,但可以提供有用的信息,用於揭示權限的濫用和誤用。數據庫審計的主要對象包括數據庫鏈接、SQL語句執行、數據庫對象訪問等方面。審計記錄存儲的位置有兩種選擇:一種是存儲在操作系統文件中,一種是存儲在system表空間的sys.aud$表中。

1、和審計相關的參數

(1) audit_sys_operations

(2) audit_trail

(3) audit_file_dest:指定審計信息的文件夾

SQL>show parameter audit –查詢和審計相關的兩個參數

2、audit_sys_operations參數

audit_sys_operations參數審計SYSDBA的活動,默認值false,相關的審計信息記錄在操作系統文件中(因為有可能記錄時數據庫還未啟動)。當參數值為false時,以下操作系統會強制記錄在audit_file_dest指定的文件夾中:

(1) 用管理員權限連接實例

(2) 啟動數據庫

(3) 關閉數據庫

audit_sys_operations參數設置為true後,作為SYSDBA和SYSOPER連接數據庫的用戶所發布的每條語句都會被寫入操作系統的審計中,從而能夠給出DBA所進行操作的完整記錄。設置audit_sys_operations參數的語句如下:

SQL>alter system set audit_sys_operations=TRUE scope=spfile;

SQL>alter system set audit_sys_operations=FALSE scope=spfile;

3、audit_trail 參數

(1)audit_trail 參數的值可以設置為以下幾種:

? NONE:不審計,默認值。

? DB:開啟審計功能,將audit記錄到sys.aud$表(審計的結果只有連接信息,不記錄到SQLBIND和SQLTEXT字段)。

? OS:審計記錄寫入一個操作系統文件。

? DB,extended:開啟審計功能,將audit記錄到sys.aud$表(審計信息除了連接信息還包含了當時執行的具體語句,記錄到SQLBIND和SQLTEXT字段)。

? Xml:審計記錄寫入xml格式的操作系統文件。

? Xml,extended:審計記錄寫入xml格式的操作系統文件,包括SQLBIND和SQLTEXT值。

說明:這個參數是寫到spfile裡面的靜態參數,需要重啟數據庫。

(2)設置參數值

SQL> alter system setaudit_trail='DB' scope=spfile;

說明:參數AUDIT_TRAIL不是動態的,為了使AUDIT_TRAIL參數中的改動生效,必須關閉數據庫並重新啟動。在對SYS.AUD$表進行審計時,應該注意監控該表的大小,以避免影響SYS表空間中其他對象的空間需求。

4、開啟與關閉審計

(1) 開啟審計案例

SQL>conn /as sysdba

SQL>show parameter audit

SQL>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 audit –對比先後兩次的參照值

(2) 關閉審計案例

SQL>conn /as sysdba

SQL>show parameter audit

SQL>alter system set audit_trail=none scope=spfile;

SQL>startup force --完成審計的關閉

SQL>conn /as sysdba

SQL>show parameter audit –對比先後兩次的參照值

(3)審計相關的表安裝

SQLPLUS> connect / AS SYSDBA

SQLPLUS> select * from sys.aud$;

SQLPLUS> select * from dba_audit_trail;

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

SQLPLUS> connect / as sysdba

SQLPLUS> @$ORACLE_HOME/rdbms/admin/cataudit.sql

審計表安裝在SYSTEM表空間。所以要確保SYSTEM表空間又足夠的空間存放審計信息。安裝後要重啟數據庫。

5、審計類型

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved