通過 SonarG 釋放 Guardium 數據的價值
對于使用 IBM? Security Guardium? 實現數據安全和合規性的企業而言,所收集的海量審計數據可能給他們帶來挑戰。通過對 Guardium 使用 SonarG 大數據解決方案,企業可以簡化和增強報告功能,同時減少管理報告和數據保留需求所需的設備數量。本文將介紹 SonarG 解決方案,介紹如何將它融入到 Guardium 企業部署中,以及如何集成 SonarG 和 Guardium。
Guardium 生成了多少數據?
IBM Security Guardium 提供了一個綜合數據保護解決方案來幫助保護數據和文件。功能包括漏洞評估、活動監視和靜止加密。Guardium 使用一個基于主機的探測器來持續監控對敏感數據的每次訪問。然后收集數據事件并在 Guardium 收集器上處理它們(參見圖 1)。
圖 1:從 S-TAP 到收集器的數據流
因為如此多的數據高速傳入一個收集器,所以該解決方案進行了水平擴展,允許許多收集器來處理工作負載。在典型的 Guardium 部署中,有一種組件分層結構,如圖 2 所示。S-TAP 解釋數據庫活動并將它們發送給收集器。收集器分析活動并將它們記錄到收集器的本地存儲中。收集器轉儲數據并將它們復制到聚合器,在聚合器中進行數據合并,向整個企業匯報數據。最后,一個中央管理器將管理整個聯合系統。
圖 2:企業 Guardium 部署中的設備
Guardium 收集海量的數據相關事件,比如會話數據、查詢數據、異常、授權故障及其他違規事件。典型的 Guardium 系統會捕獲數十億條復雜記錄。與其他安全事件不同,數據庫活動包含復雜的數據,例如識別被操作的對象、完成的操作、會話中的操作上下文等等。
由于數據的生成數量和速度,Guardium 本身就是一個可以利用大數據解決方案的解決方案。
SonarG 針對 Guardium 大數據的解決方案
學習更多知識。開發更多項目。聯系更多同行。
全新的 developerWorks Premium 會員計劃提供了強大的開發工具和資源,其中包括通過 Safari Books Online 提供的針對應用程序開發人員的 500 篇頂級技術文章,最重要開發人員活動(包括 IBM InterConnect 的大幅折扣、最近的 O'Reilly 大會的完整視頻回放,等等。) 了解 developerWorks Premium 的價值 。
SonarG(一個來自 jSonar 的產品)是一個整合、存儲和管理 Guardium 所捕獲的所有復雜數據的大數據解決方案。SonarG 旨在優化 Guardium 平臺的價值和功能。它利用大數據技術簡化對龐大且不斷增長的 Guardium 活動監視數據的收集和分析。SonarG 在 4 個主要領域增強了 Guardium:
- 簡化數據收集,減少聚合和報告的成本和時間。
- 實現以低成本、高效率的方式長期在線保留 Guardium 數據。 此外,使企業能夠輕松報告多年的數據。例如,從內部 SonarG 日志摘錄的下面這段信息表明,一個復雜查詢從包含 270 億條完整 SQL(代表 100 個收集器 12 個月來收集的數據)的數據集中找到了 19 個匹配結果。盡管同時還查找了整個 SQL 的會話級信息(比如客戶端 IP、DB 用戶名)和正則表達式,但此查詢花費的時間不超過 5 分鐘:
清單 1: Sample data from SonarG log
command gdm3.$cmd command:{"aggregate":"full_sql","pipeline":[{"$match":{"Full Sql":/GUARD_TABLE73/i,,"Timestamp":{"$gte":ISODate('2014-01- 01T05:00:00.000Z'),"$lte”:ISODate('2014-01-10T05:00:00.000Z')}}},{"$join": {"$joined":"session","$as":"session","$match":{"Session Id":"$session.$Session Id"},"$project": {"Client IP":"$session.$Analyzed Client IP","Server IP":"$session.$Server IP","Server Type":"$session.$Server Type","Service Name":"$session.$Service Name","Source Program":"$session.$Source Program","DB User":"$session.$DB User... ntoreturn:0 keyUpdates:0 locks(micros) w:0 reslen:130 Execution Time = 245501ms
- 建立對寶貴活動數據的更快、更廣泛訪問途徑,這些數據為企業中的不同群組提供了自助服務能力。 這種自助服務能力減少了 Guardium 管理員參與創建業務部門所需的每份報告的需求。
- 實現跨更大的數據集的高性能分析。 例如,圖 3 顯示了一個大型收集器環境 6 個月內的每日會話吞吐量圖。圖 4 顯示了對 6 個月內所有異常的分析,包括熱力圖和集群分析。因為分析是對所有收集器數據進行的,而且時間跨度比較長,所以它們在識別異常值方面非常精確。例如,圖 4 顯示了一個非常緊湊的異常(藍點)集群,其中只有一個藍點異常值高于 5,500,000(每個點表示一個唯一數據庫用戶)。
SonarG 提供了更多功能、快速報告和高級分析。與此同時,SonarG 通過硬件精減和高效操作簡化了 Guardium 部署,降低了總體成本。
圖 3:6 個月內的會話吞吐量
圖 4:6 個月內的異常分析
從架構角度講,SonarG 大數據解決方案通常非常適合現有 Guardium 部署,可使用它作為聚合層的替代方案。收集器被配置為使用 Guardium 數據集市機制創建各種活動/數據的每小時數據提取結果。收集器通過 SmartCloud Provisioning 將這些數據集市提取結果復制到 SonarG,它們在這里被使用并合并到包含所有 Guardium 數據的單一大數據存儲中,即使它們來自數百個收集器。下一節會更詳細地介紹此過程。
SonarG 對 Guardium 企業部署的影響
前面已經提到過,Guardium 企業部署使用了收集器和聚合器。收集器從 S-TAP(基于主機的探測器)獲取信息源,并先將數據存儲在本地。每隔 24 小時,每個收集器就會將其每日數據轉移到一個聚合數據的聚合器,如圖 5 所示。當需要執行企業級查詢時,要么使用在這些聚合器上運行的分布式報告(通過使用報告服務器),要么使用舊部署中運行的分布式報告(通過使用聚合的第二層)。典型的企業 Guardium 部署會有多個聚合器,因為收集器與聚合器的推薦比率為 1:8 到 1:10。
圖 5:Guardium 基礎架構
在 SonarG 架構中,收集器直接與 SonarG 大數據倉庫進行通信,如圖 6 所示。這種通信大大簡化了數據收集機制,方便使用更少的硬件基礎設施來更高效地收集更大的數據集。
圖 6:SonarG 簡化了整體 Guardium 架構
收集器每隔一小時將數據推送到 SonarG 一次,在 SonarG 上將數據與以前的數據合并,避免以前的架構中常見的 24-48 小時數據滯后現象。
SonarG 甚至可跨多個中央管理器域來整合活動數據。尤為重要的是,通常更大企業的部署會使用多個中央管理器域來整合數據,以便提供活動數據的真正的企業級視圖。
Guardium 收集器與 SonarG 之間的連接基于 Guardium 數據集市機制。數據集市是在 Guardium V9 中引入的,是一種不斷生成查詢報告的強大機制,它不需要聚合流程,而且具有非常低的收集器處理器使用率。數據集市還提供了從 Guardium 提取數據的最高效方法。
Guardium 包含多個支持 SonarG 的數據集市。這些數據集市每小時運行一次并使用計劃作業將文件復制到 SonarG 中,這些作業生成提取文件并通過一個加密通道(通過使用 SCP)復制它們。這些文件由 SonarG ETL 處理,被保存為一種方便快速簡單地執行報告和分析的格式,如圖 7 所示。
圖 7:Guardium 收集器生成由 SonarG ETL 處理的數據
使用 SonarG 的大數據架構的優勢
從基礎架構的角度講,此方法有許多優勢,包括以下潛在好處:
- 降低了聚合的硬件和操作成本。
- 縮短了數據整合的延遲時間,從 24 小時縮短至 1 小時。
- 通過更頻繁地從收集器中清除數據,減少了收集器占用的存儲空間。
重要的是,實驗室測試和生產部署都表明,在 SonarG 大數據平臺上的任何地方運行報告都比在聚合器上運行 快 10-100 倍, 使該系統能同時執行合規性報告和安全分析。該系統使用各種壓縮技術來控制長期保留數據的成本,而且它采用允許更長一段時間后進行報告的格式來存儲數據,而無需恢復存檔文件。
SonarG 需求
SonarG 需要在 Linux? 上運行,通常安裝在企業的標準 Linux 編譯版上。它可在各種 Linux 版本上運行,但最常安裝在 Red Hat Enterprise Linux 上。
要將 SonarG 安裝在 RHEL 7 上,可按照 此文檔 中的說明進行操作。
典型的 SonarG 節點將有 2 個 CPU、64-128G 內存(具體情況取決于負載和并發性需求),以及 2TB-30TB 磁盤空間(具體情況取決于收集器數量、保留需求和 Guardium 政策)。該系統可以是物理的或虛擬的。虛擬系統更容易部署,但由于能使用更低成本的本地存儲,所以具有本地磁盤的物理系統可能更經濟實用。
Linux 和 RAID
SonarG 允許使用便宜的商用機械硬盤。盡管 SSD 始終提供了更高的性能,但購買一個 8TB 的近線 SAS 驅動器大約只需花費 1000 美元,這會讓大型 Guardium 倉庫變得非常便宜。SonarG 部署應該使用 RAID-0 或 RAID-10 磁盤設置。RAID-5 和 RAID-6 通常無法提供足夠的性能。請咨詢 Linux 系統管理員來了解如何設置 RAID。
數據集市:集成 SonarG 與 Guardium 收集器和中央管理器
Guardium 與 SonarG 之間的集成需要在 Guardium 收集器和中央管理器上都使用數據集市,以便組織和包裝經常從 Guardium 導出到 SonarG 的合適數據。
這些數據提取文件通常每小時推送一次,推動間隔取決于具體的數據集。例如,S-TAP 健康指標等運行數據每 5 分鐘發布一次,以便進一步減少信息延遲,提高對出現問題的響應能力。分類和漏洞評估 (VA) 結果每天發布一次。
數據集市推送機制具有很強的恢復能力。如果數據由于網絡中斷或其他任何原因而導致沒有按時推送,那么這些數據將會在未來的一個周期進行推送。通過一個額外的、獨立的數據集市提取操作對所有數據進行統計和交叉引用,這使得 SonarG 能夠檢查所有數據傳輸和多少數據已到達。如果數據未到達或存在不一致,SonarG 會立即提醒操作員并提供詳細信息。
Guardium 和 SonarG 集成所使用的數據集市與以下數據類型有關聯:
- 特定于收集器的數據,比如活動數據和 S-TAP 狀態數據。 活動數據包括:會話數據、異常數據、完整 SQL 數據、查詢數據等。活動數據也占傳輸到 SonarG 的數據的絕大部分。活動數據和 S-TAP 狀態數據僅在收集器上激活。(S-TAPs 僅連接到收集器。)
- 分組數據: Guardium 數據組被透明地復制到 SonarG,以便您可以在報告中使用這些數據組。在中央管理器上安排數據集市的分組。
如果您有一個多 CM 環境,可在每個 CM 上安排數據集市的分組,并更改 SonarG 系統上的 /etc/sonar/sonargd.conf ,以便包含:split-collector: - group_members
- 非活動數據,比如漏洞評估和分類器數據。 在執行掃描的 Guardium 設備上激活這些數據集市。無論它們是收集器、聚合器還是中央管理器,都無關緊要。
- 系統級數據集市 包括緩沖區使用數據、系統信息數據等,SonarG 使用這些數據提供 Guardium 系統的各個操作的企業視圖。在所有 Guardium 設備上激活這些系統級數據集市。
形成集成層的 Guardium 和 SonarG 數據集市可用于 Guardium V9 和 V10,但不是所有數據集市都可以同時用于這兩個版本。例如,V9 與 V10.1.2 中的異常值數據看起來有所不同。表 1 給出了不同的數據集市名稱。
對 V10.1.2 及其更高版本使用 DM 49 和 50。對低于 V10.1.2 的版本使用 DM 27 和 28(但不要同時使用二者)。截至 2016 年末可用的 DM 如表 1 所示。
表 1:可用的 SonarG 數據集市
數據集市名稱 | 報告標題 | 單元類型 | Guardium 版本 | 數據集市 ID |
---|---|---|---|---|
Export:Access log | Export:Access log | 收集器 | 全部 | 22 |
Export:Session log | Export:Session log | 收集器 | 全部 | 23 |
Export:Session log ended | Export:Session log | 收集器 | 全部 | 24 |
Export:Exception log | Export:Exception log | 任何類型 | 全部 | 25 |
Export:Full SQL | Export:Full SQL | 收集器 | 全部 | 26 |
Export:Outliers list | Analytic Outliers list | 任何類型 | 低于 V10.1.2 的版本 | 27 |
Export:Outliers summary by hour | Analytic outliers summary By Date |
任何類型 | 低于 V10.1.2 的版本 | 28 |
Export:Export extraction log | User-defined extraction log | 任何類型 | 全部 | 31 |
Export:Group members | Export:Group members | 任何類型 | 全部 | 29 |
Export:Policy violations | Export:Policy violations | 收集器 | 全部 | 32 |
Export:Buff usage monitor | Buff usage monitor | 任何類型 | 全部 | 33 |
Export:VA results | Security assessment export | 任何類型 | 全部 | 34 |
Export:Policy violations - detailed | Export:Policy violations | 收集器 | 全部 | 38 |
Export:Access log - detailed | Export:Access log | 收集器 | 全部 | 39 |
Export:Discovered instances | Discovered instances | 任何類型 | 全部 | 40 |
Export:Databases Discovered | Databases Discovered | 任何類型 | 全部 | 41 |
Export:Classifier results | Classifier results | 任何類型 | 全部 | 42 |
Export:Datasources | Data-sources | 中央管理器、 獨立 |
全部 | 43 |
Export:S-TAP status | S-TAP status monitor | 收集器 | 全部 | 44 |
Export:Installed patches | Installed patches | 任何類型 | 全部 | 45 |
Export:System info | Installed patches | 任何類型 | 全部 | 46 |
Export:User - role | User - role | 中央管理器、 獨立 |
全部 | 47 |
Export: classification process log | Classification process log | 任何類型 | 全部 | 48 |
Export:Outliers list - enhanced | Analytic outliers list - enhanced | 任何類型 | V10.1.2 及更高版本 | 49 |
Export:Outliers summary by hour - enhanced | Analytic outliers summary by date - enhanced | 任何類型 | V10.1.2 及更高版本 | 50 |
這些數據集市通常被捆綁在最新的 GPU 中,但也會作為單獨的補丁提供給沒有申請 GPU 的客戶。根據您的補丁級別,安裝合適的補丁:
- V9:
- GPU750
- V10:
- V10.1.2 (p200) 和 p175
- V10.1 (p120) 和 p172、p174、p175
配置 Guardium 設備
要啟用 SonarG 集成,需要在 Guardium 設備上執行 3 個主要步驟:
- 確保擁有正確的補丁級別。
- 使用下一節中介紹的 GuardAPI (grdapi) 命令來啟用和安排數據集市提取。
- 調整收集器上的清除時間表,以減少占用的存儲空間(可選)
啟用和安排數據集市提取
啟用和安排各種數據集市提取還涉及到下面介紹的 3 個主要步驟:
- 啟用合適的 DM 并將它們的輸出指向 SonarG 系統。
- 安排提取。
- 確定提取數據的開始時間(可選)。
下面的示例 grdapi 命令字符串使得會話數據能夠傳遞到 SonarG。這個 grdapi 命令告訴 Guardium 收集器,通過 SCP 進程將數據集市數據復制到何處。配置其他任何數據集市只需要更改 Name 字段。
grdapi datamart_update_copy_file_info destinationHost="yourhosthere"
destinationPassword="yourpwdhere"
destinationPath="/local/raid0/sonargd/incoming" destinationUser="sonargd"
Name="Export:Session Log" transferMethod="SCP"
僅對每個 CM 執行數據集市配置命令一次,因為所有收集器隨后可以從 CM 接收此信息。替換主機名、密碼和數據路徑,以反映您的 SonarG 安裝的細節。
啟用數據集市后,需要安排提取操作。因為 Guardium 調度程序位于設備本地,所以需要在每個作為數據提取來源的設備上運行 grdapi 調度命令。例如,對于每個需要發送會話數據的收集器,將會運行:
grdapi schedule_job jobType=dataMartExtraction cronString="0 45 0/1 ? * 1,2,3,4,5,6,7"
objectName="Export:Session Log"
這是一個刪除會話數據集市的時間表的示例:
grdapi delete_schedule deleteJob=true jobGroup="DataMartExtractionJobGroup"
jobName="DataMartExtractionJob_23
作業名稱是 "DataMartExtractionJob_" ,與表 1 中所示的 ID 的串聯在一起。
因為要發出許多 grdapi 調用,所以可以使用 SonarCLI Expect 腳本自動發出調用并減少工作(參見下一節)。
啟用所有數據集市時的推薦時間表如表 2 所示。
表 2:推薦的數據集市時間表
Export:Access log | 0 40 0/1 ?* 1,2,3,4,5,6,7 | 00:40 |
Export:Session log | 0 45 0/1 ?* 1,2,3,4,5,6,7 | 00:45 |
Export:Session log ended | 0 46 0/1 ?* 1,2,3,4,5,6,7 | 0:46 |
Export:Exception Log | 0 25 0/1 ?* 1,2,3,4,5,6,7 | 0:25 |
Export:Full SQL | 0 30 0/1 ?* 1,2,3,4,5,6,7 | 0:30 |
Export:Outliers list | 0 10 0/1 ?* 1,2,3,4,5,6,7 | 0:10 |
Export:Outliers summary by hour | 0 10 0/1 ?* 1,2,3,4,5,6,7 | 0:10 |
Export:Export extraction Log | 0 50 0/1 ?* 1,2,3,4,5,6,7 | 0:50 |
Export:Group members | 0 15 0/1 ?* 1,2,3,4,5,6,7 | 0:15 |
Export:Policy violations | 0 5 0/1 ?* 1,2,3,4,5,6,7 | 0:05 |
Export:Buff usage monitor | 0 12 0/1 ?* 1,2,3,4,5,6,7 | 0:12 |
Export:VA results | 0 0 2 ?* 1,2,3,4,5,6,7 | 每天凌晨 2 點 |
Export:Policy violations - detailed | 0 5 0/1 ?* 1,2,3,4,5,6,7 | 0:05 |
Export:Access log - detailed | 0 40 0/1 ?* 1,2,3,4,5,6,7 | 0:40 |
Export:Discovered instances | 0 20 0/1?* 1,2,3,4,5,6,7 | 0:20 |
Export:Databases discovered | 0 20 0/1?* 1,2,3,4,5,6,7 | 0:20 |
Export:Classifier results | 0 20 0/1?* 1,2,3,4,5,6,7 | 0:20 |
Export:Data sources | 0 0 7 ?* 1,2,3,4,5,6,7 | 每天上午 7 點 |
Export:S-TAP Status | 0 0/5 0/1 ?* 1,2,3,4,5,6,7 | 每 5 分鐘 |
Export:Installed patches | 0 0 5 ?* 1,2,3,4,5,6,7 | 每天凌晨 5 點 |
Export:System info | 0 0 5 ?* 1,2,3,4,5,6,7 | 每天凌晨 5 點 |
Export:User - role | 0 5 0/1 ?* 1,2,3,4,5,6,7 | 0:05 |
Export:Classification process log | 0 25 0/1 ?* 1,2,3,4,5,6,7 | 0:25 |
Export:Outliers list - enhanced | 0 10 0/1 ?* 1,2,3,4,5,6,7 | 0:10 |
Export:Outliers summary by hour - enhanced | 0 10 0/1 ?* 1,2,3,4,5,6,7 | 0:10 |
在安排數據集市提取的大多數情況下,會開始將數據 “從現在” 導出到未來某個時間。如果您的收集器上已有數據(例如來自過去 10 天的數據),并希望將該數據也轉移到 SonarG,那么可以將該數據集市的開始日期設置為過去,如圖 8 所示。在 CM GUI 中編輯數據集市,并將期望的開始日期設置為您發出 grdapi 調度命令之前。如果擁有 GPU 200 (V10.1.2 p200) 或更高版本,可以使用 grdapi 來設置開始日期。您不需要使用 GUI。
grdapi update_datamart Name="Export:User - Role" initial_start="2016-12-01 00:00:00"
圖 8:啟用過去的某個日期作為開始日期
可選:減少收集器占用的存儲空間
在啟用 Guardium 與 SonarG 之間的集成后,數據會比使用聚合時更頻繁地從收集器轉出:每小時而不是每天轉出一次。這創造了更積極地清除收集器上的數據和減少收集器占用的存儲空間的機會。例如,可以為每個收集器分配 100G,而不分配 300GB 或 600GB。
備注:這只有在適當調整每個收集器的保留策略(即在每個收集器上保留更少的數據)后才能完成。
減少存儲占用的最簡單方法是構建占用存儲空間更少的新收集器 VM,確保清除計劃被定義為僅在新收集器上保留 3 天的數據。將 S-TAP 重定向為指向新收集器,而后者則指向 SonarG。一天后,舊收集器和新收集器同時指向 SonarG,此時可以備份并解除這些舊收集器。然后就可以完成向新收集器的過渡。此方法也可用于簡化和加速 Guardium 升級,因為您不需要擔憂收集器上的數據管理。
使用 SonarCLI 自動化數據集市設置
SonarCLI 是一個實用程序,它組合了客戶提供的 Guardium 設備列表與一組 SonarG 和 IBM 預定義的數據集市,然后與所有 Guardium 設備進行通信,以便執行和驗證建立此通信所需的 grdapi 命令(參見圖 9)。執行腳本需要花費幾分鐘的時間,完成后,SonarG 會開始接收數據集市數據。請注意,SonarCLI 是一個通用的腳本執行框架,也可用于自動化與 SonarG 無關的 grdapi 執行。
圖 9:SonarCLI 腳本
要使用 SonarCLI,可設置一個文件來告訴系統,在收集器和 CM 上運行哪些腳本。該腳本然后為每個設備打開一個 CLI 會話,運行配置文件所定義的合適腳本,將所有輸出存儲在一個日志文件中,并創建一個摘要日志。完成上述操作后,需要檢查摘要,以查看是否所有一切都已完成。
創建自定義數據集市
除了 SonarG 使用的預先構建的數據集市之外,還可以將其他數據從 Guardium 環境中內置的任何報告推送到 SonarG。Guardium 收集器或中央管理器上執行的任何報告都可以轉換為數據集市,并使用標準數據傳輸流程將其結果直接傳輸到 SonarG。圖 10 和圖 11 展示了如何在查詢構建器內將查詢轉換為數據集市。
圖 10:將查詢轉換為數據集市
圖 11 定義了一個前綴為 EXP 的文件名,該文件每小時創建一個。EXP 前綴告訴設備,此數據集市是為傳送到 SonarG 應用程序而創建的。數據集市名稱必須以 EXPORT 開頭,EXP 前綴必須出現在文件名的開頭,數據才能成功傳送到 SonarG。
圖 11:安排 Guardium 中的 DM 傳送
與標準數據集市一樣,必須執行 grdapi 命令來配置通過 SCP 將該文件傳輸到 SonarG,另外,安排每小時傳輸一次。使用以下命令定義 SCP 傳輸配置:
grdapi datamart_update_copy_file_info destinationHost="yourhosthere"
destinationPassword="yourpwdhere" destinationPath="/local/raid0/sonargd/incoming"
destinationUser="sonargd" Name="Export:GUARD_USER_ACTIVITY“ transferMethod="SCP"
使用以下命令安排提取/推送:
grdapi schedule_job jobType=dataMartExtraction cronString="0 40 0/1 ? * 1,2,3,4,5,6,7"
objectName="Export:GUARD USER_ACTIVITY“
結束語
SonarG 允許使用真正的大數據解決方案來管理和訪問 Guardium 數據,以便優化 Guardium 環境。使用數據集市時,可以比以往更快更高效地從 Guardium 設備轉移數據,減少硬件的占用空間和成本,實現快速報告,并記錄數據和高級分析結果的在線保留。這兩個系統的組合,為擴展 IBM Security Guardium 的數據保護解決方案的用例和優勢創建了一個非常強大的平臺。
來自:http://www.ibm.com/developerworks/cn/analytics/library/se-sonarg-big-data-security-guardium-trs/index.html?ca=drs-