日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

oracle数据库登录审计,oracle数据库审计

發布時間:2025/3/17 数据库 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle数据库登录审计,oracle数据库审计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、何謂數據庫審計?

數據庫審計,就是對數據庫的活動做跟蹤記錄,主要包括數據庫連接,SQL語句執行,數據庫對象訪問這些方面的跟蹤記錄。

二、審記記錄的存儲方式

分為兩種:一種是存儲在操作系統文件中,一種是存儲在system表空間中的SYS.AUD$表中。

三、對數據庫性能影響的考慮

審計必然需要占用CPU,因此,需要綜合平衡審計需求與性能之間的平衡性問題,以確定出最好的審許策略。

四、審記結果中包含哪些信息

前面講到審許結果的存儲分數據庫存儲和文件存儲兩種方式。對于數據庫存儲的情況,SYS.AUD$表中包含以下信息:

1)??????? ?操作系統用戶名

2)??????? ?數據庫用戶名

3)??????? ?連接會話標識

4)??????? ?終端標識

5)??????? ?被訪問的schema對象名

6)??????? ?嘗試的操作

7)??????? ?操作的完整代碼

8)??????? ?日期和時間戳

若審計記錄存儲在外部操作文件中,則該文件可能包含以下信息:

1)???????? ?操作系統產生的審計記錄

2)???????? ?數據庫的審計記錄

3)???????? ?被審計到的數據庫操作

4)???????? ?超級管理員(SYS)的審計記錄

其中,被寫到文件中的審計記錄是以編碼的方式存儲的,如果要理解這些編碼所對應的信息,可以查詢以下數據字典表:

編碼信息數據字典表

-------------------------------

數據庫操作代碼表示嘗試的操作。它的相關描述可以從數據字典表AUDIT_ACTIONS表中查詢到

操作所使用的權限可以在字典表SYSTEM_PRIVILEGE_MAP中查詢到對應的說明

完整的操作代碼操作成功時將返回0,失敗時返回相關oracle錯誤信息,錯誤信息碼所對應的說明可以從oracle官方文檔中獲得

--------------------------------

五、缺省的審計

不論當前是否已經開啟的審計功能,數據庫都會把一些數據庫相關的操作寫入外部審計文件中(注意:不是寫入SYS.AUD$表),這些被缺省審計的操作是:

1)???????? ?以超級管理員權限對數據庫的連接(connectASSYSDBA或connectASSYSOPER)

2)???????? ?數據庫啟動

3)???????? ?數據庫停止

六、對超級管理員用戶的操作行為的審計

超級管理員用戶指的是以ASSYSDBA或ASSYSOPER方式連接數據庫的用戶。初始化參數AUDIT_SYS_OPERATIONS用來指定是超級管理員的審計選項,如果將AUDIT_SYS_OPERATIONS設置為TRUE,那么所有超級管理員的操作都將被審計,而不管當前是否有開啟審計功能,而且所有的審計信息都被寫入外部審計文件中(注意:不是寫入SYS.AUD$表)。

七、執行審計

1.設定審計記錄的存放位置

初始化參數AUDIT_TRAIL指定了審計記錄的存放位置,該參數有三個取值:

1)???????? ?DB審計記錄存放在數據庫的SYS.AUD$表中

2)???????? ?OS審計記錄存放在外部的操作系統文件中

3)???????? ?NONE關閉審計(缺省值)

初始化參數AUDIT_FILE_DEST指定了當審外部審記文件目標存儲路徑,其缺省值是$ORACLE_HOME/rdbms/audit

2.審計選項

這個審計選項指的是執行審計的AUDIT語句的可選項。AUDIT語句的語法請參考oracle官方SQL參考。

3.以實例說明審計

a.審計某用戶的會話的創建與結束

AUDITSESSIONBYscott,fey;

b.審計所有用戶的會話的創建與結束

AUDITSESSION;

c.審計刪除表的操作

AUDITDELETEANYTABLE;

c.審計刪除表的操作(限制:只審計刪除失敗的情況)

AUDITDELETEANYTABLEWHENEVERNOTSUCCESSFUL;

d.審計刪除表的操作(限制:只審計刪除成功的情況)

AUDITDELETEANYTABLEWHENEVERSUCCESSFUL;

e.審計刪除表的操作(限制:同一個會話中相同的操作語句只審計一次)

AUDITDELETEANYTABLEBYSESSION;

(注:對于這種情況,如果審計記錄被設定為存儲在外部文件中時,這個效果是體現不出來的,因為oracle無法判斷是否已經審計過相同的操作語句。)

f.審計刪除表的操作(限制:每支刪除語句都審計,不論同一會話中是否有多條相同的操作語句)

AUDITDELETEANYTABLEBYACCESS;

g.審計對fey.employee表的delete操作

AUDITDELETEONfey.employee;

h.審計對fey.employee表的delete、updet、insert操作

AUDITDELETE,UPDATE,INSERTONfey.employee;

八、停止審計

停止審計使用NOAUDIT語句,該語句的語法請參考oracle官方SQL參考。下面以實例說明NOAUDIT的使用:

a.停止所有對會話的創建與結束的審計

NOAUDITSESSION;

b.停止對用戶fey,scott的會話的創建與結束的審計

NOAUDITSESSIONBYfey,scott;

c.停止審計刪除表的操作

NOAUDITDELETEANYTABLE;

c.停止審計刪除表的操作(限制:停止審計刪除失敗的情況)

NOAUDITDELETEANYTABLEWHENEVERNOTSUCCESSFUL;

d.停止審計刪除表的操作(限制:停止審計刪除成功的情況)

NOAUDITDELETEANYTABLEWHENEVERSUCCESSFUL;

g.停止審計對fey.employee表的delete操作

NOAUDITDELETEONfey.employee;

h.停止審計對fey.employee表的delete、updet、insert操作

NOAUDITDELETE,UPDATE,INSERTONfey.employee;

九、對審計記錄表SYS.AUD$的管理

當SYS.AUD$表的審計記錄越來越多的時候,以至達到存儲極限時,會因為審計記錄無法寫入而產生錯誤。或許我還也需要對該表的數據進行一些轉儲或者碎片的整理,或是刪除一些我們認為不再需要的審計記錄。這些都是要考慮的事情。下面給出一個對該表進行存儲碎片的整理的一個方法:

a.將該表的數據selectinto到另一個表中,或利用export導出到外部文件

b.truncate這張表(要以超級管理員登錄才行)

c.再將原先轉儲的數據再加載進來。

也許我們需要對針對SYS.AUD$表的操作進行審計,如:AUDITINSERT,UPDATE,DELETEONsys.aud$BYACCESS;

十、Fine-Grained審計

如前面所述,審計的記錄中并沒有含操作所作用的數據,比如說,需要審計針對一個表的select,而且需要在審計記錄中包含select語句所返回的數據。這時,就需要用到Fine-Grained審計。Fine-Grained審計是基于oracle的事件,其原理是在insert,update或delete相關的事件中截取相關的數據。屬于orale程序開發的范疇。具體可以參考相關oracle文�。

十一、審計相關的數據字典視圖

STMT_AUDIT_OPTION_MAP

AUDIT_ACTIONS

ALL_DEF_AUDIT_OPTS

DBA_STMT_AUDIT_OPTS

DBA_PRIV_AUDIT_OPTS

DBA_OBJ_AUDIT_OPTS

USER_OBJ_AUDIT_OPTS

DBA_AUDIT_TRAIL

USER_AUDIT_TRAIL

DBA_AUDIT_OBJECT

USER_AUDIT_OBJECT

DBA_AUDIT_SESSION

USER_AUDIT_SESSION

DBA_AUDIT_STATEMENT

USER_AUDIT_STATEMENT

DBA_AUDIT_EXISTS

DBA_AUDIT_POLICIES

DBA_FGA_AUDIT_TRAIL

各視圖的詳細說明請參考oracle官方參考手冊

總結

以上是生活随笔為你收集整理的oracle数据库登录审计,oracle数据库审计的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。