云計算因為能夠提供虛擬化的資源池、彈性的服務能力、自助服務等,深得CIO們的青睞,為了提高企業IT設備的利用率,提高服務容災的能力,提高對業務支撐的快速響應能力,大多數的企業都開始嘗試企業私有云的建設。
私有云安全的尷尬現狀
一般來說,從現有的IT管理體系過渡到私有云平臺,大致需要幾個步驟:數據大集中、業務系統整合、IT資源的虛擬化、管理平臺云化、云服務提供。(很多人認為私有云就是信息中心的建設,其實信息中心的虛擬化改造一般是最后兩個階段合并為信息中心的統一運維管理平臺,而不一定會提供云服務,因此,不能稱為嚴格意義上的私有云。)這個過程中,資源虛擬化是關鍵,因為只有資源都虛擬化管理,才可以談得上動態的調配,才能夠提供彈性服務支撐能力。哪些資源可以且需要虛擬化管理?計算資源,包括CPU與內容,以及存儲資源、網絡資源。我們注意到,一般都沒有涉及到安全資源。這不奇怪,因為虛擬化平臺廠家都是先以業務服務實現為主,安全問題大多是放在后邊考慮的。
這就給CIO們出了一個難題:私有云為企業各個業務部門提供統一服務,不僅僅包括計算資源、存儲資源、網絡資源,還應該包括安全資源,如身份認證、病毒查殺、入侵檢測、行為審計等,只分配了計算資源與存儲資源的系統,對用戶來講,無異于“裸奔”。私有云與公用云不同,公用云的業務單一,可以建立統一的安全策略;而私有云不同業務系統的安全需求差異很大,在一個“云”內,為不同業務系統提供不同的安全策略,安全策略如何部署?部署在哪里?
云計算的安全問題一直是業界爭論的熱點,還有個專門的組織CSA(云安全聯盟)制定了一些指導性意見,但落地都比較困難。總結起來,云計算的安全落地有兩方面的難題:
第一,是云計算系統架構本身的問題。由于采用了虛擬化的資源管理,用戶業務系統的服務器不再明確地運行在哪臺服務器上,而是動態漂移的VM(虛擬機),不同業務系統的用戶都在一個“大雜院”內進進出出,各個業務系統之間沒有了“邊界”,如何保證那些不安分的用戶偷窺其他系統的數據,只靠虛擬化操作系統的管理,能夠滿足用戶業務流之間的隔離嗎?且不說虛擬機逃逸方面的研究,如“藍色藥丸”,傳統的操作系統都是漏洞一堆,虛擬化操作系統的漏洞就會很少嗎?危害程度可是更大。
第二,是虛擬化操作系統廠商的問題。目前,能夠提供虛擬化操作系統的廠商不是很多,如VMware、Microsoft、Citrix、Xen、RedHat、方物等。先說市場份額最大的VMware,是一家與微軟一樣的私有代碼廠商,只提供第三方的開發接口API。VMware提供系統底層的安全接口,如VMSafe,但這個接口目前還沒有對國內的安全廠商開放,也就是說,實現安全部署,只能采購國外的第三方安全廠商產品。其他的廠商,如Xen是開源的,是沒有接口問題,但需要用戶自己的技術力量非常強才可以部署與維護。
一句話:云內的安全問題是嚴重的,最好的方法,就是安全設備可以如同存儲設備一樣,形成池化的資源池,在用戶申請云服務器時,與計算資源、存儲資源一起按需分配給用戶。
但是,就目前安全廠商的現狀,完全達到這個階段還需要一段時間;為了應對過渡時期的私有云服務運行的安全,我們提出了過渡時期的安全解決方案——“云朵”方案。
“云朵”方案的設計思路
在沒有辦法確定多個不同業務系統在一個云中運行可以做到安全的隔離的情況下,根據不同業務系統的安全需求,把安全需求近似的、服務對象相似的業務系統部署在一個云內,否則就部署在不同的云中,這樣在企業中就形成了一個一個的云朵,如辦公業務云、生產業務云、互聯網服務云等,或者按照等級保護的級別,分為一級系統云、二級系統云、三級系統云等。
企業核心網絡是“物理”的,不同的業務服務云朵連接在核心網絡上,每個云朵內部有自己的云朵管理中心,負責云朵內的計算、存儲、安全資源管理;企業用戶分為虛擬終端(如運行虛擬桌面的“傻終端”)與真實終端(如PC等“富終端”),通過企業網絡,可以登錄不同的云朵;整個網絡的用戶采用統一的身份認證,并建立云朵安全管理的中心平臺,該平臺通過各個云朵的管理中心接口,可以直接監控云朵內虛擬機的運行狀態。
云朵方案的優點是明顯的:一朵云內的業務系統安全需求是相近的、用戶是相同的,安全隔離的需求大大降低了,這樣就解決了不同業務系統在一個云內安全隔離的安全難題,在云朵之間的網絡是“物理”可見的,傳統的安全邊界思路完全適用;當然,不同云朵可以采用不同的虛擬化操作系統,減少對一個廠家的過度依賴(桌面操作系統對微軟的依賴是很多CIO頭痛的難題);最后,若一朵云出現問題,也不會影響其他云朵內的業務系統。
云朵方案的缺點也是明顯的:IT資源利用率提高有限,這與采用虛擬化技術的目標顯然是違背的;人為地建設多個云朵,多個管理運營平臺,管理復雜度明顯是加大的。
但是,云朵方案可以解決目前虛擬化平臺自身安全還不到位,業務需求推動云計算模式紛紛上馬的矛盾。邊走邊學,“摸著石頭過河”,總比因噎廢食要好。
云朵方案把企業私有云的安全問題進行了分解:1、云朵間的安全;2、云朵內的安全。
云朵間的安全設計思路
不同的云朵,邏輯上如同傳統安全方案設計中的“安全域”,具有明確的安全區域邊界,因此,云朵間的安全完全可以按照傳統的安全方案設計思路,部署思路可以參考“花瓶模型”的三條基線一個平臺,網絡邊界與安全域邊界的安全防護基線;重要資源區域與核心匯聚的動態監控基線;用戶與運維人員的信用管理基線;日常運維與應急處理的安全管理平臺,具體的技術與管理要求,可以參照等級保護的要求,這里就不贅述了。
云朵內實際上是一個云朵平臺管理的系統范圍內,也可以說是一個虛擬化操作系統的管理平臺下的安全設計。從系統角度看,可以分為兩個層面的安全設計:1、虛擬機內的安全;2、虛擬化平臺上的安全。
虛擬機內的安全
就是用戶申請到的虛擬機,從用戶角度看起來與物理服務器是一樣的,用戶選定的操作系統與業務服務軟件,因此,虛擬機內的安全就如同對一個主機系統進行安全防護設計。由于虛擬機的管理比起物理機要簡單的多,容易進行配置修改與補丁升級管理,開關機就是一個目錄下的文件運行而已。
同時,虛擬機的計算資源是可動態申請的,不再存在傳統主機內安全與業務爭資源的矛盾,因為駐留主機內部的安全監控會降低業務運行的效率,很多業務管理者拒絕安裝其他駐留軟件。當然,軟件間的兼容問題依然是存在的,因此,在系統升級或安裝安全軟件前,一定要在其他的虛擬機上測試,保證不影響業務軟件的正常運轉。
虛擬機內的安全須考慮如下幾個方面:
l身份鑒別與權限管理:身份鑒別可以與整個網絡的身份認證系統統一起來,但權限管理在云朵內部有自己的明細管理,保證云朵內部用戶可訪問業務的差異;
l服務加固與反控制防御:這主要是針對服務器的,如同普通的業務服務器一樣,需要基本的安全加固,安裝適合的補丁、關閉不需要的服務、刪除不需要的賬戶等,但這還是不夠的。服務器是面向網絡服務的,中斷了服務,僅僅是影響自己的業務;若被黑客入侵,成為“肉雞”,就可能成為攻擊其他目標的工具。由于云朵內一般是多個業務系統在運行,一個系統的漏洞被利用,就建立了黑客入侵的橋頭堡,成為內部攻擊的跳板,很多黑客入侵正是這樣一步一步滲透到核心機密服務器中的。因此,服務器不被入侵者控制,不成為“肉雞”是服務器安全的最低底線要求,安裝反控制防御系統,或對系統進行反控制加固是非常有必要的;
l終端防護系統:這主要是針對遠程桌面或BYOD的,因為訪問者的終端種類繁多,安全狀態千奇百怪,對訪問終端進行適當的安全檢查,或限制其訪問云服務的權限都是必須的;當然,也可以利用“容器式”的遠程桌面,隔離遠程終端內本業務與其他系統,保證終端上的病毒、木馬不能入侵到云服務內;
l防病毒:病毒與木馬是無孔不入的,對用戶流量進行病毒過濾是必要的。當然,防病毒也可以在云朵的入口處實現,但對于應用層的病毒,還是要通過主機監控查殺的方式更為有效。
虛擬化平臺上的安全
虛擬化平臺上的安全與廠家產品的開放性有直接的關系,可以分為兩種情況:
第一種情況是開源的平臺,或者是得到了廠家的底層安全API接口,如VMware的VMSafe接口,你可以利用接口插入自己的安全代碼,對虛擬機上的流量進行安全檢查與控制。
這種方式直接在虛擬化平臺的底層hypervisor上控制用戶數據流,有些像我們所理解的操作系統分為內核態與用戶態,黑客要突破hypervisor到內核層是比較困難的,想繞過這種安全監控也是十分困難的。
第二種情況是得不到虛擬化平臺的底層接口,或者是希望通過第三方的安全控制措施,用戶才放心(虛擬化平臺自己管理、自己控制的安全,總讓人有些疑惑)。這種方式是目前安全廠家流行的流量牽引的安全控制措施。
實現的思路是利用SDN技術中的流量牽引控制協議openflow,引導用戶業務流量按照規定的安全策略流向,結合安全產品的虛擬化技術,建立防火墻、入侵檢測、用戶行為審計、病毒過濾等資源池,在用戶申請虛擬機資源時,隨著計算資源、存儲資源一起下發給用戶,保證用戶業務的安全。
實現的步驟大致如下:
l對安全資源虛擬池化:先對安全設備進行“多到一”的虛擬化,形成一個虛擬的、邏輯的、高處理能力的安全設備,如虛擬防火墻、虛擬入侵檢測等;再對虛擬的安全設備進行“一到多”的虛擬,生成用戶定制的、處理能力匹配的虛擬安全設備;
l部署流量控制服務器:它是流量控制管理的中心,接受并部署用戶流量的安全策略,當用戶業務虛擬機遷移時,負責流量牽引策略的遷移落地;該服務器可以是雙機熱備,提高系統安全性,也可以采用虛擬機模式。同時,在虛擬計算資源池內安裝流量控制引擎:具體方法是在每個物理服務器內開一個虛擬機運行流量控制引擎,負責引導該物理服務器上所有虛擬機,按照安全策略進行流量的牽引;
l用戶業務流量的牽引分為兩種模式:
a) 鏡像模式:針對入侵檢測、行為審計等旁路接入的安全設備,把用戶流量復制出來即可,不影響原先的用戶業務流量;
b) 控制模式:針對防火墻等安全網關類安全設備,需要把用戶的流量先引導到安全設備虛擬化池中,“清洗”流量以后,再把流量引導到正常的業務處理虛擬機。
l因為需要改變用戶流量的流向,需要對目的MAC、目的IP進行修改。具體的方案很多,這里我們采用的是MAC in MAC 技術,對數據包二次封裝,經過安全設備處理以后的“安全流量”恢復到“正常”狀態;在云朵中的物理交換機與虛擬交換機支持SDN 模式時,也可以采用openflow 協議進行導引時的封裝;
l當用戶業務服務的虛擬機在不同的物理服務中遷移時,該用戶業務的安全策略也隨著遷移到目的物理服務內的流量控制虛擬機,繼續執行對該用戶的業務流量進行引導。
小結
“云朵”方案通過把不同安全需求的業務系統部署在不同的云朵內,降低了對云內業務流隔離的需求,而在云朵內部,通過流量牽引與虛擬機加固等辦法,實現網絡層面的安全過濾,同時加強業務系統自身的安全管理,如用戶權限管理、業務行為審計等,實現應用層面的訪問控制,對敏感數據的存儲與傳輸都建議采用加密方式。
“云朵”方案是個過渡性質的方案,等到云朵內的安全隔離與控制技術成熟,多個云朵就可以合成一個云了。