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