數據庫安全監控實踐:使用DAM工具
很少有比保護數據庫及其存儲的數據更加嚴峻的IT安全挑戰了,尤其是針對最常用的數據庫和Web應用程序的攻擊:SQL注入。盡管關系型數據庫管理系統(RDBMS)供應商、IT安全專家和應用程序開發人員都意識到了此類攻擊,但問題依然存在,因為在不影響商業運作的前提下,這類攻擊難以檢測和阻止。
更嚴重的是,SQL注入是攻擊者能夠完全控制關系型數據庫的攻擊手段之一。關系型數據庫結構復雜,允許多種應用程序同時讀取或寫入數據——每一種應用程序都支持多種業務功能——這使得我們難以比較關系型數據庫的優劣。當攻擊看起來就像是正常的數據庫命令時,你需要做的就不僅僅是隨意檢查一下數據庫操作事件了。
對于可能不熟悉這項技術的人來說,數據庫活動檢測(DAM)系統就是檢測關系型數據庫濫用的高級安全平臺。DAM系統技術獨特,能以近乎實時的速度分析數據庫查詢,區分正常的操作和攻擊。DAM系統收集不同來源的信息,提供多種形式的高級分析和警告,甚至能直接中斷惡意活動。沒有其它的安全產品能以這種方式監測數據庫的活動,或者提供DAM式的細化檢查水平。
確定數據、事務的保護優先級
部署DAM的第一步是決定你想保護的內容。監測數據庫有很多種方式,對每個事件都進行檢測是不現實的,因為這樣一來監測系統將比保護對象更加龐大。你需要了解什么樣的數據或事務是重要的。有三種方法可以助你了解:
1、訪問建立數據庫的數據庫管理員和應用程序開發者,因為他們通常都知道敏感數據的保存位置,也知道哪一類數據庫支持關鍵業務功能。
2、使用數據發現和數據庫檢索器調查數據庫內容。監測器最起碼能夠監測數據的寫入和讀取。作為附帶功能,一些供應商還提供能夠搜尋數據庫內容的檢索器。這些檢測工具能夠通過元數據和內容分析技術定位敏感數據,確定需要保護的數據。
3、觀察SQL語句和數據庫事務。大多數DAM系統在最開始的幾周都是以“獨立監測”(monitor-only)的模式運行的,因此公司能夠逐漸了解數據庫的運行狀況。從本質上講,你要給出應用程序使用數據庫和常見查詢樣式的大概輪廓。然后你可以定義策略和實現方式,檢測數據庫濫用。
基于你的發現,你可以定義相關規則,允許哪些活動,并對可疑活動產生警告。
如何捕獲數據庫事件
現在你知道了何種事務是重要的,接下來你需要決定如何收集數據庫事件。每一種數據庫檢測器都提供了多種收集數據的方法,每一種方法都各有優劣。
在數據庫平臺上安裝代理很常見,因為代理能捕獲所有SQL活動,在不影響數據庫性能的前提下,有助于理解某次查詢是否是惡意的。
本地審計功能可收集事件,但卻不一定能收集到原始的SQL查詢,開銷也要大很多,影響數據庫性能。
網絡收集器則提供了一種更快更容易的收集SQL活動的方法,但會丟失管理員通過控制臺進行的事務和活動。
代理是關鍵數據庫事實上的安全工具。本地審計和網絡監控則在非關鍵數據庫上比較常見,但在特殊情況下使用得更多。
數據庫安全的基本定義
現在,你已經在從關鍵數據庫系統中收集事件,下一步是實現你的安全策略。DAM的工作方式是分析數據庫查詢,你可以通過很多選項設置對哪些語句進行檢查,以及如何檢查。數據庫活動檢測工具提供的基本功能有:
監測和查找
警告和報告
工作次序驗證
捕獲數據庫濫用
SQL捕獲(用于審計)
大多數政策執行的是數據庫查詢屬性檢查:用戶是誰、用戶正在瀏覽哪一列、用戶使用何種應用程序、用戶接觸到的數據、操作時間等,這些通常都被用于定義安全策略。你為每一個屬性分配特定值,當用戶超過這些預定義的閾值時,監測系統就會產生警告。例如,你可能會想對這些情況產生警告:所有午夜之后的查詢、三次失敗的登錄嘗試、任何對信用卡資料的訪問。
高級監控
數據庫活動監測系統的能力在過去的幾年里得到了極大的提高。過去只是純粹的監測和警示,現在已經提供了一套可靠的阻止攻擊、主動抵制濫用的方法。大多數DAM產品具有的高級功能有:
SQL注入監測
攻擊阻止和虛擬補丁
特定應用程序用戶認證
會話終止
行為監控和內部威脅檢測#p#
但是,先進的分析手段就意味著先進的政策,這些政策要針對你的環境,供應商沒法為你事先設定。為了檢測和阻止SQL注入攻擊,你需要為你的應用程序定義合法的SQL查詢語句。如果你不能及時地給數據庫打補丁,那么你就需要編寫一個政策,用于檢測攻擊,同時部署DAM阻止威脅。幸運的是,即便你的數據庫供應商沒有為你預設政策,你的DAM供應商也會幫助你自定義。
為實現行為監測,即發現異常的行為,你需要定義什么樣的行為才是正常的。要識別特定應用程序用戶——并不是通常地應用程序連接數據庫的賬戶——你需要提供查詢IP地址或者傳遞用戶憑證的手段。如果檢測到嚴重的威脅,你需要決定是否斷開該用戶,或者鎖定賬戶禁止其訪問系統。所有這些高級的功能都要求你進行自定義操作。DAM供應商只是提供模板和工具,幫助你針對自己的應用環境建立政策、監測和執行手段,但政策必須由你自己定制。
部署DAM
長期來看,如果要從一開始就節省時間、避免麻煩,管理DAM平臺有幾個方面需要注意。包括:
分離職責:基于安全和法規兩方面的原因,撰寫政策和審核報告的人不應該是監控數據庫的管理員。同樣地,一組數據庫的DBA不應使用DAM工具窺探其他組的數據庫。想法就是要檢測舞弊、相互制約,所以應在DAM產品內區分角色和責任。
長期存儲:數據庫活動檢測平臺通常沒有儲存安全信息、事件管理(SIEM)信息和日志管理信息的能力,但一般會提供一些相關的能力。這些產品注重語句級別的分析,而不是長期的存儲和管理。事件很少能在DAM產品中保存超過30天。如果你想執行90天或者180天長的窗口期的分析,那就需要為DAM服務器或者日志管理系統提供額外的存儲器。
可擴展性:DAM的可擴展性有三個關鍵問題:事務量、網絡拓撲以及專用于監控的系統資源。DAM系統的架構要與本地的數據收集器、事件分析和警告產生設備、中央政策管理和報告設備相適應。你需要確保上述每一部分都能與其他部分進行可靠的溝通,并且你能從部署在虛擬環境中的數據庫中收集事件信息。要最大程度地利用你在DAM上的投資,最好是要理解你需要分析的事件的類型,并過濾掉所有你擔心的東西。更少的事件信息意味著更少的存儲和處理開銷。當需要監控每小時執行上百萬條查詢的數據庫時,過濾能極大地降低設備或服務器投資。
數據庫活動監測是一項成熟的技術,專注于數據庫事務,提供了保護數據、阻止惡意操作的有效手段。但是,要體現監測平臺的價值,你需要投資建立規則、警示和報告機制,從而解決你所面臨的安全問題。
此外,為避免造成管理或性能問題,部署系統時需仔細斟酌安裝選項。DAM的用途有很多,所以你需要清楚地知道你的優先工作是什么。在運用更高級的安全功能之前,你應首先讓基本的系統工作起來。
【編輯推薦】