PaaS(平臺即服務,Platform-as-a-Service)是一種云計算服務模式,可以為客戶提供一個完整的云平臺(硬件、軟件和基礎(chǔ)架構(gòu))以用于快捷開發(fā)、運行和管理項目,從而降低了企業(yè)云計算應用的高成本和復雜性。當PaaS平臺成為眾多企業(yè)“數(shù)智化”發(fā)展的基礎(chǔ)支撐平臺時,其自身的安全性就變得至關(guān)重要,一旦PaaS平臺被攻破,那么構(gòu)建于其上的各類“數(shù)智化”應用也會面臨安全隱患。
PaaS平臺的安全應用挑戰(zhàn)
總體來看,PaaS平臺通常包含用戶認證模塊、存儲模塊、服務集模塊、應用實例模塊、消息總線模塊,其中每個模塊都可能會面臨著相應的安全威脅與挑戰(zhàn)。同時,PaaS通常還會作為更廣泛應用程序開發(fā)環(huán)境的一部分,以便支持內(nèi)部業(yè)務應用程序,或支持企業(yè)提供給客戶或合作伙伴的軟件和服務,因此確保PaaS的安全性比確保其他云模式的安全性更具挑戰(zhàn)性。
在實際應用中,PaaS平臺不僅會面臨通用的云安全威脅,包括系統(tǒng)和資源隔離、用戶級權(quán)限、用戶訪問管理以及防范常見的云攻擊(比如惡意軟件和勒索軟件)等。從攻擊和威脅事件緩解的角度來看,PaaS平臺安全威脅還會有以下獨特之處:
首先,安全團隊需要了解大量與安全相關(guān)的PaaS平臺設(shè)置選項,了解它們的含義及安全性影響。安全團隊需要能夠根據(jù)面對的風險概況,選擇合適的設(shè)置措施。如果配置不當,就可能會導致安全性降低;
其次,在大多數(shù)PaaS平臺上,安全團隊很少有機會在堆棧架構(gòu)的較低層面解決安全問題,因此不再有機會在較低層面落實安全管控措施;
第三,PaaS平臺是由軟件實現(xiàn)的,而所有軟件都可能存在漏洞。這就存在了一種看似矛盾的平衡:PaaS實施意味著組織不必擔心與補丁和安全更新相關(guān)的管理開銷,但組織現(xiàn)在使用的PaaS平臺服務中也可能會存在安全漏洞。
最后,PaaS常用于直接支持應用程序的構(gòu)建。這意味著可能會出現(xiàn)眾多的設(shè)計、邏輯、編程和實施問題,這是平臺構(gòu)建中的應用程序所特有的。
PaaS應用安全最佳實踐
隨著基于PaaS平臺的應用不斷豐富以及PaaS核心技術(shù)的進一步發(fā)展,PaaS平臺的安全體系和技術(shù)手段也在同步完善中。PaaS安全策略需要根據(jù)企業(yè)環(huán)境、業(yè)務背景和行業(yè)使用情況靈活選擇。而以下梳理的5個PaaS平臺應用安全最佳實踐,幾乎適用于所有PaaS平臺情況,參考這些步驟有助于確保企業(yè)以較少的投入,安全地構(gòu)建和運行PaaS平臺服務。
1?從威脅建模開始入手
對任何應用程序的安全防護都應該從威脅建模入手,在此過程中,會將PaaS應用程序設(shè)計分解為多個組件,并從攻擊者的視角分析這些組件如何相互聯(lián)系。評估應用程序組件和相關(guān)風險使威脅建模人員能夠概述威脅緩解步驟,以修復任何未發(fā)現(xiàn)的漏洞。
企業(yè)在使用PaaS平臺服務之前,創(chuàng)建一個系統(tǒng)的威脅評估模型會大有價值。如果有必要,企業(yè)的網(wǎng)絡安全團隊可以更新應用程序安全測試方法,將威脅模型的覆蓋范圍擴大到微服務和網(wǎng)狀架構(gòu)。
2?充分利用平臺獨有的安全特性
不同的PaaS產(chǎn)品所提供的安全特性也各不相同。企業(yè)必須了解平臺本身帶有哪些安全選項,并盡可能啟用它們。一些平臺可能提供Web應用防火墻或應用程序網(wǎng)關(guān),開啟它們可以更有效地保護應用程序和服務。另一些平臺可能提供增強的日志和監(jiān)測功能。信息安全團隊的領(lǐng)導人需要明確提供商提供哪些安全選項,并加以充分利用。
采取強大的身份和憑據(jù)管理策略也很重要。企業(yè)應該盡可能開啟PaaS服務商所提供的云身份和訪問管理、授權(quán)和身份驗證模式。除了確保整合到應用程序本身外,還要確保將它們整合到面向管理或開發(fā)人員訪問的后端流程中。
3?對平臺數(shù)據(jù)進行加密
大多數(shù)PaaS產(chǎn)品支持或要求客戶對傳輸中數(shù)據(jù)進行加密,這是非常必要的。企業(yè)應該盡可能地防止PaaS服務數(shù)據(jù)暴露,并不僅限于應用服務提供商所提供的預防措施。采取數(shù)據(jù)加密措施有助于確保應用數(shù)據(jù)即使在底層服務提供商泄密后也受到保護。
企業(yè)應該盡量對存儲的數(shù)據(jù)進行加密,無論是客戶數(shù)據(jù)還是配置或會話信息。在PaaS環(huán)境中,加密靜態(tài)數(shù)據(jù)可能需要安全團隊采用PaaS提供商的API工具。加密靜態(tài)數(shù)據(jù)和傳輸中數(shù)據(jù)后,企業(yè)還需要注意秘密信息管理。這適用于為實施靜態(tài)加密而創(chuàng)建和使用的密鑰,以及需要確保安全的密碼、API令牌及其他秘密信息。
4?映射和測試跨業(yè)務流的交互
多云環(huán)境應用已經(jīng)成為了一種常態(tài)。對于PaaS及其他云用例都是如此。在此背景下,創(chuàng)建并持續(xù)更新一張全面的交互關(guān)系圖至關(guān)重要。這個方法還支持前面第一個PaaS安全最佳實踐,因為威脅建模需要創(chuàng)建一個數(shù)據(jù)流圖來表示組件如何交互。
為了確保在滲透測試期間面面俱到,信息安全團隊應該系統(tǒng)化地對每個部分進行整體和隔離的測試。使用OWASP的Web安全測試指南可以幫助企業(yè)更有效地完成這個過程。
5?充分考慮應用的可移植性
PaaS應用安全的一個獨特挑戰(zhàn)是支持性(比如底層API、安全服務甚至語言選擇)依賴。由于底層平臺API接口限制,PaaS平臺服務很少能夠從一個PaaS“簡易替代”成另一個競爭性平臺。因此,企業(yè)應該優(yōu)先選擇使用一種多數(shù)服務提供商都能夠支持的語言很重要。這有助于提高服務的可移植性、盡量避免應用鎖定現(xiàn)象。C#、Python和Java等常用開發(fā)語言通常得到提供商們的廣泛支持。
此外,企業(yè)還應該圍繞特定API構(gòu)件包裝器,在應用程序或服務與底層特定API之間實施抽象層。這么做意味著,如果更換服務提供商,只需要進行一次更改即可。
參考鏈接:
來源:安全牛