了解數據庫安全審計工具(上):什么是數據庫審計
審計是規則遵從和安全計劃的核心組成部分,也是目前IT部門中普遍實行的做法。關系數據庫是第一款嵌入審計功能、并將其作為本地平臺功能的企業級應用程序。然而,這次嘗試卻給審計帶來了不好的名聲。廠商只是提供了最基本的功能,卻沒有給數據庫管理員提供所需要的性能和易管理性,因此管理員們至今仍對審計功能感到厭惡,并依舊抵制使用數據庫審計跟蹤功能。
數據庫管理員對本地審計功能感到厭惡是有其合理性的:本地審計的性能和數據管理效果曾帶給他們夢魘般的遭遇,此外,審計跟蹤并不是為了目前它們所從事的任務而設計的。雖然存在著這些不足,但是法規遵從所需的精確、完整的交易記錄卻是關系數據庫審計跟蹤所能夠提供的。
安全和規則遵從的需要促使人們去使用數據庫審計功能,這些日志文件也給人們提供了洞察數據庫活動的獨特視角。 數據庫廠商正致力于優化產品的審計性能,減小歷史遺留問題,但用戶依然需要謹慎部署,從而避免目前已知的問題。
什么是數據庫審計
數據庫審計是指對審計和事務日志進行審查,從而跟蹤數據和數據庫結構的變化。數據庫可以這樣進行設置:捕捉數據和元數據的改變,以及存儲這些資料的數據庫所做的修改。典型的審計報告應該包括以下內容:完成的數據庫操作、改變的數據值、執行該項操作的人,以及其他幾項屬性。這些審計功能被植入到所有的關系數據庫平臺中,并確保生成的記錄文件具有較高的準確性和完整性,就好像在數據庫中存儲的數據一樣。此外,審計跟蹤還能把一系列的語句轉化為合理的事務,并提供業務流程取證(forensic)分析所需的業務環境。
不過,審計功能也存在限制,例如不能對數據訪問語句(通常稱之為SELECT語句)進行審計。另外,本地數據庫審計很難捕捉到用戶認可的原始查詢(query)和變量(variables),只能從綜合的角度對事件做出記錄,而日志則可以捕捉到改變前后的數據值。這也使得審計跟蹤在檢測已改變的內容時,比檢測已訪問的內容更為有效。
對數據庫活動和狀態進行取證檢查時,審計可以準確的把握事件的本質。對SELECT語句(用戶查看數據時會使用)進行檢查時,因為本地平臺缺乏對這些語句的收集能力,即便利用高級選項實現了這項操作,也會導致性能受到極大損失。既然有簡單的方法可以高效地對SELECT語句進行登記(cataloging)(例如,登入失敗、嘗試查看信用證信息),為什么企業還要選擇在本地數據庫審計功能上增加其他的數據收集資源。不管怎樣,內置的數據庫審計功能可以生成事務認證和法規控制的核心信息。
數據庫審計的促進因素
在對一些特定的數據庫審計創建工具和收集工具進行分析之前,讓我們先來探究一下為什么需要加入這些功能。你所在的企業可能存在下面所提的一項也或是所有需求。
規則遵從:法規控制在一些領域起著關鍵性的作用,例如在管理變動、業務流程驗證、系統故障,或生成具有一定準確性和一致性的安全事件材料等方面。這也是數據庫審計在欺詐檢測方面如此重要的原因所在。此外,數據庫審計對與薩班斯-奧克斯利(Sarbanes-Oxley)法案相關的法規遵從也具有重大的意義。管理變動、事務歷史記錄、特定事件報告通常都是法規控制所要求的。PCI-DSS額外控制也是非常重要的,因為系統權限更改、或管理行為和系統功能的變更都需要進行仔細的審查。
你需要時刻謹記的是,數據庫審計并沒有在各種規則遵從(包括SOX、PCI-DSS、HIPAA、FERPA或美國國家隱私條例)中被明確地列為一項必須具備的要求。在實踐中,審計為政策執行所必要的元素(如,業務流程、數據使用、以及管理任務)都提供了精確、簡潔的歷史記錄。因為所有企業應用程序都需要數據庫的支持,并且是數據狀態(業務處理的凈結果)的唯一權威,所以數據庫是實行控制最合理、也最有效的地方。因此,大多數以跟蹤特定用戶群體、對象或數據元素為核心任務的審計工作都需要進行數據庫審計。
安全:數據的安全和隱私是使用數據庫審計功能的另一個主要促進因素,比以上所述的幾點因素重要得多。捕捉失敗的登入、查詢,以及管理功能的誤用是對系統探查能力進行檢測的一種途徑。對能夠暴露數據的視窗(views)插件進行監控、使用系統功能的公共許可、為普通用戶提供管理能力的權限更改,這些都是很常見的使用案例。對誰在何時、何地進行了何種操作等屬性進行取證分析,能夠提供非常不錯的提示信息,以顯示數據庫的使用是否合法,或是否有可能受到潛在的攻擊。為防止數據庫被篡改,審計跟蹤提供了足夠的信息以確定更改的類型,并幫助用戶理解必需的糾正措施。通常情況下,審計跟蹤用于輔助SIEM(安全信息和事件管理)以及日志管理等安全工具,進行相關性和安全事件的通知。
操作: 數據庫審計功能最初是為幫助數據庫管理員審查數據庫活動而設計的,使得他們可以理解如何分配資源以及對何處的查詢做出調整。盡管目前已經有了完成上述任務的工具,并且性能也不錯,數據庫審計仍然在進行著故障分析和業務流程分析,從而確保數據庫的可靠性。因為你可以設想下述場景:當災難性的故障發生了,你會問“剛才發生了什么事?”,此時,如果進行審計跟蹤的話,你可以極為簡便的恢復系統。
【編輯推薦】