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