本文來自微信公眾號“twt企業(yè)IT社區(qū)”,張志強(qiáng),多年的云計(jì)算、虛擬化架構(gòu)設(shè)計(jì)、企業(yè)信息化建設(shè)、自動(dòng)化運(yùn)維經(jīng)驗(yàn)。熟練掌握X86、Power、存儲(chǔ)、虛擬化等硬件設(shè)備調(diào)優(yōu)與配置。擁有豐富的混合云架構(gòu)及管理經(jīng)驗(yàn),信息安全及網(wǎng)絡(luò)架構(gòu)的設(shè)計(jì)與運(yùn)維。
概述
數(shù)字化轉(zhuǎn)型已經(jīng)成為當(dāng)今最流行的話題之一,大部分企業(yè)已經(jīng)開啟自身的數(shù)字化轉(zhuǎn)型之旅,在未來企業(yè)只有數(shù)字化企業(yè)和非數(shù)字化企業(yè)之分。通過數(shù)字經(jīng)濟(jì)的加速發(fā)展,可以有效推動(dòng)企業(yè)數(shù)字化轉(zhuǎn)型的步伐。云計(jì)算作為數(shù)字化轉(zhuǎn)型的底座和重要的載體,在企業(yè)中大規(guī)模的部署。
隨著云計(jì)算市場規(guī)模的不斷擴(kuò)大,應(yīng)用場景越發(fā)豐富,云計(jì)算技術(shù)也在逐年成熟和優(yōu)化。從以資源為中心的云計(jì)算1.0時(shí)代,已跨越到了以應(yīng)用為中心的云計(jì)算2.0時(shí)代,即云原生時(shí)代。云原生作為數(shù)字化轉(zhuǎn)型的基石得到了廣泛的應(yīng)用,隨之也帶來了諸多新型安全的挑戰(zhàn),本文將重點(diǎn)介紹在云原生時(shí)代下,該注意哪些安全風(fēng)險(xiǎn),如何進(jìn)行安全體系的優(yōu)化。
什么是云原生?
云原生是一種新型的云計(jì)算技術(shù)體系,也是云計(jì)算技術(shù)發(fā)展的成果和未來的趨勢,不僅包括構(gòu)建和運(yùn)行應(yīng)用程序的方法,還提供了一套技術(shù)體系和方法論。正如“原生”兩字所描述的,應(yīng)用程序從設(shè)計(jì)之初就考慮到了云的環(huán)境,原生為云而設(shè)計(jì),在云上以最佳姿態(tài)運(yùn)行,充分利用了云的優(yōu)點(diǎn),使我們的應(yīng)用更靈活,更敏捷、更穩(wěn)定。
圖1-IT應(yīng)用服務(wù)器發(fā)展進(jìn)程
云原生帶來的變化
并不是我們常說的將傳統(tǒng)應(yīng)用遷移上云,就是云原生了。而是應(yīng)用都是專門針對云環(huán)境而設(shè)計(jì)開發(fā)的,能夠充分利用和發(fā)揮云平臺(tái)的各種優(yōu)勢,如敏捷、彈性擴(kuò)展、高可用等。云原生包括的技術(shù)很多,如容器技術(shù)、Devops、微服務(wù)等技術(shù),這也是云原生常說的三駕馬車。并且支持私有云、公有云和混合云等各種環(huán)境,具備端到端、基于策略控制和工作負(fù)載可移植等能力。
云原生技術(shù)給企業(yè)數(shù)字化轉(zhuǎn)型帶來巨大的技術(shù)支撐契機(jī),助推企業(yè)更好的構(gòu)建數(shù)字化的底座,支撐數(shù)字化業(yè)務(wù)的發(fā)展。從最初的上云到用好云、管好云。目前云原生技術(shù)無處不在,從互聯(lián)網(wǎng)企業(yè)到傳統(tǒng)企業(yè)都在積極部署和實(shí)踐。它的應(yīng)用,直接改變了企業(yè)的開發(fā)方式、運(yùn)營方式和管理模式,對企業(yè)的組織與協(xié)作方式產(chǎn)生了重大的影響。
圖2-云生四要素及設(shè)計(jì)理念(引用互聯(lián)網(wǎng)素材)
云原生時(shí)代下的安全
隨著云原生的快速發(fā)展與廣泛應(yīng)用,新的技術(shù)被引入到企業(yè)的技術(shù)架構(gòu)中,如容器技術(shù)、微服務(wù)、DevOps、Serverless等。之前傳統(tǒng)的安全防御體系已經(jīng)無法適應(yīng),導(dǎo)致云原生應(yīng)用程序面臨著極大的安全風(fēng)險(xiǎn)。
云原生安全面臨的挑戰(zhàn)
首先我們要先搞清楚一個(gè)概念,傳統(tǒng)環(huán)境下的安全問題在云原生環(huán)境下依然是存在的,比如DDOS攻擊、數(shù)據(jù)泄露、越權(quán)、數(shù)據(jù)篡改、漏洞攻擊等。但由于云原生架構(gòu)可以使應(yīng)用充分利用云計(jì)算的特性,傳統(tǒng)的防御手段就顯得有些捉襟見肘。因?yàn)閭鹘y(tǒng)安全更重視邊界防護(hù),而云原生安全更重視內(nèi)在的持續(xù)安全,所以云原生環(huán)境面臨的安全挑戰(zhàn)也逐漸顯現(xiàn):
●鏡像安全風(fēng)險(xiǎn):
容器作為云原生的三駕馬車之一,是虛擬化的主力軍,業(yè)務(wù)平臺(tái)的基石。通過容器我們可以輕松實(shí)現(xiàn)“一次構(gòu)建,隨處運(yùn)行”。容器是基于鏡像創(chuàng)建的,即容器中的進(jìn)程依賴于鏡像中的文件。鏡像本身就是一個(gè)只讀的模版,包含獨(dú)立的文件系統(tǒng)和預(yù)置的應(yīng)用,可以方便的、批量的創(chuàng)建容器。
目前企業(yè)中應(yīng)用的容器大部分是來自第三方的鏡像庫,比如Docker hub。因?yàn)樗麄兒芏嗍嵌ㄖ频?、開源的,所以很大可能存在漏洞,或者被提前嵌入惡意代碼。隨著導(dǎo)入生產(chǎn)環(huán)境運(yùn)行,就很可能成為攻擊者的“跳板機(jī)”,對內(nèi)部環(huán)境發(fā)起攻擊。
●運(yùn)行時(shí)安全風(fēng)險(xiǎn):
在云原生架構(gòu)中,一個(gè)容器內(nèi)只有一個(gè)應(yīng)用,簡單來說就是為每個(gè)業(yè)務(wù)創(chuàng)建單獨(dú)的容器環(huán)境,這些應(yīng)用可獨(dú)立地進(jìn)行開發(fā)、管理,互不影響。多個(gè)容器之間進(jìn)行通過API進(jìn)行通信,導(dǎo)致調(diào)用關(guān)系較為復(fù)雜,資源調(diào)整較為動(dòng)態(tài),給運(yùn)行時(shí)安全檢測和防護(hù)帶來了挑戰(zhàn)。逃逸漏洞就是最典型的一個(gè)漏洞,黑客利用某些漏洞或者管理員的配置問題,從容器環(huán)境中跳出而獲得宿主機(jī)權(quán)限。因此,一旦單個(gè)容器環(huán)境存在逃逸漏洞,可能就會(huì)導(dǎo)致整個(gè)集群淪陷。針對容器運(yùn)行時(shí)安全的防護(hù),同樣值得安全人員警惕。
●配置錯(cuò)誤風(fēng)險(xiǎn):
如果與云相關(guān)的系統(tǒng)、工具或資產(chǎn)配置有誤,就會(huì)出現(xiàn)配置錯(cuò)誤,進(jìn)而危及系統(tǒng),使其面臨攻擊或數(shù)據(jù)泄漏隱患。根據(jù)《2020年云安全報(bào)告》,配置錯(cuò)誤是云的頭號威脅,68%的公司表示配置錯(cuò)誤是他們最擔(dān)心的問題(高于上一年的62%)。其次是未經(jīng)授權(quán)的訪問(58%)。如使用默認(rèn)密碼或無密碼訪問管理控制臺(tái),這一比例高達(dá)30%。雖然“默認(rèn)密碼或無密碼訪問”這一現(xiàn)象僅憑常識就可以避免,但要確保整個(gè)云基礎(chǔ)設(shè)施都能正確配置則較為復(fù)雜。
●應(yīng)用安全風(fēng)險(xiǎn):
眾所周知,云原生的應(yīng)用也源自于傳統(tǒng)的應(yīng)用,所以傳統(tǒng)的應(yīng)用風(fēng)險(xiǎn)自然也被繼承了下來,如失效的對象級授權(quán)、失效的用戶身份認(rèn)證、注入攻擊、過度的數(shù)據(jù)暴露、使用含有已知漏洞的組件、不足的日志記錄和監(jiān)控等風(fēng)險(xiǎn),只是云原生更加云化,使用了大量的開源組件。從某些應(yīng)用中,黑客可以找到公布的或者未公布的多個(gè)漏洞進(jìn)行利用,所以說開源組件代碼漏洞正在成為云原生環(huán)境中常見的風(fēng)險(xiǎn),由此為云原生應(yīng)用的安全帶來了更多不確定性。
●典型的攻擊場景
通過上文大家對云原生和云原生安全有了一個(gè)基本認(rèn)識,本章將通過兩個(gè)簡單的攻擊場景案例對云原生安全領(lǐng)域場景攻擊技術(shù)進(jìn)行分析,幫助讀者理解和提高防御能力。
●鏡像攻擊場景
由于容器都是由鏡像創(chuàng)建,所以鏡像的所有特征均會(huì)被容器繼承,如惡意代碼、惡意軟件、錯(cuò)誤的配置甚至應(yīng)用漏洞等。所以通過此案例,讀者可以了解到鏡像安全的重要性。
2021年6月某單位云平臺(tái)運(yùn)維人員編制一段代碼,用于遠(yuǎn)程調(diào)用查詢服務(wù)。上線在即,鏡像被批量部署。由于沒有做權(quán)限方面的限制,導(dǎo)致數(shù)據(jù)被惡意查詢。關(guān)閉關(guān)鍵應(yīng)用后,并沒有完全杜絕,通過開發(fā)分析,查到鏡像自身代碼原因,修改并替換容器后,漏洞被修復(fù)。
●容器逃逸攻擊場景
像前文所述,容器逃逸造成的安全風(fēng)險(xiǎn)和后果是非常大的,甚至可以造成整個(gè)集群的癱瘓。相比之前的虛擬機(jī)而言,容器攻擊主要在隔離性上,也就是容器逃逸,從容器環(huán)境逃逸到宿主機(jī)的攻擊。
CVE-2019-5736是2019年2月11日在OSS-Security郵件列表披露的runc容器逃逸漏洞。在Docker18.09.2之前的版本中使用的runc版本小于1.0-rc6,因此,攻擊者可以重寫宿主機(jī)上的runc二進(jìn)制文件,從而以root的身份執(zhí)行命令,獲得宿主機(jī)的root權(quán)限。(此案例來自于某知名雜志)
通過此漏洞,攻擊者就可以繞過容器直接對宿主機(jī)進(jìn)行相關(guān)指令的執(zhí)行,對宿主機(jī)甚至集群造成極大影響。
云原生安全架構(gòu)設(shè)計(jì)
云原生技術(shù)的發(fā)展趨勢越發(fā)突出,面對云原生環(huán)境中存在的一系列安全挑戰(zhàn)和風(fēng)險(xiǎn),各企業(yè)急需構(gòu)建一套適應(yīng)自身企業(yè)發(fā)展的、基于云原生全生命周期的安全防護(hù)體系架構(gòu),從而提升安全防護(hù)能力,實(shí)現(xiàn)業(yè)務(wù)的連續(xù)性、可靠性和穩(wěn)定性運(yùn)行。
云原生安全不是某一個(gè)軟件、某一個(gè)系統(tǒng),而是一個(gè)體系。從開發(fā)、編譯、構(gòu)建、運(yùn)行時(shí)到運(yùn)營整個(gè)環(huán)節(jié),在宿主機(jī)、編排平臺(tái)、虛擬化、應(yīng)用程序等多個(gè)角度提供了全面的安全保護(hù)能力。
圖3-云原生安全架構(gòu)
云原生環(huán)境的穩(wěn)定運(yùn)行離不開云原生安全所倡導(dǎo)的體系架構(gòu),利用此架構(gòu)從整個(gè)應(yīng)用的生命周期中持續(xù)整合安全性的實(shí)踐,確保安全性是應(yīng)用程序的核心部分,最大限度地減少安全漏洞并提高合規(guī)性。
●設(shè)計(jì)的原則
在云原生安全防護(hù)體系的建設(shè)過程中,需要從多個(gè)方面進(jìn)行安全提升,正如云原生安全架構(gòu)所示,建議遵循零信任、安全左移、持續(xù)監(jiān)控&響應(yīng)、工作負(fù)載可觀測四個(gè)安全原則進(jìn)行建設(shè)。
●零信任
零信任應(yīng)該是當(dāng)下安全圈最火熱的代名詞之一,很多安全公司都在零信任方面進(jìn)行研究和探索。其核心思想是“永遠(yuǎn)信任、持續(xù)認(rèn)證”,要求所有用戶,無論是在組織內(nèi)部還是外部,在被授予或保留對應(yīng)用程序和數(shù)據(jù)的訪問權(quán)限之前,都必須對安全配置和狀態(tài)進(jìn)行身份驗(yàn)證、授權(quán)和持續(xù)驗(yàn)證,杜絕了傳統(tǒng)安全思想中,只要進(jìn)入內(nèi)網(wǎng),再東西向訪問都是安全、可信的行為,所以說它是一個(gè)保護(hù)基礎(chǔ)設(shè)施和數(shù)據(jù)的框架。
零信任主要關(guān)注三個(gè)關(guān)鍵的原則:一是持續(xù)認(rèn)證,始終驗(yàn)證所有資源的訪問權(quán)限;二是限制訪問的范圍和影響,將影響范圍降到可控范圍內(nèi);三是自動(dòng)收集上下文,整合安全用戶訪問行為,從多層面預(yù)防和簡化顆粒度來確保云原生環(huán)境安全。鑒于此,企業(yè)在構(gòu)建云原生安全架構(gòu)的時(shí)候,一定要考慮和融入零信任體質(zhì),充分利用零信任的優(yōu)勢提高整體架構(gòu)的安全性、降低安全復(fù)雜性和降低運(yùn)行開銷成本等。
●安全左移
傳統(tǒng)的安全防御體系更多的關(guān)注在交付運(yùn)維后,當(dāng)發(fā)現(xiàn)安全漏洞和問題,再修復(fù)的過程是很痛苦的,而且成本也較高。所以,在云原生的安全架構(gòu)中更強(qiáng)調(diào)“早發(fā)現(xiàn)、早預(yù)防、早處理”。從應(yīng)用的開發(fā)階段,安全就要介入,也就是所謂的“安全左移”。在DevSecOps組織模式中,左移意味著在軟件開發(fā)生命周期的傳統(tǒng)線性流程中將安全流程向左移動(dòng)。最常見的就是測試左移和安全左移。
通過左移,摒棄了傳統(tǒng)上待應(yīng)用開發(fā)完成后,安全團(tuán)隊(duì)才進(jìn)行各種測試的場景。這樣在應(yīng)用程序開發(fā)周期中就可以更早的發(fā)現(xiàn)問題和修復(fù)漏洞,從而縮短開發(fā)周期,提高交付質(zhì)量。安全左移,意味著在整個(gè)開發(fā)生命周期內(nèi)實(shí)施安全措施,而不是在周期結(jié)束后才實(shí)施。其目標(biāo)就是設(shè)計(jì)具有內(nèi)生安全最佳實(shí)踐的軟件,并在開發(fā)過程中今早檢測和修復(fù)潛在的安全問題和漏洞,從而更容易、更快速、更經(jīng)濟(jì)地解決安全問題。
●持續(xù)監(jiān)控&響應(yīng)
眾所周知,DevOps是云原生的三駕馬車之一,其重要性不言而喻。它是一個(gè)自動(dòng)化流程,可以有效地融合開發(fā)、質(zhì)量和運(yùn)維三個(gè)團(tuán)隊(duì)的協(xié)作,加速應(yīng)用程序的迭代。隨著部署在云上的應(yīng)用程序逐漸增多,安全問題也備受關(guān)注。
所以需要通過持續(xù)監(jiān)控&響應(yīng)的機(jī)制來跟蹤和定位安全問題,給安全人員提供處理問題的必要數(shù)據(jù),并提供有關(guān)問題的反饋,輔助安全人員分析并及時(shí)采取行動(dòng)來發(fā)現(xiàn)安全問題。這對于實(shí)施和優(yōu)化各種安全措施尤為重要,如安全事件的響應(yīng)、威脅評估、數(shù)據(jù)庫取證以及根本原因分析等。
●工作負(fù)載可觀測
在云原生的環(huán)境內(nèi),運(yùn)行著多種軟件應(yīng)用、web服務(wù)數(shù)據(jù)庫等,復(fù)雜程度不言而喻。所以梳理好云原生環(huán)境工作負(fù)載有助于安全人員了解運(yùn)行的各種應(yīng)用和數(shù)據(jù)庫,將工作負(fù)載之間的訪問關(guān)系可視化有助于進(jìn)一步了解業(yè)務(wù)之間的調(diào)用關(guān)系。最終通過這樣的安全觀測,可以為開發(fā)和安全團(tuán)隊(duì)提供統(tǒng)一的上下文可見性,使其安全地構(gòu)建、部署和運(yùn)行現(xiàn)代動(dòng)態(tài)環(huán)境中的可擴(kuò)展應(yīng)用程序。
●云原生安全發(fā)展趨勢
企業(yè)的數(shù)字化轉(zhuǎn)型熱度逐漸升溫,是推動(dòng)企業(yè)發(fā)展的重要手段,云計(jì)算技術(shù)作為數(shù)字化轉(zhuǎn)型的基石和底座,得到了廣泛的應(yīng)用。隨著技術(shù)的變更和升級,云計(jì)算已經(jīng)進(jìn)入2.0時(shí)代,即云原生時(shí)代。不得不說,云原生的發(fā)展加速了企業(yè)的數(shù)字化轉(zhuǎn)型步伐,促進(jìn)了企業(yè)IT架構(gòu)及組織的變革。
云原生應(yīng)用的發(fā)展和迅速普及,給云原生安全帶來挑戰(zhàn)的同時(shí),也帶來了機(jī)遇,其重要性也越來越突出。在未來,云原生的發(fā)展趨勢包括以下幾個(gè)方面:
●云原生安全技術(shù)發(fā)展
云原生應(yīng)用的普及已經(jīng)成為趨勢,越來越多的企業(yè)開始實(shí)踐基于云原生的應(yīng)用,在容器、微服務(wù)、Serverless、DevOps、服務(wù)網(wǎng)格等多種新技術(shù)的加持下,充分享受云原生帶來的紅利。自然云原生安全技術(shù)也就必須進(jìn)行相應(yīng)的升級或優(yōu)化,符合新技術(shù)的發(fā)展要求。比如5G場景、邊緣計(jì)算場景下如何確保容器的安全、鏡像的安全、應(yīng)用的安全等。
●云原生安全人才培養(yǎng)
云原生技術(shù)對于很多公司的IT從業(yè)者而言還可能是個(gè)新的概念,尤其是傳統(tǒng)企業(yè),還需要更多的學(xué)習(xí)和認(rèn)識。為了更好的運(yùn)營云原生的技術(shù)平臺(tái),確保云原生應(yīng)用的安全,在未來急需培養(yǎng)一批具有開源思想、安全運(yùn)營理念的云原生安全專業(yè)人員。否則安全將成為企業(yè)推廣云原生技術(shù)的一個(gè)絆腳石。
●云原生安全標(biāo)準(zhǔn)建立
企業(yè)各自發(fā)展歷史的不同,在安全方面的積淀也是有所差異。很多企業(yè)根據(jù)ISO27001已經(jīng)制定了自己的信息安全管理體系,根據(jù)等保構(gòu)建了符合企業(yè)安全需要的安全風(fēng)險(xiǎn)防御體系。在云原生環(huán)境下,新的資源開始由資產(chǎn)變?yōu)榉?wù),對現(xiàn)有的IT架構(gòu)和安全標(biāo)準(zhǔn)提出了挑戰(zhàn)。所以未來標(biāo)準(zhǔn)定制團(tuán)隊(duì),必須根據(jù)業(yè)務(wù)的實(shí)際發(fā)展和安全的發(fā)展趨勢,重新定制或升級現(xiàn)有的安全標(biāo)準(zhǔn),以滿足業(yè)務(wù)的連續(xù)性、穩(wěn)定性運(yùn)行的要求。
●云原生安全運(yùn)營
無論是云計(jì)算1.0還是2.0,技術(shù)一直在更新,只有運(yùn)營理念不變,就是“三分建設(shè)、七分運(yùn)營”。建設(shè)僅僅是滿足了有還是沒有,只有運(yùn)營才能解決是否有用的問題。隨著各個(gè)企業(yè)在安全建設(shè)方面的投資增加,安全設(shè)備和防御能力逐漸完善,就需要安全團(tuán)隊(duì)將更多的能量和精力用于信息安全運(yùn)營。
不得不說一下,云原生安全運(yùn)營與傳統(tǒng)的安全運(yùn)營還是有一定區(qū)別的,云原生環(huán)境的不可變基礎(chǔ)設(shè)施的屬性,覺得了安全必須要具備敏捷性、靈活性的特點(diǎn),不可能縫縫補(bǔ)補(bǔ)。所以在安全方面一定要參考上文所講的架構(gòu)設(shè)計(jì)原則進(jìn)行合理的安全運(yùn)營安排,確保安全運(yùn)營工作可以更好的推動(dòng)業(yè)務(wù)的落地和發(fā)展。
結(jié)束語
文章針對云原生的概念,給企業(yè)帶來的變化及給云原生的安全帶來的挑戰(zhàn)和安全的架構(gòu)設(shè)計(jì)進(jìn)行了簡單的介紹與普及。同時(shí)也闡述了云原生安全的未來發(fā)展趨勢和方向。安全問題在任何時(shí)代都會(huì)有,企業(yè)需要在不同的階段應(yīng)用不同的安全方案對業(yè)務(wù)進(jìn)行保護(hù)。采取有效的措施來管理和保護(hù)云環(huán)境中的應(yīng)用和數(shù)據(jù)的安全。文章多次強(qiáng)調(diào)云原生安全是未來云安全的發(fā)展方向之一,企業(yè)IT必須重視并加強(qiáng)對其技術(shù)的研究和實(shí)踐,從而確保企業(yè)應(yīng)用在云環(huán)境下的安全。