公有云和私有云誰更安全?
一個接一個的調(diào)查表明,潛在用戶采用公有云最大的顧慮是安全問題。例如,2010年4月的一項(xiàng)調(diào)查指出,45%的以上的受訪者認(rèn)為,云計(jì)算的風(fēng)險要超過其能帶來的利益。CA 和Ponemon Institute進(jìn)行的一項(xiàng)調(diào)查研究,也發(fā)現(xiàn)了相似的擔(dān)憂。但是他們也發(fā)現(xiàn),盡管有安全的顧慮,他們依舊部署了云計(jì)算。然而,依舊有諸如此類的調(diào)查和研究結(jié)果不斷發(fā)布,指出對于云安全的不放心繼續(xù)存在。
當(dāng)然,大多數(shù)對云計(jì)算的擔(dān)心與公有云有關(guān)。全球IT從業(yè)者不斷地對使用一個公有云服務(wù)提供商提出同樣的問題。例如,這周我在臺灣,在臺灣云SIG會議上發(fā)表了演講。并做了一篇關(guān)于臺灣云計(jì)算SIG的演講。250人參加了這個會議,正如預(yù)料的那樣,人們向我提出的第一個問題就是,“公有云計(jì)算足夠安全嗎,我是否應(yīng)該使用私有云以避免所有的安全問題?”所有地方的人們似乎都認(rèn)為公有云服務(wù)提供商是不可信賴的。
然而,把云安全的討論歸結(jié)為“公有云不安全,私有云安全”的公式似乎過于簡單化。簡單地說,這個觀點(diǎn)存在兩個大謊言(或者說是兩大主要的誤解)。產(chǎn)生這兩大誤解的主要原因是,這種新的計(jì)算模式迫使安全產(chǎn)品和操作手法發(fā)生了巨大變化。
誤解一:私有云是安全的
這個結(jié)論的依據(jù)僅僅是私有云的定義:私有云是在企業(yè)自己的數(shù)據(jù)中心邊界范圍內(nèi)部署的。這個誤解產(chǎn)生于這樣一個事實(shí):云計(jì)算包含與傳統(tǒng)計(jì)算不同的兩個關(guān)鍵區(qū)別:虛擬化和活力。
第一個區(qū)別是,云計(jì)算的技術(shù)基礎(chǔ)平臺是一個應(yīng)用的管理程序。管理程序能夠把計(jì)算(及其相關(guān)的安全威脅)與傳統(tǒng)的安全工具隔離開,檢查網(wǎng)絡(luò)通訊中不適當(dāng)?shù)幕蛘邜阂獾臄?shù)據(jù)包。由于在同一臺服務(wù)器中的虛擬機(jī)能夠完全通過管理程序中的通訊進(jìn)行溝通,數(shù)據(jù)包能夠從一個虛擬機(jī)發(fā)送到另一個虛擬機(jī),不必經(jīng)過物理網(wǎng)絡(luò)。一般安裝的安全設(shè)備在物理網(wǎng)絡(luò)檢查通訊流量。
至關(guān)重要的是,這意味著如果一個虛擬機(jī)被攻破,它能夠把危險的通訊發(fā)送到另一個虛擬機(jī),機(jī)構(gòu)的防護(hù)措施甚至都不會察覺。換句話說,一個不安全的應(yīng)用程序能夠造成對其它虛擬機(jī)的攻擊,機(jī)構(gòu)的安全措施對此無能為力。僅僅因?yàn)橐粋€機(jī)構(gòu)的應(yīng)用程序位于私有云并不能保護(hù)這個應(yīng)用程序不會出現(xiàn)安全問題。
當(dāng)然,人們也許會指出,這個問題是與虛擬化一起出現(xiàn)的,沒有涉及到云計(jì)算的任何方面。這個觀察是正確的。云計(jì)算代表了虛擬化與自動化的結(jié)合。它是私有云出現(xiàn)的另一個安全缺陷的第二個因素。
云計(jì)算應(yīng)用程序得益于自動化以實(shí)現(xiàn)靈活性和彈性,能夠通過迅速遷移虛擬機(jī)和啟動額外的虛擬機(jī)管理變化的工作量方式對不斷變化的應(yīng)用狀況做出回應(yīng)。這意味著新的實(shí)例在幾分鐘之內(nèi)就可以上線,不用任何人工干預(yù)。這意味著任何必要的軟件安裝或者配置也必須實(shí)現(xiàn)自動化。這樣,當(dāng)新的實(shí)例加入現(xiàn)有的應(yīng)用程序池的時候,它能夠立即作為一個資源使用。
同樣,它還意味著所有安全軟件必須自動化地安裝和配置,不能有人工干預(yù)。遺憾的是,許多機(jī)構(gòu)依靠安全人員或者系統(tǒng)管理員人工安裝和配置必要的安全組件,通常作為這臺機(jī)器的其它軟件組件安裝和配置完畢之后的第二個步驟。
換句話說,許多機(jī)構(gòu)在安全做法與云要求的現(xiàn)實(shí)方面是不匹配的。估計(jì)私有云本身是安全的這個觀點(diǎn)是不正確的。在你的安全和基礎(chǔ)設(shè)施做法與自動化的實(shí)例一致之前,你會有安全漏洞。
而且,使它們一致是非常重要的。否則,你可能出現(xiàn)這種情況:你的應(yīng)用程序自動化超過了你的安全做法的應(yīng)對能力。這不是一個好現(xiàn)象。毫無疑問,人們不喜歡解釋為什么好像安全的私有云最終還是有安全漏洞,因?yàn)樵朴?jì)算的自動化特征還沒有擴(kuò)展到軟件基礎(chǔ)設(shè)施的所有方面。
因此,關(guān)于云計(jì)算的第一個大謊言的結(jié)果是私有云本身就是不安全的。#p#
誤解二:公有云的安全完全取決于云服務(wù)提供商
現(xiàn)實(shí)是,服務(wù)提供商領(lǐng)域的安全是提供商與用戶共同承擔(dān)的責(zé)任。服務(wù)提供商負(fù)責(zé)基礎(chǔ)設(shè)施的安全以及應(yīng)用程序與托管的環(huán)境之間的接口的安全;用戶負(fù)責(zé)接入這個環(huán)境的接口的安全,更重要的是負(fù)責(zé)應(yīng)用程序本身的內(nèi)部安全。
沒有正確地配置應(yīng)用程序,如環(huán)境安全接口或者沒有采取適當(dāng)?shù)膽?yīng)用程序級安全預(yù)防措施,會使用戶產(chǎn)生一些問題。任何提供商也許都不會對這種問題承擔(dān)責(zé)任。
讓我提供一個例子。與我們合作的一家公司把自己核心的應(yīng)用程序放在亞馬遜Web服務(wù)中。遺憾的是,這家公司在使用亞馬遜Web服務(wù)安全機(jī)制或者簡單應(yīng)用程序設(shè)計(jì)問題等方面沒有采取適當(dāng)?shù)陌踩胧?/p>
實(shí)際上,亞馬遜提供一個虛擬機(jī)級別的防火墻(稱作安全組)。人們配置這個防火墻以允許數(shù)據(jù)包訪問具體的端口。與安全組有關(guān)的最佳做法是對它們分區(qū),這樣,就會為每一個虛擬化提供非常精細(xì)的訪問端口。這將保證只有適用于那種類型機(jī)器的通訊能夠訪問一個實(shí)例。例如,一臺Web服務(wù)器虛擬機(jī)經(jīng)過配置允許端口80上的通訊訪問這個實(shí)例,同時,數(shù)據(jù)庫虛擬機(jī)經(jīng)過配置允許端口80上的通訊訪問這個實(shí)例。這就阻止了來自外部的利用web通訊對包含重要應(yīng)用程序數(shù)據(jù)的數(shù)據(jù)庫實(shí)例的攻擊。
要建立一個安全的應(yīng)用程序,人們必須正確地使用安全組。這個機(jī)構(gòu)沒有這樣做。它對于訪問所有實(shí)例的通訊都使用一個安全組。這意味著訪問任何實(shí)例的任何類型的通訊都可以訪問每一種類型的實(shí)例。這顯然是糟糕地使用亞馬遜Web服務(wù)安全機(jī)制的一個例子。
關(guān)于機(jī)構(gòu)的應(yīng)用程序本身,它采用了糟糕的安全做法。它沒有在不同類型的機(jī)器之中對應(yīng)用程序代碼分區(qū),它把所有的應(yīng)用程序代碼都裝載到同一個實(shí)例中。這個實(shí)例接收其企業(yè)網(wǎng)站的通訊,并且還有也在它上面運(yùn)行的包含專有算法的代碼。
這種情況的關(guān)鍵事實(shí)是:如果這個機(jī)構(gòu)以為所有的安全責(zé)任都由云服務(wù)提供商(在這個案例中是亞馬遜Web服務(wù)),這將是一個嚴(yán)重的疏忽,因?yàn)樗鼪]有采取重要步驟解決安全問題,而這個安全問題是沒有任何一個云服務(wù)提供商會承擔(dān)責(zé)任的。這是共同承擔(dān)責(zé)任的意義——雙方必須建立自己控制的安全方面。沒有這樣做,意味著應(yīng)用程序是不安全的。即使云服務(wù)提供商在自己控制的范圍內(nèi)所做的一切都是正確的,如果這個應(yīng)用程序的擁有者沒有正確地履行自己的責(zé)任,這個應(yīng)用程序也將是不安全的。
我曾經(jīng)會見過許多安全人員討論有關(guān)公告云服務(wù)提供商的問題。他們拒絕認(rèn)為自己的公司在這些環(huán)境中的責(zé)任,堅(jiān)持把每一個安全話題轉(zhuǎn)向擔(dān)心云服務(wù)提供商的責(zé)任。
坦率地說,這使我感到他們是輕率的。因?yàn)檫@暗示他們拒絕認(rèn)真地做一些必要的工作,以便創(chuàng)建一個基于公有云服務(wù)提供商的盡可能安全的應(yīng)用程序。這個態(tài)度好像所有的安全責(zé)任都在云服務(wù)提供商身上,與安全人員無關(guān)。進(jìn)一步擴(kuò)展就是他的公司與在云服務(wù)提供商環(huán)境中運(yùn)行的應(yīng)用程序的任何安全事故無關(guān)。因此,這種情況——有關(guān)人士堅(jiān)決支持私有云,聲稱私有云有優(yōu)越的安全性——并不讓人感到意外。
現(xiàn)實(shí)是,機(jī)構(gòu)正在越來越多地在公有云服務(wù)提供商環(huán)境中部署應(yīng)用程序。安全組織采取行動,保證自己的機(jī)構(gòu)采取的所有步驟盡可能安全地執(zhí)行應(yīng)用程序是非常重要的。這意味著機(jī)構(gòu)本身需要在這方面采取些什么步驟。
因此,安全是云計(jì)算的第三條軌道。安全一直被說成是私有云固有的好處和公有云計(jì)算的基本缺陷。實(shí)際上,事實(shí)比這些情況暗示的還要模糊不清。斷言公有云環(huán)境有安全缺陷,不認(rèn)真考慮如何緩解這些不安全因素,似乎是不負(fù)責(zé)任的。這個證據(jù)表明這種觀點(diǎn)認(rèn)為研究緩解安全問題的技術(shù)是沒有必要。
一個管理不善和配置糟糕的私有云應(yīng)用程序是非常容易受到攻擊的。一個管理妥當(dāng)、配置合格的公有云應(yīng)用程序能夠達(dá)到很好的安全性。
在這兩個環(huán)境中,更有建設(shè)性的做法是就以下問題進(jìn)行咨詢:必須采取什么行動才能實(shí)現(xiàn)在時間、預(yù)算和容許風(fēng)險的條件下,盡可能保證應(yīng)用程序安全的目標(biāo)??紤]到一個具體環(huán)境和應(yīng)用,安全從來不是一個或黑或白的簡單問題,而是如何盡可能地照亮一個陰影的問題。不承認(rèn)這個問題會破壞這個話題的討論,影響如何最好地保證一個機(jī)構(gòu)的基礎(chǔ)設(shè)施以及盡可能地高效率和節(jié)省成本等問題。
*本文作者:Bernard Golden(HyperStratus咨詢公司CEO伯納德·戈?duì)柕?