為OpenStack確保安全并不是像只要部署防火墻、啟用反病毒軟件來得這么容易,還需要部署許多傳統(tǒng)的控制機制。
安全是現(xiàn)代IT所有領(lǐng)域需要關(guān)注的一大問題,也常常被列為是采用云計算所面臨的主要障礙。在5月中下旬于加拿大溫哥華召開的OpenStack峰會上,安全是許多會議的主要話題。幾場會議探討了如何合理而安全地部署和配置OpenStack云。安全還通過許多不同的項目納入到OpenStack本身的開發(fā)當中。
OpenStack現(xiàn)在被美國一些最大的公司部署到生產(chǎn)環(huán)境,包括沃爾瑪、康卡斯特、百思買、時代華納有線公司、AT&T和電子港灣。最近的許多安全漏洞都影響了OpenStack,比如VENOM、虛擬機外溢(VM breakout)和Heartbleed這種與SSL有關(guān)的漏洞。
Robert Clark是惠普的Helion云首席安全架構(gòu)師,兼OpenStack安全項目組的項目技術(shù)主管(PTL)。他在最近這次峰會上的幾場會議作了發(fā)言,解釋了許多不同的技術(shù)可以用在主機操作系統(tǒng)上和OpenStack里面,以提供安全。
這幾年來,Clark一直積極地為OpenStack貢獻代碼,幫助改善安全。在2013年于俄勒岡州波特蘭召開的OpenStack峰會上,Clark探討了OpenStack安全項目組(OSSG)如何著力制定OpenStack部署方面的最佳實踐和指導。
Clark解釋,OSSG最近把安全漏洞管理團隊(VMT)納入到OpenStack旗下,現(xiàn)在它是一個官方的OpenStack項目。
Clark說:“OpenStack安全項目負責為OpenStack提供許多不同的服務(wù)。”
VMT是OpenStack安全項目下面的一個獨立部門,負責快速機密地響應(yīng)潛在的新的安全漏洞。VMT這個部門發(fā)布OpenStack安全公告,而更龐大的OpenStack安全項目會發(fā)布安全須知。公告與須知之間的區(qū)別在于,公告針對可以修復的當下的安全問題。相比之下,安全須知提供了部署最佳實踐方面的指導和建議,以降低安全風險。
安全項目組還編寫了《OpenStack安全指南》,這項工作旨在為安全部署OpenStack提供一套全面而廣泛的準則。該項目組還為OpenStack項目執(zhí)行威脅分析。
OpenStack安全項目管理一對工具,幫助開發(fā)人員確保OpenStack代碼安全無虞:Anchor工具是一種暫時的公鑰基礎(chǔ)設(shè)施(PKI),而Bandit是一種查找代碼錯誤的Python安全工具。
Clark解釋:“Anchor項目擁有一個被動撤消系統(tǒng),這意味著證書配置起來要安全得多。”
最佳實踐
對Clark來說,OpenStack云部署方面的最佳實踐從硬件開始。他表示,企業(yè)能夠信任云運行的硬件,以便能夠證實硬件沒有被人篡改或修改,這點很重要。
每個人都有同樣訪問權(quán)的扁平式網(wǎng)絡(luò)對云來說不是個好主意。Clark建議,在部署OpenStack云的企業(yè)中應(yīng)該至少有四個域:公共網(wǎng)絡(luò)、訪客網(wǎng)絡(luò)、管理網(wǎng)絡(luò)和數(shù)據(jù)網(wǎng)絡(luò)。公共網(wǎng)絡(luò)和訪客網(wǎng)絡(luò)基本上是不可信任的,而管理網(wǎng)絡(luò)和數(shù)據(jù)網(wǎng)絡(luò)是可信節(jié)點。
Clark表示,為OpenStack確保安全并不是像只要部署防火墻、啟用反病毒軟件來得這么容易,還需要部署許多傳統(tǒng)的控制機制。他主張采用深層防御機制――采用多層體系,并結(jié)合使用工具和方法。
Clark說:“在我們的所有威脅分析和設(shè)計中,我們假設(shè)所有虛擬機都想給我們帶來危害。我們假設(shè),一切都完全是敵意,至少在惠普是這樣。”
減小整個架構(gòu)當中的攻擊面至關(guān)重要。為此,Clark建議的一個主要方法就是,在OpenStack節(jié)點上只部署交付特定服務(wù)所需要的應(yīng)用程序,而不是部署標準的Linux發(fā)行版。
具體拿虛擬機外溢(比如最近的VENOM安全漏洞)來說,Clark提供了技術(shù)和配置方面的許多建議,可以用來盡量減小這種風險。
Clark說:“虛擬機外溢并不是什么怪獸,它們在外面實際上頻繁出現(xiàn)。”
由于會發(fā)生虛擬機外溢,就需要落實虛擬機遏制策略。做好虛擬機遏制工作的一個辦法就是,借助強制性訪問控制機制,包括Security Enhanced Linux(SELinux)和AppArmor。強制性訪問控制機制定義了某個進程應(yīng)該有怎樣的行為,可以阻止未授權(quán)進程,提醒管理員某個進程何時企圖違反政策行事。
除了SELinux和AppArmor外,Clark還探討了安全計算模式(SECCOMP)的優(yōu)點,這種模式在Linux里面提供了應(yīng)用程序沙箱功能。
Linux還有一項隔離技術(shù),又叫命名空間。Clark解釋,借助Linux命名空間隔離技術(shù),Linux里面已定義的命令空間就可以與其他命令空間隔離開來。Linux控制組(CGroups)也可以用來限制和隔離某一個Linux進程所使用的資源。
Clark表示,即便落實了安全控制機制以限制潛在的安全漏洞風險,但是另外更新服務(wù)器及打補丁的功能也很重要。他說:“控制機制解決不了VENOM之類的問題。它們只是為你贏得應(yīng)對的時間,又不干擾貴公司的業(yè)務(wù)。”
雖然多套控制機制和策略可以用來幫助為OpenStack云保駕護航,“但別犯這個低級錯誤:使用默認密碼,”Clark如是說。