“云計算”為何被稱為“云”計算,有一種有趣的說法是我們在畫網絡拓撲圖時,通常用一朵云表示互聯網,表示那些網絡中對用戶透明、不需要關心的網絡轉發過程,因此在選擇一個名詞表示基于互聯網的新一代計算方式的時候,就采用了“云計算”這個名詞。當然這個解釋并不太準確,因為這朵“云”里面不僅包含了網絡,更包含了計算、存儲、服務和軟件等元素。它用來描述包括網絡、計算、存儲等在內的IT基礎設施,以及包括操作系統、應用平臺、Web服務等在內的軟件,這樣是為了強調對這些資源的運用而不是他們實現的細節。云計算是一種共享的網絡交付信息服務的模式,云服務的使用者看到的只有服務而不用關心相關基礎設施的具體實現。它是一種革新的IT運用模式,其核心原則是:硬件和軟件都是資源,并封裝為服務,用戶可以通過互聯網按需訪問和使用。它的硬件和軟件都是資源,通過互聯網以服務的方式提供給用戶,這些資源都可以根據需要進行動態擴展和配置,在物理上可以是分布式的共享方式存在,但最終在邏輯上以單一整體的形式呈現,用戶按需使用云中的資源,按實際使用的量付費,而不需要管理它們。
基礎設施虛擬化包括網絡虛擬化、存儲虛擬化。網絡虛擬化是指將網絡的硬件和軟件資源整合,向用戶提供虛擬網絡來連接的虛擬化技術。網絡虛擬化可以分為局域網絡虛擬化(VLAN)和廣域網絡(VPN)虛擬化。存儲虛擬化是指為物理的存儲設備提供一個抽象的邏輯視圖,用戶可以通過這個視圖中的同一邏輯接口來訪問被整合的存儲資源(RAID、NAS、SAN)。
系統虛擬化即是在同一臺物理機上運行多個獨立的操作系統。在操作系統內部看來,與使用直接安裝在物理計算機上的操作系統沒有顯著差異。系統虛擬化的核心思想是使用虛擬化軟件在一臺物理機上虛擬出一臺或多臺虛擬機,虛擬機是指使用系統虛擬化技術,運行在一個隔離環境中,具有完整硬件功能的邏輯計算機系統,包括客戶操作系統和其中的應用程序。系統虛擬化最大的價值在于服務器虛擬化,另外還有新的并行,即虛擬桌面VDI。
服務器虛擬化后,在服務器內部增加的虛擬網絡層,對于傳統的數據中心安全架構帶來兩方面的挑戰。在同一物理服務器上的多臺VM間,可通過服務器內部的虛擬網絡之間通信,這短路掉了傳統的數據中心防火墻的安全防護。在傳統的數據中心內,不同的應用分布在不同的物理服務器上,在靠近物理服務器的位置會部署安全設備比如防火墻,用以提供隔離、狀態防護、入侵檢測等安全保護。
當服務器虛擬化后,在物理服務器內部存在多個虛擬機VM,每個虛擬機承載不同應用,同時,物理服務器內部,還由于虛擬化引入了新的虛擬網絡層,具體就是一個虛擬交換機,同一物理服務器內部的不同虛擬機間的流量可以通過內部的虛擬交換機直接通信,不再通過外部的物理防火墻,因此,原有的安全防護機制失效了。VM在同一數據中心內的不同服務器間遷移、或者跨數據中心站點的遷移時,傳統的數據中心防火墻預先配置的安全策略無法跟隨,這帶來安全漏洞。在傳統數據中心里,為服務器提供安全防護的防火墻等設備,都是基于安全策略,針對具體服務器做好了固定的配置。而在虛擬化的數據中心里,出于負載均衡、資源動態調整、高可用性、服務器硬件維護甚至是節約電源的目的,虛擬機會在數據中心內手工或者動態地遷移,即虛擬機從一臺物理服務器遷移到另一臺物理服務器,此時外部防火墻無法感知虛擬機的位置變化,因此針對具體應用的安全策略無法跟隨,這又導致新的安全漏洞。
首先,我們在部署防火墻時,希望防火墻越靠近服務器(應用)越好,既然服務器虛擬化在服務器內部引入了新的虛擬化層,那么在服務器內部的虛擬網絡層中再增加虛擬防護墻,提供物理世界中的防火墻相同的功能。
針對來源于虛擬機之間的通信可以在物理服務器內部完成,短路掉了物理防火墻,那么,針對此類虛擬機的流量,強制將虛擬機的流量轉發到外部,在通過物理防火墻的檢查后,再轉發回該物理服務器,這樣也能解決問題,IEEE802.1Qbg就是定義這種流量強制轉發的機制。
虛擬化是云計算的基礎,但不是全部,云計算有著更宏大的范圍,在安全方面的挑戰來說,也不是一個層面的。
在云計算的環境中,用戶不再擁有基礎設施的硬件資源,軟件都運行在云中,業務數據也存儲在云中,因此云計算安全關系到云計算這種革命性的計算模式是否能夠被業界接受。云計算的安全問題主要有兩個方面:一是云計算自身環境特有的安全問題,二是云計算會怎樣改變現有的軟件系統安全防護模式。從第一個方面來說,傳統的觀念認為將信息保存在自己可控的環境內,比存放在不了解、不熟悉的地點更安全。因此云計算在安全領域遇到的第一個問題,就是傳統用戶無法認可自己不可控的環境能夠提供更好的安全性。因此,用戶的個人電腦或者中小型服務器、數據中心,遠沒有云計算環境安全。因為在云計算環境中,數據中心和它運行的基礎服務都有專業的機構和人員進行運營和管理,他們遠比個人用戶及中小企業的IT管理員更有安全管理的經驗。同時,云計算提供的規模效應,用戶可以在付出更小成本的情況下享受更高級別的安全服務。
不過,云計算還有一些安全問題有待解決。由于云計算最開始是在企業內部網絡運行,并不對外開發,因此云計算在設計之初沒有太多考慮安全性問題,從而導致云計算安全的一系列問題。首先,傳統的IT系統是封閉的,存在于企業內部,對外暴露的只有網頁服務器、郵件服務器等少數接口,因此只需要在出口設置訪問控制、防火墻等安全措施,就可以解決大部分安全問題。但在云計算環境下,云暴露在公開的網絡中,任何一個節點及他們的網絡都可能受到攻擊,因此安全模式需要從樹敵于國門之外改變為全民皆兵,處處作戰,而大多說安全廠商還沒有準備好迎接這樣的場景。其次,在云環境中,用戶的服務系統更新和升級大多數是由用戶在遠程執行的,而不是采用傳統的在本地按版本更新的方式。另外一個嚴重的問題還不是技術層面的,而是政策法規層面的。雖然人們經常把數據存在云環境中與把錢存在銀行中做類比,但是云環境與銀行的最大區別就在于,銀行業是一個傳統的行業,有相應的法規來規范銀行的流程和制度,另外國家或者相關機構對銀行的信譽進行了擔保,而對于云環境來說,目前缺乏有效的規范和立法,云環境提供商的信譽完全依靠于用戶的認同感,對云計算環境的規范和立法,也是一個需要關注的問題。
目前應對云的安全問題,有一個傳統的技術可以派上用場,就是VPN。VPN在云計算出現之前就已普遍的應用于企業網絡中,一個典型的場景是企業對自己的網絡設置的防火墻和安全策略,在默認的情況下,如果用戶處于企業外部的網絡,由于他不在企業內部的網段之內,他就無法訪問很多企業內部收到保護的服務。但在很多情況下,用戶需要在家庭、賓館、戶外等場所介入企業網絡以實現移動辦公,這是就可以使用VPN。VPN會給移動用戶提供一個虛擬的企業內部的網絡地址,用戶通過身份認證、授權等方式,利用這個虛擬地址介入企業內部網絡,進行辦公。VPN的這種使用場景在云計算的環境內可以得到很好的應用,云服務器提供商以及云用戶可以設置靈活的訪問控制策略,使得用戶還是像在傳統的局域網內一樣使用云,由此在一定程度上克服云計算的安全問題。換句話說,我們的設備可以作為VPN網關部署在云計算數據中心的Internet邊界。
信息保密與信息安全有所不同,信息安全是指信息不會被攻擊、篡改,而信息保密是指信息的內容不應該被未經授權的人得到。云計算服務商認為,對于云計算、云環境的信息保密問題,用戶是可以放心的,因為數據在云的大規模分布式存儲機制中,完整的數據實體通常是被打散成一些“塊”或者“碎片”存儲在不同的服務器上,每一塊甚至包含來自不同數據實體的內容。因此,一個塊可能是一個很大的邏輯文件的一部分,也可能是包含多個很小的邏輯文件。如果一個非法用戶想要窺探云中的數據,他必須獲得大量的存儲服務器的訪問控制權,而這個工作非常困難。
即便如此,上述方法只是增加了非法用戶訪問信息的難度,而沒有根本解決問題。非法用戶可以通過暴力破解所有的存儲服務器來收集信息,甚至會破解云存儲系統的數據分發邏輯,從而精確地找到每一個塊。同時,多個文件可能共同存儲在一個大塊里,這增加了數據泄漏的風險。解決這些問題的根本做法是從邏輯上,甚至是物理上將多個用戶的數據隔離。