如今,最流行的云計算模式就是基礎設施即服務(IaaS),但是它并不總是云應用安全的最佳模式。很多用戶都知道平臺即服務(PaaS)和軟件即服務(SaaS)可以實現較好的成本節約,尤其對于那些無法訪問高技能云計算技術資源的用戶來說,更是如此。大多數人都不知道,PaaS尤其能夠提供更高的安全性,甚至對于那些熟練用戶來說,這也是一個具有決定性意義的好處。為了從PaaS安全性中獲得更多的好處,我們應了解IaaS和 PaaS之間的基本安全性差異,并選擇具有良好安全意識的PaaS供應商,開發應用程序以求實現PaaS云應用安全性的最大化,當規劃新的云應用和遷移時,考慮采用PaaS模式。
因為應用程序是采用中間件工具進行開發的,所以如果組合中間件支持應用程序過于復雜,那么就會迅速蠕變形成安全性問題和錯誤。在IaaS中,每一個應用程序都集成在機器鏡像中,而鏡像中還包括了操作系統和中間件。很少有(如果有的話)云計算服務會在集成所有應用程序和組件的鏡像上,所以所有鏈接應用程序、識別和驗證組件身份以及管理數據安全性的步驟都可能是由各種機器鏡像的共同合作而完成的。
PaaS可方便實現安全性措施與管理
在一個PaaS云計算中,一個常見的中間件堆棧是由服務組成的,應用程序可以使用這些服務來確保組件的安全性、連接和移動工作,甚至管理與合作組織的交流。應用程序是在這個堆棧上進行開發的,所以有一個通用的功能集可供使用。這種方法可實現應用程序開發、部署和管理之間的協調并進,從而有助于安全性措施和管理的實現。
這一差異性的最顯著影響是,PaaS幾乎總是包括了一個安全性和訪問的控制套件,這個套件在所有托管點、數據庫服務以及應用程序和組件中都是一致的。雖然在IaaS中也可以提供這樣的套件,但是它真的是一個托管在云計算中的內部部署安全和訪問管理工具,而不是一個專為解決公共托管特殊風險的云計算工具。
PaaS的一個不太明顯的好處是通用的工作流程和數據庫管理方法。開發人員通常會開發適合他們使用的工具。這就意味著,接口、數據庫安全性以及加密等等方面在具體實施時都是各不相同的,其中開發者平臺提供了多樣化的選擇。IaaS并不會限制操作系統的標識,它有著較少的版本和中間件工具,從而引入不同的方法。
PaaS提供了標準化的工具
如今的應用程序是高度集成化的,可提供與商務活動相關的高效工作流程。如果所有支持特定業務流程的應用程序都是基于不同操作系統和中間件工具的,那么云計算對于應用程序的支持將不得不沿用所有的這些方法以全面確保應用程序的安全性。通過使用PaaS,用于應用程序連接和工作流程的工具是更加標準化和更易于維護。
黑客需要黑進應用程序或系統才能做壞事,這就意味著接口安全性是至關重要的。通過使用IaaS,接口有機會暴露在黑客面前的途徑將更具可變性了,因此,保護接口的措施也變得更為復雜。因為IaaS中的操作系統和中間件必須使用相同的方法進行管理,就如同系統是在數據中心中運行的一樣,那么這些接口必須被暴露出來。這使得他們更易于受到攻擊。通過使用PaaS,云計算供應商就能夠使用與確保云計算管理接口本身安全性相同的措施來確保操作系統和中間件管理接口的安全性,從而減少可能必須被保留的漏洞的數量。
在云應用中,一些安全性漏洞都是被故意保留的;用戶通常會為客戶和供應商提供門戶網站以便于與他們進行信息交換。在IaaS中,系統并沒有為這些門戶網站提供創建和保護的具體方法,所以它們可能是風險的主要來源。在至少更“結構化”的PaaS系統中,有著一個對用戶進行分類的“角色”和“執行者”的概念,它可讓管理員用一種有組織的方法來設置權限。在PaaS平臺軟件的控制下,這些權限可在所有系統、應用程序和數據庫中有效。
所有的PaaS方法都不是生來平等的
并不是所有的PaaS方法都是相同的,同樣,它們所帶來云應用安全性好處也不會是完全相同的。一般情況下,PaaS云計算可被分為三類完整操作系統和軟件框架(例如微軟公司的Azure)、根據組件依賴性組裝中間件的“適應性”PaaS框架(例如被惠普公司收購的Stackato)以及 “連接的”PaaS框架(如亞馬遜的AWS)。
如果安全性和訪問控制對于您的云應用安全性是特別重要的,那么您將需要一個提供完整操作系統和中間件工具的PaaS策略,并將其作為平臺的一部分或通過相關性分析。可選的附加功能將抵消PaaS 所具有的“共性”優勢,因此平臺也會允許應用程序開發人員使用他們自己選擇的產品來彌補平臺中間件的功能不足。
當然,PaaS很難采用一個無法在通用平臺上運行的應用程序。如果您無法使用PaaS,那么可以在一個通用工作流程、組件接口和數據庫服務策略基礎之上嘗試運行所有的應用程序。通過強制推行平臺類標準,您的IaaS至少可以近乎地實現某種安全等級和PaaS提供的“可管理性”。