华为桌面云解决方案概述_解决方案概述和数据安全建议
華為桌面云解決方案概述
注意:在2013年10月,本文已更新以反映推薦的新S-TAP配置。
本文的作者來自IBM和10gen,MongoDB公司,他們合作對MongoDB的InfoSphere Guardium進行了認證。 這是一次很棒的練習,因為我們了解了彼此的產品和用例。 我們真的很想寫一些東西,以幫助那些熟悉關系數據庫和InfoSphere Guardium的人們更多地了解為什么組織為某些類型的應用程序采用MongoDB。 從InfoSphere Guardium的角度來看,我們的基礎結構已擴展到涵蓋MongoDB中不同的消息協議,但是管理員和信息安全人員將遵循相同的過程來啟用MongoDB進行審核,報告等。
我們還希望使MongoDB用戶至少對InfoSphere Guardium中的功能有所了解,以幫助其組織達到審核和合規性目標,防止數據泄漏并幫助發現風險活動,例如使用服務器端JavaScript。
InfoSphere Guardium GPU補丁50的新增功能9.1(GPU 100)的新增功能
盡管本文著重于對MongoDB的支持,但InfoSphere Guardium 9.0 GPU Patch 50包含許多附加功能。 該補丁計劃于2013年6月下旬發布,增強功能包括:
- 將數據活動監視擴展到新的和擴展的大數據和NoSQL平臺,包括MongoDB,Greenplum HD和Greenplum DB以及Hortonworks Data Platform
- 增強報告功能以加速企業范圍內的報告,并使用新的聯合查詢功能來提高聯合環境中的審核流程的性能
- 通過快速多面搜索數據庫活動,異常和策略違規來減少發現時間
- 使用更多內置的最佳做法查看器來檢測更多可疑活動(報告)
- 在64位架構上支持Guardium設備以提高可伸縮性
- 將所有代理(S-TAP,Guardium Installation Manager和發現)整合到一個安裝程序中,以簡化部署并減少啟動和運行時間
- 通過三鍵式API分配報告簡化了自動化和維護
- 在移動設備上隨身攜帶Guardium,以管理您的待辦事項列表并關注整體安全狀況
InfoSphere Guardium 9.1于2013年10月25日發布。增強功能包括對SAP HANA的支持,對Hadoop的增強的支持以及異常(異常)檢測。 有關9.1中增強功能的更多信息,請參見詳細的發行說明或幻燈片,以及有關此主題的Guardium技術講座的重播。
實現目標令人興奮,但還需要比單篇文章覆蓋的空間更多。 因此,為了廣泛涵蓋某些主題,并為其他主題提供分步說明,我們創建了一系列三篇文章:
- 本文的第1部分,介紹了MongoDB和InfoSphere Guardium,簡要介紹了MongoDB的安全最佳實踐,并說明了聯合解決方案的好處。 本文還描述了該體系結構,并逐步介紹了數據如何流到InfoSphere Guardium以及如何在InfoSphere Guardium設備中進行處理的步驟。
- 第2部分討論了為MongoDB配置InfoSphere Guardium監視代理程序的細節。 它還介紹了如何使用安全策略來完成一些常見用例,包括監視特權用戶訪問,警報和反復失敗的登錄。
- 第3部分描述了InfoSphere Guardium的一些功能,這些功能使其成為企業的流行數據安全和合規性解決方案,包括阻止,查看和報告審核數據,以及創建審核流程以自動執行合規性工作流程。
引入MongoDB
來自端點設備的數據激增,不斷增長的用戶數量以及諸如云計算,社交業務和大數據之類的新計算模型對數據訪問和分析產生了需求,這些需求可以處理這些數量驚人的數據。 快速增長的NoSQL數據庫類的價值是能夠處理這些趨勢所需的更高的速度和數據量,同時還可以通過動態模式實現更大的敏捷性。 例如,動態模式可以使組織快速響應不斷變化的法規。
特別是,MongoDB在為您帶來這些好處的同時,還提供了通用操作數據存儲所必需的豐富查詢功能。 它通過文檔模型提供更高的開發人員生產力和敏捷性; 它可以在適合于關系型數據庫或典型NoSQL數據庫的情況下使用,或者可以用于新的數據庫。
圖1展示了MongoDB體系結構的高級視圖,并介紹了一些關鍵概念,這些概念對于理解您是否負責為MongoDB配置InfoSphere Guardium具有重要意義。 (此圖表示分片的環境。MongoDB也可以獨立運行。)MongoDB使用自動分片實現水平可伸縮性,并使用副本集實現高可用性。 客戶端連接到MongoDB進程(在分片環境中的mongos),如果安全性已打開,則可以選擇對其進行身份驗證,并執行數據庫中文檔的插入,查詢和更新。 mongos將查詢路由到適當的分片(mongod)以完成特定命令。
圖1. MongoDB架構提供了可擴展的環境
由于MongoDB使用文檔數據模型,因此它是一種NoSQL數據庫,稱為文檔數據庫。 文檔使用JSON(JavaScript對象表示法)以分層方式建模,因此它們僅包含名稱-值對。 這些值可以是一個單獨的類型化值,一個數組,也可以自己記錄(以及它們的組合)以匹配您在應用程序中擁有的任何對象。 該模型可以提供快速查詢,因為數據可以彼此相鄰地存儲在文檔中,而不是散布在多個表中并且需要連接。 清單1顯示了一個JSON文檔的示例。
清單1.樣本JSON文檔
{ "_id" : 1, "name" : { "first" : "John", "last" : "Backus" }, "contribs" : [ "Fortran", "ALGOL", "Backus-Naur Form", "FP" ], "awards" : [{"award" : "W.W. McDowell Award","year" : 1967,"by" : "IEEE Computer Society"},{ "award" : "Draper Prize","year" : 1993,"by" : "National Academy of Engineering"} ] }通過此文檔結構,您可以像在應用程序中對對象進行建模的方式一樣,將數據存儲在MongoDB中,因此,它具有很大的上市時間和敏捷性優勢(特別是結合了動態的,未預定義的架構)。
在后臺,文檔以二進制JSON格式(BSON)進行存儲以提高效率,但是您無需處理JSON文檔以外的任何內容。
表1比較了關系和MongoDB的概念。
表1.將關系概念映射到MongoDB
| 數據庫/架構 | 數據庫 | 其他的容器 |
| 表 | 采集 | |
| 行 | 文件 | |
| 柱 | 領域 | 字段是在文檔級別定義的,而不是在集合中定義的。 換句話說,沒有關系數據庫那樣的預定義架構。 |
| 指數 | 指數 |
Mongo的其余功能旨在使您能夠使用此文檔結構和您喜歡的編程語言,而無需花費大量時間來管理數據庫。 高可用性,性能和自動分片(分區)的構建方式使應用程序不必太擔心它們,因此應用程序開發團隊可以專注于快速滿足業務需求。
MongoDB的安全性建議
隨著越來越多的企業希望MongoDB滿足特定的應用程序需求,他們可能會面臨滿足組織中已建立的數據庫也必須執行的安全性和合規性要求的需求。
MongoDB在其Wiki頁面上概述了一套很好的安全性最佳實踐。 (你可以找到鏈接相關信息 。)另外,為了解決一些基本的安全痛點的MongoDB在2.4版本中,提供以下安全增強功能:
- 要求此方法能夠集成到其標準安全系統中的企業的Kerberos身份驗證(僅企業版)。
- 基于角色的訪問控制系統,可進行更精細的控制。
- 客戶端的增強SSL支持要求。 重要說明:要通過Guardium支持MongoDB SSL,必須配置Guardium應用程序級別監視(A-TAP)。 本文未對此進行介紹。 有關更多信息,請參見此技術說明。
現在來看一些有關網絡配置,身份驗證,角色使用和防止JavaScript注入攻擊的最佳實踐。
網絡配置
為了降低MongoDB的安全風險,建議在可信任的環境中運行MongoDB及其所有組件,并使用適當的防火墻控件,MongoDB組件之間的緊密綁定以及特定的IP端口。 當您運行分片群集時,查詢流量通常通過稱為mongos的單獨進程進行路由。
如圖2所示,特權用戶或其他用戶有可能直接登錄到分片中的mongod實例。 因此,我們的建議不僅是使用防火墻來盡可能多地鎖定對分片的訪問,而且還要對分片實施InfoSphere Guardium監視以捕獲該活動。 正如您將在本系列文章的第2部分中了解到的那樣,可以通過以下方式配置Guardium,以避免重復計算消息流量,同時仍然在分片和mongos服務器上捕獲本地流量。
設置監視實際上有很多選項,但這是提高效率的合理選擇,同時為管理員提供了必要的監視功能。
圖2.一種推薦的配置
另外,使用非默認端口運行是一種安全性最佳實踐。 為了便于理解,我們確實使用缺省端口配置(對于mongos為27017,對于分片服務器為27018),但是當使用非缺省端口時,InfoSphere Guardium可以正常工作。
認證方式
一個明顯的建議是在啟用身份驗證的情況下運行MongoDB。 (缺省情況下,未啟用身份驗證。)從監視和審計的角度來看,身份驗證也很關鍵,以使InfoSphere Guardium能夠選擇數據庫用戶名。 如果未啟用身份驗證,則將在報告的“數據庫用戶名”字段中看到字符串“ NO_AUTH”。 (在InfoSphere Guardium在會話中間開始監視并且不接聽數據庫用戶的情況下,您也可能很少看到NO_AUTH。)
從MongoDB的角度來看,2.4之前的身份驗證僅限于使用僅在Mongo中管理且未集成到企業用戶管理系統中的用戶名和密碼進行的基本身份驗證。 身份驗證后,角色最少,只有只讀或完全訪問權限。 在2.4企業版中,添加了其他功能,包括對Kerberos的支持
角色和基于角色的訪問
在2.4中,MongoDB支持許多新角色,其作用范圍可以大致分為服務器級角色和數據庫級角色。 在這兩種情況下,都有一些角色專注于用戶管理,集群管理和應用程序訪問。
為什么在報告中顯示SQL標題?
默認報告標題確實使用SQL術語。 由于InfoSphere Guardium是異構的,因此許多不同的數據庫將在整個企業中使用相同的策略和報告。 但是,如果您有特定的MongoDB報告,并且不想在報告標題中包括SQL,則可以根據需要自定義報告標題。
由于這些角色中的某些角色基本上等同于超級用戶,因此確保仔細分配和監視這些角色非常重要。
請注意,使用InfoSphere Guardium,您可以監視和審計環境或任何邏輯數據庫對system.users集合的更改,因此可以確保僅頒發適當的授權。 圖3顯示了一個示例報告,在該報告中,您可以看到數據庫用戶Indrani授予Kathy和Sundari讀寫角色,這轉換為MongoDB中system.users集合上的插入。
圖3.樣本審計報告顯示了被授予的角色(將文檔插入到system.users中)
防止JavaScript注入攻擊
由于MongoDB使用BSON(二進制JSON)而不是字符串,因此傳統SQL注入類型攻擊對MongoDB而言不是重要的問題。 但是,仍然需要注意一些情況,包括使用以下操作,這些操作使您可以在服務器上直接運行任意JavaScript表達式:
- $ where
- db.eval()
- mapReduce
- 組
有多種方法可以降低風險(包括關閉所有服務器端腳本),但是首先您需要能夠確定在何處使用這些操作。 使用InfoSphere Guardium,這些操作中JavaScript被記錄并報告為對象。 這樣做的意義在于,您可以將警報或策略違例設置為在訪問警報或策略違例時發生。 這對于在測試環境中發現和識別這些風險用途以及在部署到生產環境之前進行必要的代碼審查很有用。 圖4中的示例報告(查看大圖 )顯示$eval被報告為JavaScript對象。 您還將看到完整的命令文本,因此可以在上下文中查看其用法。 如果您想隨著時間的推移進行監視,則可以創建一個定期計劃的報告,該報告將指示何時重新使用這些操作之一。
圖4.某些操作(例如db.eval)JavaScript作為對象記錄在InfoSphere Guardium中
在MongoDB中使用InfoSphere Guardium的好處
對于任何對真正的數據庫審計感興趣的組織,以及可能對諸如支付卡行業(PCI)或Sarbanes-Oxley(SOX)要求之類的法規要求感興趣的任何組織,InfoSphere Guardium都是對本機MongoDB功能的重要而有用的補充。 與其他數據庫一樣,MongoDB中的本機安全性和身份驗證功能實際上不足以滿足全球眾多法規和合規性要求。 這些要求中的大多數都要求在日志記錄和驗證誰以及何時為數據庫事務執行操作方面具有更強大的責任感。
InfoSphere Guardium已部署在世界各地的大型和小型組織中,以解決各種數據庫的數據保護和合規性問題。 該解決方案是靈活,強大和有效的。 MongoDB用戶可以期望看到的好處是:
- 如您在圖5所示的示例報告中所見(參見大圖 ),InfoSphere Guardium記錄了非常詳細和細致的信息,其中包括客戶機和服務器IP,源程序,數據庫用戶的詳細信息(如果啟用了授權) ,以及完整的命令消息(當消息流經電線時)。 在下面的示例中,Kerberos被用作身份驗證機制。
請注意,消息的一部分被解析并存儲為動詞(有時稱為命令)和對象,這意味著這些實體是可用于指定策略規則的項目,如本系列的第2部分中將看到的。 例如,您可以指定在發出查找時觸發的規則,或指定任何人觸摸敏感數據對象組中的對象時觸發的規則。
圖5.審計報告示例
- 您可以審核數據庫異常情況,例如身份驗證失敗,這可以指示暴力攻擊。 本系列的第2部分將展示如何配置它。
- 您可以選擇記錄影響閱讀活動的文檔數量,可以用來警告異常高的下載量。 本系列的第2部分將顯示一個示例。
- 您可以阻止本地用戶訪問,以防止管理員讀取敏感數據的內容。 在本系列的第3部分中,您將看到一個示例。
- 可以為各種情況指定實時警報,您將在本系列的第2部分中學習如何配置警報。 組織有責任盡其所能避免尷尬或破壞數據泄露。 證明合規性可以助您一臂之力,但是當確實發生違規行為時,能夠在幾分鐘或幾小時內而不是幾天或幾周內Swift發現并做出React,可能意味著巨大的損失和輕微的不便。 實時警報和有關閾值違反的警報可幫助您在幾秒鐘或幾分鐘內,而不是幾天,幾周甚至更長的時間內檢測到可疑行為。
這些警報可以使用電子郵件發送,也可以通過SNMP發送到另一個監視系統。 與IBM QRadar和HP ArcSight消息類型的內置集成還可以用于將警報條件從syslog自動轉發到那些系統。
- 審核信息必須存儲一段規定的時間,有時甚至是幾年。 因此,InfoSphere Guardium在設計時考慮了這些需求,并提供了安全的歸檔功能。
- 最后,證明合規性可能是耗時且繁重的,因為這些通常需要一定程度的定期檢查和批準。 InfoSphere Guardium不僅使您可以創建滿足審計要求所需的報告,而且還具有強大的工作流功能,該功能可以集成到您的業務流程中,并將所有簽署和復審保存為審計跟蹤的一部分。
解決方案的架構
通過其非侵入式架構(請參見圖6),InfoSphere Guardium可以提供對數據活動的完全可見性,而無需在MongoDB集群上進行任何配置更改。
圖6.高層架構
對于那些熟悉InfoSphere Guardium的人,您可以在MongoDB服務器上安裝S-TAP(輕量級軟件代理)。 S-TAP是位于操作系統中的輕量級代理。 當Mongo服務器收到來自客戶端的數據請求時,S-TAP將復制網絡數據包,并將其發送到經過加固的,防篡改的硬件或軟件設備,該設備稱為收集器,用于在InfoSphere Guardium存儲庫中進行解析,分析和登錄。 。
InfoSphere Guardium系統的真正智能在于收集器。 在這里,消息被分解為各個組成部分,并登錄到收集器上的內部存儲庫中,并采取任何必要的措施,例如生成實時警報,記錄活動或阻止特定的本地用戶。 通過將大部分活動(分析和日志記錄)卸載到強化的收集器上,可以將對Mongo應用程序的性能影響降到最低(在許多情況下不超過2-4%),并且您可以有效地實行職責分離。
基于InfoSphere Guardium角色的Web控制臺無需MongoDB管理員就可以對警報,報告定義,合規性工作流程和設置(例如歸檔計劃)進行集中管理,從而實現了審計員所需職責的分離和簡化合規性活動。
從客戶端到Guardium收集器的消息流的高級示例
對于那些剛接觸InfoSphere Guardium的人來說,對數據如何流經系統的基本了解可以幫助您有效地理解和使用系統的其他部分,例如策略配置,報告和警報。
圖7. MongoDB命令如何流到InfoSphere Guardium收集器
在描述流程時請參考圖7:
注意: MongoDB客戶端可能會對實際輸入的內容(語法糖等)進行一些轉換。 InfoSphere Guardium僅收集實際在網絡上流動的內容。 在此示例中,用戶Joe輸入以下命令:
清單2.本示例中顯示的MongoDB命令
test.CreditCard.insert({"Name" : "Sundari","profile" : [{"CCN" : "11999002"},{"log" : ["new", "customer"]}],});- 客戶/服務器實體 :Joe被記錄為數據庫用戶
- 命令實體 :INSERT
- 對象實體 :信用卡
- 字段實體 :名稱
- 字段實體 :profile.CCN
- 字段實體 :profile.log
摘要和下一步
在我們的三部分文章系列的第一部分中,我們介紹了聯合解決方案的基本基礎,包括概述MongoDB和InfoSphere Guardium,以及InfoSphere Guardium如何與MongoDB一起工作以在數據保護和保護方面提供重要價值。合規性。 此外,InfoSphere Guardium提供了強大而靈活的基礎架構,用于自動化審核和合規性任務,從而盡可能減輕了IT人員的負擔。
在第2部分中,我們將解決為MongoDB配置S-TAP的細節,并逐步講解如何使用安全策略來完成一些常見用例,包括監視管理員訪問,警報和反復失敗的登錄。
翻譯自: https://www.ibm.com/developerworks/data/library/techarticle/dm-1306mongodb/index.html
華為桌面云解決方案概述
總結
以上是生活随笔為你收集整理的华为桌面云解决方案概述_解决方案概述和数据安全建议的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件poc测试方案,华为fusioncl
- 下一篇: 超详细图文介绍,华为桌面云解决方案