-
數據庫審計
鎖定
數據庫審計(簡稱DBAudit)以安全事件為中心,以全面審計和精確審計為基礎,實時記錄網絡上的數據庫活動,對數據庫操作進行細粒度審計的合規性管理,對數據庫遭受到的風險行為進行實時告警。它通過對用户訪問數據庫行為的記錄、分析和彙報,來幫助用户事後生成合規報告、事故追根溯源,同時通過大數據搜索技術提供高效查詢審計報告,定位事件原因,以便日後查詢、分析、過濾,實現加強內外部數據庫網絡行為的監控與審計,提高數據資產安全。
黑客的SQL注入攻擊行為,可以通過數據庫審計發現。
- 中文名
- 數據庫審計
- 外文名
- Database audit
- 簡 稱
- DBAudit
- 作 用
- 實時記錄網絡上的數據庫活動
數據庫審計安全挑戰
數據庫是任何商業和公共安全中最具有戰略性的資產,通常都保存着重要的商業夥伴和客户信息,這些信息需要被保護起來,以防止競爭者和其他非法者獲取。互聯網的急速發展使得企業數據庫信息的價值及可訪問性得到了提升,同時,也致使數據庫信息資產面臨嚴峻的挑戰,概括起來主要以下三個層面:
1. 管理風險:主要表現為人員的職責、流程有待完善,內部員工的日常操作有待規範,第三方維護人員的操作監控失效等等,離職員工的後門,致使安全事件發生時,無法追溯並定位真實的操作者。
2. 技術風險:Oracle, SQL Server是一個龐大而複雜的系統,安全漏洞比如:溢出、 注入等層出不窮,每一次的CPU(Critical Patch Update)都疲於奔命, 而企業和政府處於穩定性考慮,往往對補丁的跟進非常延後,更何況通過應用層的注入攻擊使得數據庫處於一個無辜受害的狀態。
3. 審計層面:現有的依賴於數據庫日誌文件的審計方法,存在諸多的弊端,比如:數據庫審計功能的開啓會影響數據庫本身的性能、數據庫日誌文件本身存在被篡改的風險,難於體現審計信息的有效性和公正性。此外,對於審計數據的挖掘和迅速定位也是任何審計系統必須面對和解決的一個核心問題之一。
數據庫審計歷史回顧
對於數據庫審計
[1]
的理解,其實有一個發展過程。 從幾年前開始, 開始在原來日誌審計的基礎上發展包裝了一個數據庫審計,這類系統能記錄並顯示基本的往數據庫發的sql, 並且有一定的查詢和報表功能。客觀地説, 這種系統一開始出現時滿足了一定的需求。
但是隨着新信息安全時代的到來,原來的基本功能越來越體現起不足,比如越來越多的控制是關注返回而不是請求, 弱口令等管理風險如何控制, 還有如何進行用户訪問控制細粒度策略的定製和實施, 和萬一數據被篡改或刪除後(不管是有意還是無意)能否儘快實施定位式恢復。
數據庫審計主要功能
多層業務關聯審計:
通過應用層訪問和數據庫操作請求進行多層業務關聯審計,實現訪問者信息的完全追溯,包括:操作發生的URL、客户端的IP、請求報文等信息,通過多層業務關聯審計更精確地定位事件發生前後所有層面的訪問及操作請求,使管理人員對用户的行為一目瞭然,真正做到數據庫操作行為可監控,違規操作可追溯。
細粒度數據庫審計:
通過對不同數據庫的SQL語義分析,提取出SQL中相關的要素(用户、SQL操作、表、字段、視圖、索引、過程、函數、包…) 實時監控來自各個層面的所有數據庫活動,包括來自應用系統發起的數據庫操作請求、來自數據庫客户端工具的操作請求以及通過遠程登錄服務器後的操作請求等 通過遠程命令行執行的SQL命令也能夠被審計與分析,並對違規的操作進行阻斷 系統不僅對數據庫操作請求進行實時審計,而且還可對數據庫返回結果進行完整的還原和審計,同時可以根據返回結果設置審計規則。
精準化行為回溯:
全方位風險控制:
靈活的策略定製:根據登錄用户、源IP地址、數據庫對象(分為數據庫用户、表、字段)、操作時間、SQL操作命令、返回的記錄數或受影響的行數、關聯表數量、SQL執行結果、SQL執行時長、報文內容的靈活組合來定義客户所關心的重要事件和風險事件 多形式的實時告警:當檢測到可疑操作或違反審計規則的操作時,系統可以通過監控中心告警、短信告警、郵件告警、Syslog告警等方式通知數據庫管理員。
職權分離:
友好真實的操作過程回放:
數據庫審計審計手冊
數據庫系統功能強大而豐富,對於一個數據庫環境而言,我們可以生成很多類型的審計記錄。知道有哪些審計類型以及如何實施這些審計有助於你滿足合規需求。要實施完善的數據庫審計,必須理解的一個關鍵問題是需求,從而知道可以使用哪些審計類型來滿足自己的需求。
登入和登出
在你要進入一家公司會晤某人的時候,一般需要在前台進行登記。這樣做可確保公司完整的記錄進入公司的任何人,在出現問題時,或在追蹤和調查“這事兒是誰幹的?”時,這種登錄很有用處。這種日誌通常會記錄來客是誰、何時進入、何時離開。同樣的過程也適用於數據庫,多數環境中所需要的首要審計就是完整的記錄哪些人曾登入過數據庫。
對於這類審計,你需要記錄兩類事件:登入事件和登出事件。對於每一個事件,你都需要保存登錄名和時間,但你還應該考慮記錄附加信息。這包括髮起連接的客户端的IP地址,以及用於初始化連接的程序。例如,在Oracle環境中,你可能想知道該連接是否由SQL Plus等初始化。
數據庫源頭
雖然這種信息是我們在審計數據連接時通常都會捕獲的值之一,但在SQL調用水平上捕獲這種信息非常重要。除了知道一個用户是使用Excel而不是SAP系統連接之外,你還需要知道某次更新是由Excel電子數據表軟件還是由SAP系統執行的。因此,你在每次查詢和數據庫操作中,應該將源程序收集在審計記錄中,特別當IP地址能夠單獨確認一個用户時。如果你的架構是基於客户/服務器的,那麼源IP地址通常會確認一個確定的用户。這種情況下,根據用户每次SQL調用的IP地址進行跟蹤和報告,這同報告終端用户的數據庫操作和數據查看同樣有益。另一方面,如果你使用一種應用程序服務器架構,那麼IP地址不會幫助你確認和報告終端用户,你需要藉助於其它技術。
在審計和提供審計信息時,你還得做另一個決定,這與你是提供“原始數據”還是更易於使用的數據有關。例如,上圖三中的左側顯示了哪些源程序被用於訪問運行在155.212.221.84上的SQL服務器上。這種信息對於瞭解環境的人員來説非常有用。而上圖右側所提供的信息對一般人來説更有意義,這些人並不關心IP地址是什麼,卻知道HR(人力資源)數據庫是怎麼回事。如果相關人員理解與開發者工具登錄進入人力資源(HR)數據庫有關的風險,這種信息顯然更有意義。
審計數據庫錯誤
審計由數據庫返回的錯誤也是很重要的,它是你應實施的首個審計日誌之一。從安全的觀點來看,這尤其重要。例如,在許多情況下,攻擊者會進行很多嘗試直至得逞。攻擊者可以使用基於UNION的攻擊,他需要猜測數據表的正確欄數,直到他得到正確的數字,數據庫將會不斷地返回一個錯誤代碼,表明SELECT語句所選擇的欄數不匹配。如果你記錄了所有的錯誤,就可以確認這種攻擊並做出響應。失敗的登錄是需要進行記錄和監視的錯誤之一,即使你並沒審計數據庫的登錄。最後,任何失敗的提升特權的試圖操作都表明攻擊正在發生。
從質量的觀點看,錯誤審計也很重要,它符合合規要求。我們應該確認並修復漏洞和應用程序錯誤,而記錄SQL錯誤通常是確認這些問題的一種簡單方法。因而,即使你關心的是安全問題,將這種信息提供給應用程序的所有者也很有意義,因為誰都不願意運行存在着問題的代碼。幸運的話,這些錯誤甚至會向你指出那些影響響應時間和可用性的問題。
數據庫審計產品特點
完整性:多層業務關聯審計,可針對WEB層、應用中間層、數據層各層次進行關聯審計
細粒度:細粒度的審計規則、精準化的行為檢索及回溯、全方位的風險控制。
零風險:無需對現有數據庫進行任何更改或增加配置,即可實現零風險部署
易操作:充分考慮國內用户的使用和維護習慣,提供Web-based全中文操作界面及在線操作提示
- 參考資料
-
- 1. 縱論數據庫安全審計產品的三代演進 .出版源《保密科學技術》.2015-10[引用日期2016-08-02]
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:66次歷史版本
- 最近更新: 吃我一个大黑锅