技術(shù)
導(dǎo)讀:到2023年,使用云原生方法開(kāi)發(fā)和部署的數(shù)字應(yīng)用程序和服務(wù)將超過(guò)5億。這么說(shuō)吧,2019年至2023年這四年內(nèi)云端開(kāi)發(fā)的應(yīng)用程序?qū)⒊^(guò)過(guò)去40年開(kāi)發(fā)的應(yīng)用程序總數(shù)。
很顯然,許多組織在積極采用云。但問(wèn)題是,他們完全了解云嗎?是否知道如何保護(hù)在云端構(gòu)建的應(yīng)用程序?就像任何新興技術(shù)一樣,種種神話和誤區(qū)自然隨之出現(xiàn)。
說(shuō)到安全,哪怕小小的失誤都會(huì)導(dǎo)致違規(guī)或網(wǎng)絡(luò)攻擊,從而使貴組織蒙受慘重?fù)p失。為了盡量減小這種事情的可能性,有必要了解最常見(jiàn)的云原生安全誤區(qū)以及對(duì)策,確保貴組織避免不必要的風(fēng)險(xiǎn)。
別讓云原生誤區(qū)破壞安全
要建立更強(qiáng)大的安全態(tài)勢(shì),第一步是教育:知道在云原生環(huán)境中不該做什么與知道該做什么同樣重要。
本文旨在揭穿云原生安全方面最常見(jiàn)的誤區(qū),并給出切實(shí)可行的建議。
誤區(qū)一:云提供商負(fù)責(zé)所有安全措施
許多組織以為,由于將應(yīng)用程序托管在云服務(wù)提供商(CSP)處,該CSP就提供所有安全措施,但事實(shí)并非如此。實(shí)際上,云服務(wù)提供商和組織分擔(dān)安全方面的責(zé)任。
簡(jiǎn)單來(lái)說(shuō),CSP保護(hù)應(yīng)用程序在上面運(yùn)行的基礎(chǔ)設(shè)施,組織負(fù)責(zé)保護(hù)應(yīng)用程序內(nèi)的活動(dòng)和數(shù)據(jù)。CSP確保它們運(yùn)行的計(jì)算、存儲(chǔ)和數(shù)據(jù)庫(kù)服務(wù)是安全的。由于CSP采用多租戶模式,其中許多應(yīng)用程序共享相同的服務(wù)器,因此它們還提供公司之間的硬隔離。
云提供商無(wú)法在組織的應(yīng)用程序內(nèi)實(shí)施安全措施。這是由于每家組織以獨(dú)特的方式構(gòu)建應(yīng)用程序、使用存儲(chǔ)空間和配置系統(tǒng)——這意味著CSP不可能對(duì)應(yīng)用程序內(nèi)的安全采取一刀切的解決方案。雖然一些提供商提供開(kāi)箱即用的安全功能,比如AWS Control Tower,但組織須支付額外費(fèi)用,仍要做大量的定制工作。
使用云的所有組織為其應(yīng)用程序及各部分(包括操作系統(tǒng)、源代碼和數(shù)據(jù))的安全負(fù)責(zé)。組織可以采取的最強(qiáng)有力的安全措施之一是,通過(guò)授權(quán)實(shí)施訪問(wèn)控制。授權(quán)確保用戶及其他技術(shù)只能在需要時(shí)訪問(wèn)所需的系統(tǒng)和數(shù)據(jù)。下面探討如何實(shí)施授權(quán)。
誤區(qū)二:你可以在云原生環(huán)境中使用同樣的本地安全措施
組織犯的另一個(gè)常見(jiàn)錯(cuò)誤是,試圖將來(lái)自本地環(huán)境的安全措施原封不動(dòng)地搬到云端?;谶吔绲陌踩胧?比如防火墻和瀏覽器隔離系統(tǒng))在云端不起作用,因?yàn)榫W(wǎng)絡(luò)不再是可以通過(guò)周圍設(shè)置屏障來(lái)保護(hù)的靜態(tài)環(huán)境。
相反,如果黑客闖入網(wǎng)絡(luò),你必須專注于保護(hù)數(shù)據(jù)安全。同樣,這時(shí)候訪問(wèn)控制和授權(quán)有了用武之地。然而,與基于邊界的安全一樣,傳統(tǒng)的本地訪問(wèn)控制措施不適用于云。
由于微服務(wù)架構(gòu)、容器化應(yīng)用程序和應(yīng)用編程接口(API),需要自己的授權(quán)策略和安全配置的單個(gè)組件急劇增多。單點(diǎn)登錄、SAML、OIDC和OAuth2等傳統(tǒng)技術(shù)可以幫助你解決應(yīng)用程序的身份驗(yàn)證,但無(wú)法幫助解決授權(quán),這仍然取決于你的開(kāi)發(fā)人員。
你應(yīng)該在云原生環(huán)境中使用策略即代碼。策略即代碼意味著,你將標(biāo)準(zhǔn)的軟件工程實(shí)踐運(yùn)用于管理系統(tǒng)的規(guī)則和條件(版本控制、代碼審查、自動(dòng)化測(cè)試和持續(xù)交付等)。有了策略即代碼,策略與應(yīng)用云平臺(tái)分離開(kāi)來(lái),這意味著可以在不更改應(yīng)用代碼的情況下更改策略。策略即代碼的去耦性使團(tuán)隊(duì)更容易編寫、擴(kuò)展、監(jiān)測(cè)、審計(jì)和協(xié)作策略。
誤區(qū)三:策略執(zhí)行需要定制的解決方案
最后一個(gè)誤區(qū)來(lái)源于現(xiàn)實(shí),因?yàn)閯?chuàng)建定制的單個(gè)策略一度是控制訪問(wèn)的唯一方法,但現(xiàn)在不再是這樣了?,F(xiàn)有技術(shù)使組織能夠跨諸多云原生應(yīng)用程序、服務(wù)和平臺(tái),運(yùn)用統(tǒng)一授權(quán)策略。
可以理解為什么組織仍會(huì)有這種信念。軟件開(kāi)發(fā)通常依賴創(chuàng)建一次性定制解決方案,以解決某個(gè)問(wèn)題,因?yàn)槊考医M織配置系統(tǒng)和基礎(chǔ)架構(gòu)的方式不一樣。多年來(lái),授權(quán)策略也是如此。但在云原生環(huán)境下,由于獨(dú)立的組件數(shù)量更多,以這種方式對(duì)待策略執(zhí)行更耗時(shí)、更乏味、更容易出錯(cuò)。
與其為每組新的策略需求實(shí)施定制解決方案,不如考慮通過(guò)策略即代碼將策略決策與業(yè)務(wù)邏輯的其余部分分離開(kāi)來(lái),并依賴額外技術(shù)幫助你跨云原生堆棧,高效地運(yùn)用和擴(kuò)展統(tǒng)一授權(quán)。
Open Policy Agent(OPA)是一個(gè)開(kāi)源策略引擎,讓你可以編寫和驗(yàn)證策略即代碼。Styra在2018年將它捐給了云原生計(jì)算基金會(huì),2021年它達(dá)到了畢業(yè)狀態(tài)。由于組織可以在整個(gè)云原生技術(shù)堆棧中使用同樣的語(yǔ)言和策略框架,OPA簡(jiǎn)化了策略創(chuàng)建和日常治理。策略是用Rego編寫的,Rego是專門針對(duì)復(fù)雜的層次數(shù)據(jù)結(jié)構(gòu)表達(dá)策略而構(gòu)建的。又由于它是開(kāi)源的,所以有豐富的生態(tài)系統(tǒng),組織可以從中獲取對(duì)開(kāi)發(fā)者友好的工具和集成,還有提供建議的從業(yè)者社區(qū)。