安全審計打造固若金湯的數據堡壘(四)
之前我們已經了解安全審計打造固若金湯的數據堡壘系列文章(一),(二),(三)的部分了。第四本分我們還將繼續為您介紹安全審計方面的內容,包括審計特權、用戶、登錄定義和其它安全特性的變更等內容。
審計特權、用戶、登錄定義和其它安全特性的變更
這類審計對于數據庫的審計來說是必須的;你必須對數據庫安全和特權的任何變更維持一套完整的審計記錄。數據庫管理著安全、許可、變更的復雜規劃,在安全問題中的首要規則是,必須審計安全形勢的任何變更。考慮審計下面的這些變更:
1、增加和刪除用戶、登錄、角色等
2、登錄和用戶(角色)之間的映射關系發生變更
3、特權變更(無論是由用戶還是由角色引起的)
4、口令變更
5、在服務器、數據庫、語句或對象水平上對安全屬性的變更
由于數據庫內的安全模式是一個入口,所以必須審計對特權和許可的任何變更。攻擊者會經常提升其特權水平,而且在管理員提供了錯誤的許可、授權后也經常出現錯誤。因而,對可能影響數據庫安全狀況的所有變更都進行完整的審計,就如同將監視攝像機放置在大樓的入口處一樣,必須審計登錄憑證是否發生變化。
安全許可的變更對數據庫極其重要,僅依賴于每天的比較是不夠的,應該選擇實時變更通知,即實時審計那些沒有在生產環境中提前規劃的變更。這意味著你應當使用一種外部的數據庫安全和審計系統,或者使用內置的數據庫機制所生成的審計線索來構建實時的警告。
如果你打算自己實施這種系統,就需要捕獲相關事件,然后構建警告框架。例如,下表顯示了可用于SQL Server的相關事件。
在DB2中,SECMAINT是六類審計之一,在授權和撤消對象或數據庫特權時,或者在許可和撤消DBADM權限時,會生成記錄。在修改數據庫管理員的安全配置參數(SYSADM_GROUP、SYSCTRL_GROUP、 SYSMAINT_GROUP)時,也會生成記錄。下表列示了一些可能的SECMAINT的特權或授權:
在這種情況下,你可以建立一組希望用于跟蹤的命令。如下圖所示。
然后將規則(相關規則顯示在下圖中)添加到策略中,在使用這種命令時向安全管理人員發出警告。策略中的規則確保了安全管理人員能收到關于這種命令的警告,但即使沒有規則,你仍能獲得完整的審計線索,這種線索包括用戶組中發生的任何命令。
審計數據庫鏈接以及數據庫副本的創建、變更、利用
與前面幾種審計不同,對鏈接、同義詞或昵稱的審計以及對創建副本過程的審計都表明,定期析出和比較數據已經足夠了。雖然你有三個選擇:比較快照,使用數據庫的內部審計機制,使用外部審計和安全系統。但實際上,使用diff這個小工具就足以應對。這種情形下,你只需一段能夠查詢這些定義的腳本,并將這些定義放在一個可用于與未來的某天進行比較的文件中。
如果你喜歡使用內部的數據庫審計機制或使用外部的審計系統,就得將這些審計線索建立在對象和命令上。在多數數據庫環境中,沒有專門的副本和鏈接的審計功能。不過,你仍有許多特定的審計對象和命令。例如,你可以使用與副本有關的SQL Server對象。
【編輯推薦】