1,什麼是安全審計(security audit)?
informix能夠對用戶操作數據庫的動作進行記錄。以供後續追蹤操作的合理或合法性。---對操作記錄進行審查叫做“安全審計”。
2,安全審計能夠記錄哪些操作事件?
a. 成功或失敗操作信息
b. online系統的連接。你可以記錄與online系統建立連接的情況,包括是誰建立了這個連接,在什麼時刻
c. 系統和數據庫管理事件。任何管理事件例如增加dbspaces和chunks,歸檔,賦權,回收權限,或者當前的事務日誌都可以被審計。
d. 數據庫和表的操作。select,insert,update,或者delete語句都可以被審計,但是不允許只對某一個表的操作進行審計。
3, 審計工作流程
a. 管理員首先要創建audit masks(審計掩碼,audit masks存儲在sysmaster數據庫的sysaudit表中)
b. 如果執行數據庫操作,而這個操作在被審計的範圍內,online會自動在審計日誌中插入一條記錄。(審計日誌是一個UNIX文件,其中保存有審計的記錄。這個文件有可能會變得很大,主要看audit masks中包括的操作的數量和操作的類型)
c. 對每一個數據庫用戶可以有單獨的user mask(用戶掩碼)。另外,管理員可以設置一個默認掩碼,這樣沒有設置user mask的用戶就可以使用這個默認的掩碼。
4,審計掩碼有哪些?
審計掩碼告訴online什麼事件需要被審計。
單獨的審計掩碼(indiviual masks)。單獨審計掩碼是爲每一個用戶創建的掩碼,其作用是對每一個用戶的活動進行審計的。
默認的用戶掩碼(_default masks)。默認的用戶掩碼會被用在任何沒有單獨設置掩碼的用戶上。
必須的用戶掩碼(_require masks)。必須的用戶掩碼會忽略單獨用戶掩碼和默認用戶掩碼中的內容。任何在_require用戶掩碼中設置的事件都會被審計,而不管用戶的單獨掩碼中是否設置了這些事件。
排它用戶掩碼(_exclusive masks)。排它用戶掩碼同樣會覆蓋單獨的用戶掩碼和默認用戶掩碼。其中包含的事件不會被審計,即使這些事件存在於單獨的用戶掩碼和默認用戶掩碼中。這些事件不會覆蓋_require掩碼中的事件。
你也許想要對有經驗的用戶很少事件進行審計,對沒有經驗的用戶更多的事件進行審計。爲了達到這種目的,爲有經驗的用戶創建一個單獨審計掩碼其中包括較少的事件。爲所有的其它用戶創建一個默認審計掩碼,其中列出更全面的審計事件。 管理員必須創建所有的掩碼;_default,_require,_exclude和單獨用戶掩碼。
5,審計角色如何分配?
數據庫系統安全官員(DBSSO)的責任是維護審計掩碼。
審計分析官員(AAO)分析審計記錄,發現安全問題。
爲了更高的安全性,DBSSO,AAO,和ONLINE管理員應該由不同的人員來擔當。
要設置基於角色的存取控制,ONLINE系統管理員應該設置兩個環境變量。$DBSSOOWNER環境變量應該在DBSSO的登錄腳本之中。$AAOWNER環境變量應該設置在AAO的登錄腳本中。如果設置了這兩個變量:
只有AAO可以打開或者關閉審計功能。
只有DBSSO可以使用onaudit工具來維護審計掩碼。
6,安全審計的設置流程
6.1.打開安全審計。 詳見6.1.1
6.2.設置審計參數。 詳見6.2.1
6.3.創建審計掩碼和審計事件。 詳見6.3.1
6.1.1打開審計功能
有兩種方法可以打開安全審計:使用onaudit工具,或者通過配置參數。在7.10UD1之前,這些參數是在$ONCONFIG文件中設置,在7.10UD1之後,這些參數在$INFORMIXDIR/aaodir/adtcfg文件中設置。
安全審計在你第一次初始化或者關閉和重新啓動online的時候生效。你必須明確地打開審計功能:
作爲informix用戶,運行以下的命令: onaudit -1 1
審計功能會立即對任何的新的連接生效。這個命令同時會修改ADTMODE配置參數,這樣在下一次online啓動的時候會自動生效。
也可以通過修改ADTMODE參數爲1來打開安全審計。在修改了這個配置參數之後,你必須重新啓動online,讓改動生效。在ONLINE7.10.UD1版本之前,這個參數在$ONCONFIG文件中配置,在這個版本之後,這個參數在$INFORMIXDIR/aaodir/adtcfg文件中設置,並增加了更多的功能:
ADTMODE=1 寫到informix審計記錄中。不自動審計DBSSO和DBSA活動。
ADTMODE=2 寫到操作系統的審計記錄中。這個選項只在操作系統支持審計的時候纔會生效。不自動審計DBSSO和DBSA的活動。
ADTMODE=3 寫到INFORMIX審計記錄中。自動審計所有的DBSSO活動。
ADTMODE=4 寫到操作系統審計記錄中。自動審計所有的DBSSO活動。
ADTMODE=5 寫到INFORMIX審計記錄中。自動審計DBSA活動。
ADTMODE=6 寫到操作系統審計記錄中。自動審計DBSA活動。
ADTMODE=7 寫到INFORMIX審計記錄中。自動審計所有DBSSO和DBSA活動
6.2.1設置審計文件參數
1.指定審計文件的目錄:
onaudit -p /work/audit
或者 ADTPATH /work/audit
2.指定審計文件的大小: onaudit onaudit -s 50000
或者
ADTSIZE 50000
6.3.1創建審計掩碼和審計事件
在創建審計掩碼之前需要設置其它的兩個審計參數,它們是:審計文件所在的目錄。審計文件中存儲所有用戶的審計記錄。首先創建一個目錄。確保這個目錄的權限爲只能被INFORMIX帳號存取。
在online處於啓動狀態的時候,你可以通過執行如下的命令來修改審計目錄: onaudit -p 路徑
其中路徑名爲將要放置審計文件的路徑名。onaudit命令同時會修改ADTPATH配置參數的值。
你可以手工修改ADTPATH參數的值。然爾通過這種方式,你必須關閉和重新啓動ONLINE,讓改動生效。
默認文件大小。 ONLINE在ADTSIZE配置參數中限制了審計文件的大小。當審計文件的大小到達ADTSIZE的時候,一個新的審計文件會在ADTPATH路徑下創建。
你可以通過onaudit工具來修改審計文件的大小,同時會修改ADTSIZE配置參數,這個大小的單位是字節:
onaudit -s 50000
你可以手工修改ADTSIZE參數的值。然爾通過這種方式,你必須關閉和重新啓動ONLINE,讓改動生效。
通過限制審計文件的大小,你可以週期性地將舊的審計文件歸檔或者刪除。你也可以在當前的審計文件沒有滿的時候自動啓動一個新的審計文件,方法是執行如下命令:onaudit -n
設置錯誤參數
最後,你可以指定由於某種原因導致不能寫審計文件的情況下,系統執行什麼操作:
停止(0)模式-在一個用戶會話試圖寫一個審計文件,但是寫文件失敗,它會等待,然後每秒重試一次。在審計文件可以寫之前,這個會話不能做任何操作。
繼續(1)模式-這種模式意味着會話會繼續下去,即使不能夠寫審計日誌,online的信息日誌中會接到一條錯誤信息,說日誌文件不能存取和更新。
HALT(0)是默認的錯誤模式。
你可以通過兩種辦法來修改錯誤模式。
使用onaudit工具:
onaudit -e error-mode
這個命名執行的同時會修改ADTERR配置參數。
修改在$ONCONFIG文件中的ADTERR參數的值,爲了讓這個改變生效,你必須重新啓動online。
顯示審計配置
你可以運行onaudit -c 命令來顯示審計的配置:如
onaudit -c
Current audit system configuration:
ADTMODE =1
ADTERR = 0
ADTPATH = /work/tmpaudit
ADTSIZE = 5000
Audit file =1
如果online DBSERVERNAME爲online1shm,當前的審計文件名爲: online1shm.1
使用onaudit設置掩碼
onaudit工具同時用來維護審計掩碼。可以用它來增加,刪除,修改或者輸出一個掩碼。 _default,_require和_exclude掩碼