如何基于網絡應用經驗開發云應用?
隨著越來越的企業尋找著可部署在云廠商環境中的應用程序,業界對于健全的安全措施與技術的需求也變得至關重要起來。那么,應當如何開發云計算環境中的應用程序以便于實現安全性的最大化呢?這些云應用是否有別于傳統的內部應用程序呢?在開發周期和質保(QA)過程中,需要有什么樣的變化呢?在把應用程序遷往公有云環境前,就必須解決所有上述這些問題。
在本文中,我們會提供指導,介紹如何特別地為更易于受到當今最常見攻擊的云開發安全的應用。我們還將討論一些需要落實到位的控制措施以便于在應用開發和部署之后還能確保這些云應用的安全性。
如何安全地開發云應用
在企業一頭扎進云應用開發過程之前,企業的安全團隊就應當鼓勵他們的開發人員摸索安全開發平臺、編程安全產品以及由云廠商所提供的相關工具。采用代碼安全措施和安全開發措施的平臺即服務(PaaS)供應商的典型代表之一就是Salesforce.com的Force.com,他們在維基上有專門的一個頁面介紹開發人員安全與編程最佳實踐。Force.com的維基頁面對設計、開發、測試以及發布各個階段的安全問題分別進行了全面的概述,這基本上就是一個相當標準的軟件開發生命周期(SDLC)了。Force.com提供了一些最佳實踐的文章,一個可以幫助指導安全決策的自評估工具以及專供SDLC各個階段使用的特定工具。同樣,微軟公司也提供了一些適合開發人員使用的資源,其中包括該公司的“云計算基礎”系列視頻。
如何基于網絡應用經驗開發云應用
雖然有了這些可用的資源,但是目前還沒有任何一家云廠商能夠提供所有的資源和其他的程序組件,以便于滿足在公有云和混合云環境中確保安全應用程序健全開發的需求。成功的安全云應用開發要求我們能夠根據云應用的風險特點采取有針對性的措施。安全開發的責任人應當把云應用視為比標準內部應用程序更具開放性的開發對象。這是為什么呢?首先,云應用通常都存在于一個獨立于企業核心IT設備以外的環境中被托管和維護,因此與傳統的內部應用程序相比,企業對云應用的控制權限更少。其次,大多數云應用都是基于網絡的,這就意味著很可能需要面對各種各樣標準尚未流行的網絡應用程序的安全威脅,其中包括了跨網站的腳本程序、SQL注入以及目錄遍歷等。
一個信息安全團隊應當建議其開發人員認真考慮開放式網絡應用程序安全項目(OWASP)提出的十大網絡應用程序攻擊,然后在發布應用程序并部署至云計算環境前開發和集成針對這些攻擊的緩解措施。很多網絡應用程序受到攻擊的主要原因就在于缺乏對輸入的過濾,所以開發人員應當嚴格定義應用程序可接受的數據類型、長度和格式。開發人員還應當小心謹慎,盡可能地避免在他們的云應用中暴露應用程序編程接口(API)。一直以來,API濫用被云計算安全聯盟列為云計算的主要威脅之一。
云應用安全性意味著認證和加密
鑒于云應用游離于企業網絡和企業監控的范圍之外,要實現他們的認證和授權就必須施以更高強度的控制。開發人員應當確保認證頁面或接口能夠完全駕馭所有的應用程序內容和功能。賬戶劫持則是另一個常見的云計算安全問題,所以開發人員可能需要實施一種比內部應用程序更嚴格的身份認證策略,他們應盡可能地充分利用多元認證方法、強大的密碼復雜性和長度策略。鑒于云應用被托管在多租戶環境中,使用文件和應用程序級加密技術可能是非常適合的。雖然惡意合作租戶妥協方案的可能性是難以預料的,但是使用加密技術和認真審查庫及其他第三方代碼組件是可以遵循的穩健做法。
一個企業的現行SDLC也應適用于云應用的開發和發布。在正式發布至云計算平臺前,應考慮強制性地仔細測試代碼和執行QA流程。由于考慮到云計算資源固有的可伸縮性,應執行可用性測試、性能測試以及一定程度的壓力測試。
安全開發需要一定的時間
一般情況下,隨著企業越來越迅速地實施云計算,目前業界已出現了一個快速開發程序(如Agile)的發展趨勢。除非企業能夠在開發項目的每個階段都能夠投入必要的時間和資源以確保代碼的安全性,否則這些希望實現他們云應用安全性的企業就應當在交付這樣的應用程序時特別地審慎。顯而易見,當開發安全云應用時,有大量的問題需要予以關注和解決,所以加快這一過程的后果只能是增加出現有問題應用程序的風險而已。
作者簡介:
Dave Shackleford是IANS公司的高級研發副總裁和CTO,SANS分析師、講師和課程設計師。他已為數百個安全、遵守法規以及網絡架構與工程領域的企業提供過咨詢服務。 他是VMware vExpert, 在設計和配置安全虛擬化基礎設施方面擁有豐富經驗。Dave之前是Configuresoft公司的CSO、互聯網安全中心的CTO、并曾出任多家財富500強公司的安全架構師、分析師和經理。Dave是Sybex一書的作者,虛擬化安全:保護虛擬環境,Dave最近為SANS研究所合作設計了第一個虛擬化安全課程。目前,Dave在SANS技術研究院擔任董事一職,并協助領導云計算安全聯盟的亞特蘭大分部。