作者:匡大虎
引言
安全一直是企業(yè)上云關(guān)注的核心問(wèn)題。隨著云原生對(duì)云計(jì)算基礎(chǔ)設(shè)施和企業(yè)應(yīng)用架構(gòu)的重定義,傳統(tǒng)的企業(yè)安全防護(hù)架構(gòu)已經(jīng)不能夠滿足新時(shí)期下的安全防護(hù)要求。為此企業(yè)安全人員需要針對(duì)云原生時(shí)代的安全挑戰(zhàn)重新進(jìn)行系統(tǒng)性的威脅分析并構(gòu)建適合企業(yè)自身的威脅情報(bào)系統(tǒng),同時(shí)在云原生安全體系方法論的指導(dǎo)下,結(jié)合云服務(wù)商提供的安全產(chǎn)品能力構(gòu)建端到端的 DevSecOps 流程,維持企業(yè)應(yīng)用全生命周期的持續(xù)安全水位。
本文分為四部分,其中第一部分會(huì)介紹當(dāng)下云原生安全的現(xiàn)狀以及企業(yè)應(yīng)用在云原生化轉(zhuǎn)型中面臨的主要安全挑戰(zhàn);在第二部分中會(huì)概要性介紹云原生安全相對(duì)成熟的一部分安全體系方法論;在第三部分中會(huì)結(jié)合之前介紹的理論基礎(chǔ),介紹如何通過(guò)部署和實(shí)時(shí)阿里云 ACK 容器服務(wù)和 ACR 容器鏡像服務(wù)中提供的一些實(shí)用的安全產(chǎn)品能力,幫助企業(yè)實(shí)現(xiàn)或優(yōu)化 DevSecOps 流程;最后,在第四部分會(huì)總結(jié)介紹企業(yè)在實(shí)踐 DevSecOps 過(guò)程中需要遵循的安全最佳實(shí)踐。
云原生安全挑戰(zhàn)
云原生時(shí)代對(duì)企業(yè)安全的挑戰(zhàn)主要來(lái)自以下三方面:
- 云原生平臺(tái)基礎(chǔ)設(shè)施架構(gòu): 云原生平臺(tái)層組件相較于傳統(tǒng)架構(gòu)引入了更多的配置項(xiàng)和隔離層,這就給企業(yè)安全管理運(yùn)維人員提出了更高的運(yùn)維要求。如何保證平臺(tái)基礎(chǔ)設(shè)施層的默認(rèn)安全性,如何在遵循最小化權(quán)限原則基礎(chǔ)上進(jìn)行授權(quán)操作,如何建立云原生應(yīng)用系統(tǒng)的安全審計(jì)和監(jiān)控能力,這些新的挑戰(zhàn)都需要云服務(wù)商和企業(yè)安全管理運(yùn)維人員協(xié)同構(gòu)建并最終實(shí)施到企業(yè)云原生化轉(zhuǎn)型后的系統(tǒng)應(yīng)用架構(gòu)中。
- DevOps 軟件供應(yīng)鏈: 云原生彈性、敏捷和動(dòng)態(tài)可擴(kuò)展的特征極大地改變了傳統(tǒng)應(yīng)用部署模式,應(yīng)用自身的生命周期被大幅縮短,而企業(yè)應(yīng)用的迭代效率則大幅提升,在企業(yè)供應(yīng)鏈架構(gòu)變革的同時(shí)需要構(gòu)建和實(shí)施適配供應(yīng)鏈各階段的安全防護(hù)能力。
- 應(yīng)用范式上的改變: 隨著微服務(wù)架構(gòu)的普適,傳統(tǒng)的基于南北向流量的安全邊界模式已經(jīng)變得不使用,企業(yè)需要更加細(xì)粒度的身份認(rèn)證和訪問(wèn)控制;同時(shí) Serverless 和函數(shù)計(jì)算等技術(shù)要求云服務(wù)商在基礎(chǔ)設(shè)施層具備更強(qiáng)的安全隔離性和監(jiān)控能力,而應(yīng)用的容器形態(tài)則需要新的運(yùn)行時(shí)安全監(jiān)控告警和資產(chǎn)管理模式與之對(duì)應(yīng)。
面對(duì)重重的安全挑戰(zhàn),企業(yè)的安全現(xiàn)狀是如何呢?上圖是一些主流云原生安全領(lǐng)域廠商在今年發(fā)布的最新報(bào)告。其中圖片左側(cè)來(lái)自 Sysdig 今年的云原生安全使用調(diào)查報(bào)告,報(bào)告顯示仍然有 87% 的容器鏡像中包含嚴(yán)重或高危等級(jí)的漏洞,同時(shí) 90% 的企業(yè)應(yīng)用授權(quán)并沒(méi)有被實(shí)際使用;從右側(cè) Paloalto 今年的云原生安全現(xiàn)狀報(bào)告中企業(yè)客戶反饋的 Top 5 挑戰(zhàn)中也可以看出,面對(duì)云原生時(shí)代新的安全挑戰(zhàn),企業(yè)無(wú)論在組織架構(gòu)、文化和安全運(yùn)維上都還沒(méi)有做好充分的準(zhǔn)備。
供應(yīng)鏈安全也是近兩年成云原生安全領(lǐng)域的焦點(diǎn),我們知道創(chuàng)新和效率是企業(yè)發(fā)展的關(guān)鍵,在云原生時(shí)代的企業(yè)開(kāi)發(fā)流程中,開(kāi)源軟件和開(kāi)發(fā)工具可以幫助推動(dòng)企業(yè)提升研發(fā)效率。在云原生時(shí)代,企業(yè)對(duì)開(kāi)源生態(tài)越來(lái)越依賴,三方軟件包的安全成為了無(wú)法回避的問(wèn)題。為此 Gartner 預(yù)測(cè):“到 2025 年,全球?qū)⒂?45% 的組織的軟件供應(yīng)鏈?zhǔn)艿焦?,?2021 年增加三倍”。在 sonatype 今年的統(tǒng)計(jì)中,僅僅在今年已經(jīng)有超過(guò) 24 萬(wàn) 5 千個(gè)軟件包中被發(fā)現(xiàn)包含漏洞,這個(gè)數(shù)字是從 19 年到 22 年之合的兩倍。
由此可見(jiàn)企業(yè)的供應(yīng)鏈安全也成為攻擊者的主要攻擊目標(biāo),在調(diào)查中我們也發(fā)現(xiàn),多數(shù)的受訪者都清楚的知道來(lái)自供應(yīng)鏈的安全風(fēng)險(xiǎn),但只有不到十分之一的企業(yè)受訪者表示會(huì)在生產(chǎn)供應(yīng)鏈生命周期的每個(gè)階段進(jìn)行安全審核和部署防護(hù)措施。由此可見(jiàn)企業(yè)安全人員的風(fēng)險(xiǎn)意識(shí)與有效的供應(yīng)鏈風(fēng)險(xiǎn)管理和防護(hù)措施的實(shí)施之間還是存在了明顯的脫節(jié)。
在傳統(tǒng)的軟件開(kāi)發(fā)流程中,安全人員通常是在系統(tǒng)交付之前才開(kāi)始介入進(jìn)行安全審核工作,這樣的安全流程顯然已經(jīng)無(wú)法滿足云原生時(shí)代下軟件供應(yīng)鏈的快速迭代流程。
來(lái)自 Gartner 的分析師 David Cearley 早在 2012 年就首次提出了 DevSecOps 的概念。相較與傳統(tǒng)軟件開(kāi)發(fā)的安全流程,DevSecOps 強(qiáng)調(diào)從企業(yè)安全文化意識(shí),安全流程左移以及構(gòu)建全鏈路的自動(dòng)化流程等幾個(gè)要點(diǎn)來(lái)加固新時(shí)期下企業(yè)軟件供應(yīng)鏈安全。Gartner 預(yù)測(cè),到 2025 年將有 60% 的企業(yè)采用并實(shí)踐 DevSecOps。DevSecOps 模型強(qiáng)調(diào)安全和整體軟件開(kāi)發(fā)流程的緊密結(jié)合,同時(shí)也強(qiáng)調(diào)了在不降低企業(yè)應(yīng)用開(kāi)發(fā)迭代速度的前提下,通過(guò)執(zhí)行全面的自動(dòng)化安全防護(hù)措施來(lái)確保應(yīng)用制品和供應(yīng)鏈管道的安全性。
在當(dāng)下,絕大多數(shù)的企業(yè)云原生安全的發(fā)展都落后于應(yīng)用的云原生化進(jìn)程,而主要的改進(jìn)方向也集中在下面這三個(gè)方向:
- 身份和訪問(wèn)管理: 線上授予的權(quán)限與實(shí)際需要的權(quán)限之間存在巨大差異,無(wú)疑會(huì)給攻擊者可乘之機(jī)。
- 漏洞和配置管理: 大多數(shù)的企業(yè)生產(chǎn)鏡像都沒(méi)有經(jīng)過(guò)安全加固和最小化的裁剪收斂,另外很多線上應(yīng)用因?yàn)殚_(kāi)發(fā)調(diào)式的一時(shí)方便而在容器層配置了過(guò)高的特權(quán)。
- 監(jiān)控和響應(yīng): 缺少針對(duì)容器資產(chǎn)的運(yùn)行時(shí)監(jiān)控和防護(hù)手段,針對(duì)突發(fā)的攻擊事件也無(wú)法有效完成定位和溯源。
這些都是企業(yè)應(yīng)用在云原生化進(jìn)程中亟需優(yōu)化和解決的主要安全方向。
云原生安全體系方法論
安全在本質(zhì)上是一個(gè)對(duì)系統(tǒng)風(fēng)險(xiǎn)發(fā)現(xiàn)、定位和管理的流程。在了解云原生安全,而威脅建??梢栽趹?yīng)用設(shè)計(jì)開(kāi)發(fā)的早期階段,幫助安全人員識(shí)別企業(yè)應(yīng)用架構(gòu)中潛藏的安全風(fēng)險(xiǎn)和設(shè)計(jì)缺陷。
在上圖中,左邊是針對(duì)云上資源的典型攻擊路徑分析,我們看到在傳統(tǒng)的云服務(wù)架構(gòu)下,針對(duì)身份和控制面的不當(dāng)配置以及網(wǎng)絡(luò)攻擊是攻擊者可以利用的主要途徑,攻擊者可以通過(guò)漏洞利用、非授權(quán)訪問(wèn)和數(shù)據(jù)竊取等手段攻擊企業(yè)服務(wù)和數(shù)據(jù);而在右邊的云原生 K8s 集群的典型攻擊路徑中,由于云原生技術(shù)架構(gòu)的復(fù)雜性,容器應(yīng)用、運(yùn)行時(shí)、K8s 編排引擎、鏡像倉(cāng)庫(kù)以及內(nèi)核層都可能給整個(gè)應(yīng)用系統(tǒng)引入新的風(fēng)險(xiǎn),同時(shí)在網(wǎng)絡(luò)側(cè),不同容器微服務(wù)應(yīng)用之間的東西向流量也提供給攻擊者更多的可利用目標(biāo)。而近年來(lái)不斷爆出云原生社區(qū)相關(guān)的 CVE 漏洞中,攻擊者可以利用的攻擊方式也是多種多樣,像一般的提權(quán)、仿冒、篡改、抵賴、拒絕服務(wù)等典型攻擊手段都出現(xiàn)在了近兩年公開(kāi)披露的漏洞利用方式中。
為此,需要企業(yè)安全人員在傳統(tǒng)基礎(chǔ)設(shè)施架構(gòu)威脅之外盡可能全面的獲取安全威脅信息。同時(shí)在企業(yè)應(yīng)用架構(gòu)發(fā)生動(dòng)態(tài)變化的同時(shí),也需要重新評(píng)估當(dāng)前威脅建模下的安全機(jī)制和模型矩陣是否也需要隨之調(diào)整。
ATT&CK 框架是網(wǎng)絡(luò)攻擊中涉及的已知策略和技術(shù)的知識(shí)庫(kù),其中阿里云也是國(guó)內(nèi)首家針對(duì)云原生容器和 Kubernetes 的攻防場(chǎng)景,提出并發(fā)布相應(yīng) ATT&CK 攻防矩陣的云服務(wù)商。在 ATT&CK 矩陣中詳細(xì)描述了攻擊者在云原生和 Kubernetes 環(huán)境發(fā)起攻擊的過(guò)程和手段,可以幫助企業(yè)構(gòu)建容器化應(yīng)用安全體系,也是企業(yè)構(gòu)建云原生威脅情報(bào)體系可以利用和借鑒的基本框架。
整個(gè)威脅矩陣由不同的行和列組成,其中行代表了攻擊技術(shù),列代表了攻擊戰(zhàn)術(shù)手段。矩陣從左至右可以代表一個(gè)通常的容器側(cè)攻擊路徑。通過(guò)了解矩陣中每一個(gè)攻擊階段攻擊者可以利用的技術(shù)手段,可以幫助企業(yè)安全運(yùn)維人員有針對(duì)性地進(jìn)行安全設(shè)計(jì)和測(cè)試演練,當(dāng)安全事件發(fā)生時(shí),也可以幫助有效實(shí)施對(duì)應(yīng)的止血和預(yù)先的防護(hù)措施。
為了進(jìn)一步理解云原生應(yīng)用安全風(fēng)險(xiǎn)并構(gòu)建完整的安全防護(hù)方案,企業(yè)安全運(yùn)維人員還需要先進(jìn)的分析方法,覆蓋對(duì)應(yīng)用側(cè)風(fēng)險(xiǎn)、開(kāi)源組件風(fēng)險(xiǎn)、云基礎(chǔ)設(shè)施風(fēng)險(xiǎn)和應(yīng)用運(yùn)行時(shí)風(fēng)險(xiǎn)的完整感知。
為此 Gartner 牽頭在已有的云安全態(tài)勢(shì)管理(CSPM)、云基礎(chǔ)設(shè)施授權(quán)管理(CIEM)和云工作負(fù)載保護(hù)平臺(tái)(CWPP)等傳統(tǒng)主流云平臺(tái)安全模型的基礎(chǔ)上,提出了?CNAPP 云原生應(yīng)用保護(hù)平臺(tái)框架, 面向云原生應(yīng)用從開(kāi)發(fā)到運(yùn)行時(shí)刻的全生命周期流程,幫助企業(yè)安全團(tuán)隊(duì)和 DevSecOps 架構(gòu)師提供完整視角的應(yīng)用風(fēng)險(xiǎn)可見(jiàn)性和相應(yīng)的解決方案。基于 CNAPP 理論框架,信通院在 2022 年云原生產(chǎn)業(yè)聯(lián)盟年會(huì)上發(fā)布了《云原生應(yīng)用保護(hù)平臺(tái)(CNAPP)能力要求》,在 CNAPP 理論框架的基礎(chǔ)上,進(jìn)一步細(xì)化了規(guī)范要求。
從架構(gòu)圖中可以看到 CNAPP 框架集成了之前多個(gè)成熟規(guī)范的核心特性,可以:
- 更好地適配云原生應(yīng)用高速迭代的敏捷特性,通過(guò)自動(dòng)化手段減少錯(cuò)誤配置和管理。
- 減少參與供應(yīng)鏈 CI/CD 管道的工具數(shù)量。
- 降低云原生應(yīng)用安全合規(guī)實(shí)施復(fù)雜性和成本。
對(duì)于企業(yè)應(yīng)用,安全需求分析、安全測(cè)試、安全開(kāi)發(fā)和反復(fù)的加固措施也同時(shí)伴隨著應(yīng)用的迭代。我們知道企業(yè)安全文化意識(shí)以及開(kāi)發(fā)、安全運(yùn)維團(tuán)隊(duì)之間的流程協(xié)同是 DevSecOps 能夠有效實(shí)施的關(guān)鍵,在 CNAPP 框架中,也同樣強(qiáng)調(diào)研發(fā)和運(yùn)維側(cè)雙向反饋飛輪,加強(qiáng)企業(yè)安全可視性和對(duì)風(fēng)險(xiǎn)的洞察力,從整體上改善企業(yè)安全態(tài)勢(shì)。
上圖中的研發(fā)和運(yùn)維側(cè)雙向反饋飛輪主要分為下面兩個(gè)方向:
- 從開(kāi)發(fā)到生產(chǎn): 基于安全左移原則,將安全集成到開(kāi)發(fā)人員的工具鏈中,在代碼創(chuàng)建階段就通過(guò)自動(dòng)化構(gòu)建管道觸發(fā)安全測(cè)試,以降低后續(xù)安全風(fēng)險(xiǎn)和運(yùn)維成本。
- 從生產(chǎn)到開(kāi)發(fā): 需要企業(yè)安全管理人員全面監(jiān)控線上應(yīng)用和平臺(tái)配置,并結(jié)合運(yùn)行時(shí)安全配置上下文,提前識(shí)別風(fēng)險(xiǎn)并考慮風(fēng)險(xiǎn)處理等級(jí)預(yù)案,同時(shí)將相應(yīng)的加固措施落實(shí)到新的開(kāi)發(fā)迭代流程中。
只有通過(guò)這樣不斷循環(huán)反饋,才能保證在云原生下應(yīng)用的高速迭代的過(guò)程中持續(xù)的安全水位。
企業(yè)在 DevSecOps 的落地實(shí)踐中可以充分利用云原生技術(shù),同時(shí)結(jié)合云服務(wù)上的安全產(chǎn)品能力以及部署成熟的安全三方產(chǎn)品也可以幫助企業(yè)快速構(gòu)建 DevSecOps 能力。
企業(yè)應(yīng)用的安全性需要貫穿應(yīng)用程序的整個(gè)生命周期。開(kāi)發(fā)是整個(gè)應(yīng)用生命周期的第一個(gè)階段,其結(jié)果是創(chuàng)建用于部署和配置應(yīng)用的云原生模版、容器鏡像、應(yīng)用二進(jìn)制等云原生制品,這些制品正是運(yùn)行時(shí)被攻擊利用的主要源頭,相應(yīng)這個(gè)階段針對(duì)不同制品安全掃描就顯得格外重要。
構(gòu)建分發(fā)階段包括基于 CI/CD 自動(dòng)化流程的各種系統(tǒng)測(cè)試,尤其針對(duì)開(kāi)源軟件,需要進(jìn)行明確的漏洞風(fēng)險(xiǎn)分級(jí)卡點(diǎn)機(jī)制,同時(shí)加入自動(dòng)化的加簽機(jī)制以支持制品的可信校驗(yàn)。
部署階段負(fù)責(zé)進(jìn)行一系列 “飛行前 ”檢查,以確保將部署到運(yùn)行環(huán)境中的應(yīng)用程序符合整個(gè)企業(yè)組織的安全和合規(guī)規(guī)范。
運(yùn)行時(shí)階段的安全包括計(jì)算、存儲(chǔ)和訪問(wèn)控制三個(gè)關(guān)鍵領(lǐng)域的安全能力。運(yùn)行時(shí)環(huán)境的安全性取決于前幾個(gè)階段安全實(shí)踐的有效性,同時(shí)需要企業(yè)在配置管理、身份和訪問(wèn)控制以及運(yùn)行時(shí)威脅檢測(cè)方向上基于安全原則實(shí)現(xiàn)高效的自動(dòng)化監(jiān)控和管理能力,并且通過(guò)全局性的安全資產(chǎn)管理和態(tài)勢(shì)感知能力不斷發(fā)現(xiàn)風(fēng)險(xiǎn)并反饋到生產(chǎn)開(kāi)發(fā)及供應(yīng)鏈各環(huán)節(jié)。
最后,企業(yè)應(yīng)用安全需要防患于未然,完備的審計(jì)和溯源分析能力以及精準(zhǔn)的風(fēng)險(xiǎn)阻斷能力可以幫助企業(yè)安全運(yùn)維人員從容應(yīng)對(duì)突發(fā)的攻擊事件,并在規(guī)劃的指導(dǎo)下做出快速的決策和響應(yīng)。
最后,安全左移和循環(huán)反饋是指導(dǎo)企業(yè)基于 DevSecOps 理念實(shí)施安全防護(hù)的主要原則。 在應(yīng)用制品的供應(yīng)鏈生命周期中應(yīng)盡早地以自動(dòng)化方式嵌入安全,通過(guò)引入自動(dòng)化的安全掃描和巡檢機(jī)制,在早期發(fā)現(xiàn)并治理常見(jiàn)的軟件 CVE 漏洞,可以幫助團(tuán)隊(duì)以低成本的方式扼殺風(fēng)險(xiǎn),同時(shí)整體提升團(tuán)隊(duì)安全意識(shí)。
企業(yè)在落地并實(shí)踐了安全左移理念后,并不意味著安全工作的結(jié)束。在應(yīng)用的生產(chǎn)運(yùn)行階段,安全管理人員可以采集并掌握更全面的安全上下文信息,并通過(guò)威脅分析發(fā)現(xiàn)更多在供應(yīng)鏈環(huán)節(jié)無(wú)法暴露的安全設(shè)計(jì)和配置上的問(wèn)題,只有通過(guò)不斷的反饋和更新,才能夠保持企業(yè)應(yīng)用系統(tǒng)的整體安全水位,同時(shí)應(yīng)對(duì)無(wú)法預(yù)知的安全挑戰(zhàn)。
阿里云容器服務(wù) ACK &容器鏡像服務(wù) ACR 安全產(chǎn)品能力
通過(guò)上面的介紹,我們對(duì)云原生安全面臨的挑戰(zhàn)以及當(dāng)下比較成熟的云原生安全理論體系有了初步的了解,下面我會(huì)具體介紹阿里云 ACK 和 ACR 服務(wù)中面向企業(yè)提供了哪些安全相關(guān)的產(chǎn)品能力,可以幫助企業(yè)實(shí)現(xiàn)或優(yōu)化 DevSecOps 流程。
首先,圍繞 DevSecOps 流程中的核心防護(hù)能力和自動(dòng)化要求,阿里云 ACK 和 ACR 服務(wù)也沉淀了 DevSecOps 產(chǎn)品能力,幫助企業(yè)實(shí)現(xiàn)安全可信的軟件供應(yīng)鏈。
在鏡像構(gòu)建階段,客戶提交源代碼變更后,自動(dòng)觸發(fā) ACR EE 的云原生應(yīng)用交付鏈功能,開(kāi)始容器鏡像構(gòu)建,支持自動(dòng)安全掃描,如果識(shí)別到鏡像中存在風(fēng)險(xiǎn),會(huì)自動(dòng)阻斷構(gòu)建流程并釘釘報(bào)警。用戶可以一鍵修復(fù)鏡像中存在的 CVE 漏洞。在鏡像交付階段,ACR 和 ACK 可以基于客戶的秘鑰進(jìn)行鏡像的加簽與驗(yàn)簽,確保整個(gè)交付鏈路無(wú)篡改。在容器應(yīng)用運(yùn)行時(shí),云安全中心可以對(duì) ACK 集群中運(yùn)行時(shí)風(fēng)險(xiǎn)進(jìn)行防護(hù)、感知,以及阻斷處理。
今年,我們推出了集群容器安全概覽功能, 可以幫助企業(yè)安全管理員更好感知集群配置、應(yīng)用鏡像、容器運(yùn)行時(shí)的安全風(fēng)險(xiǎn),提升整體安全水位。
DevSecOps 的實(shí)踐依賴企業(yè)內(nèi)部深層次的協(xié)同,而不同的工具和實(shí)踐流程會(huì)阻礙跨部門協(xié)作的高效性和生產(chǎn)力。通過(guò)標(biāo)準(zhǔn)化的平臺(tái)能夠簡(jiǎn)化部門間溝通和學(xué)習(xí)成本,讓供應(yīng)鏈流程更加透明高效。
ACK、ACR 充分利用云原生技術(shù),在企業(yè)供應(yīng)鏈流程的關(guān)鍵路徑上構(gòu)建了核心能力,面向企業(yè)安全管理員提供了開(kāi)箱即用的產(chǎn)品能力,安全人員可以通過(guò)簡(jiǎn)單的可視化白屏操作完成制品校驗(yàn),安全巡檢、策略實(shí)施等供應(yīng)鏈安全防護(hù)能力,同時(shí)通過(guò)不同維度的可視化監(jiān)控和報(bào)表直觀的了解并管理應(yīng)用安全,幫助企業(yè)安全管理人員第一時(shí)間洞察風(fēng)險(xiǎn),應(yīng)對(duì)攻擊。
默認(rèn)狀態(tài)下的安全性是整個(gè)系統(tǒng)安全體系的根基,不僅決定了生產(chǎn)系統(tǒng)的穩(wěn)定性,也直接關(guān)聯(lián)了上層安全方案的運(yùn)維和實(shí)施成本。為此,在企業(yè)應(yīng)用系統(tǒng)的設(shè)計(jì)階段,安全性就應(yīng)當(dāng)作為基本且必要的需求融入設(shè)計(jì)環(huán)節(jié),并在安全專家的指導(dǎo)下審核架構(gòu)設(shè)計(jì)中潛藏的風(fēng)險(xiǎn)。
企業(yè)應(yīng)用使用哪種憑據(jù)訪問(wèn)云資源?基于默認(rèn)安全和權(quán)限最小化原則,在應(yīng)用內(nèi)直接使用 AK 以及在節(jié)點(diǎn)上直接綁定云資源訪問(wèn)權(quán)限都是安全上不推薦的做法,此時(shí)可以將 RRSA 方案集成到企業(yè)應(yīng)用設(shè)計(jì)和編碼環(huán)節(jié),通過(guò) RRSA 方案,可以實(shí)現(xiàn)基于 K8s serviceaccount,與阿里云 RAM 服務(wù)完成基于 OIDC 協(xié)議的訪問(wèn)控制認(rèn)證,并實(shí)現(xiàn)以應(yīng)用維度最小化隔離授權(quán)云資源訪問(wèn)權(quán)限。
密鑰管理一直是企業(yè)應(yīng)用上云的核心問(wèn)題,云服務(wù)商有哪些安全方案可以幫助保護(hù)應(yīng)用密鑰?用戶又應(yīng)該在 K8s 環(huán)境中采取哪些安全措施幫助管理和使用密鑰?應(yīng)用密鑰應(yīng)該存儲(chǔ)在哪里?這些都是企業(yè)客戶經(jīng)常會(huì)問(wèn)到的一些基本問(wèn)題。為此,首先應(yīng)避免密鑰在應(yīng)用中的硬編碼問(wèn)題。 在應(yīng)用系統(tǒng)開(kāi)發(fā)部署的供應(yīng)鏈流程中,任何一個(gè)環(huán)節(jié)對(duì)敏感密鑰的硬編碼都有可能導(dǎo)致泄露風(fēng)險(xiǎn)。通過(guò)使用云上 KMS 服務(wù),可以在應(yīng)用開(kāi)發(fā)、測(cè)試、構(gòu)建等生命周期流程中使用統(tǒng)一方式進(jìn)行密鑰的讀寫,避免硬編碼出現(xiàn);同時(shí)云上的 KMS 服務(wù)支持自動(dòng)化的密鑰輪轉(zhuǎn)能力,進(jìn)一步降低了敏感信息泄露傳播的安全風(fēng)險(xiǎn),同時(shí)也可幫助企業(yè)應(yīng)用滿足合規(guī)需求。
通過(guò)部署 ack-secret-manager 插件可以將 KMS 憑據(jù)管家中管理的企業(yè)密鑰以 K8s secret 的形式同步導(dǎo)入到業(yè)務(wù)集群中,企業(yè)應(yīng)用可以直接通過(guò)文件掛載的方式使用密鑰,在避免密鑰硬編碼問(wèn)題的同時(shí)保證了業(yè)務(wù)代碼的兼容性,在新版本的 ack-secret-manager 中還支持對(duì)接KMS服務(wù)升級(jí)后的專屬 KMS 實(shí)例,提供更強(qiáng)的密鑰安全性隔離保證。
K8s 社區(qū)基于 CSI 存儲(chǔ)標(biāo)準(zhǔn)擴(kuò)展實(shí)現(xiàn)了 secrets-store-csi-driver 用于將存儲(chǔ)在外部密鑰管理服務(wù)中的密鑰以 volume 存儲(chǔ)卷的形式掛載到應(yīng)用 pods 中。和 ack-secret-manager 方案不同,該機(jī)制避免了 K8s secret 實(shí)例的創(chuàng)建,帶來(lái)的好處一是避免 etcd 中出現(xiàn)明文 secret 信息,二來(lái)可以在大規(guī)模場(chǎng)景下避免 secret 堆積;同時(shí)應(yīng)用仍舊可以保持原先的文件路徑方式讀取密鑰,避免了額外的程序改造代價(jià)。
基于該插件機(jī)制我們實(shí)現(xiàn)了阿里云自己的 secrets-store-csi-driver-provider,并且支持通過(guò) ACK 應(yīng)用市場(chǎng)在集群中一鍵化部署該插件,同樣可以將阿里云 KMS 憑據(jù)管家中保存的密鑰憑據(jù)以文件形式同步到應(yīng)用容器中,同時(shí)支持后端憑據(jù)修改后的同步更新能力,保證業(yè)務(wù)容器中密鑰信息的實(shí)時(shí)性。
當(dāng)然這里也會(huì)有“最后一把密鑰”的問(wèn)題,由于插件需要調(diào)用 KMS 憑據(jù)管家服務(wù)的權(quán)限,如何在集群中保護(hù)插件對(duì) KMS 服務(wù)請(qǐng)求的憑據(jù)呢?這里推薦使用 RRSA 方案,可以將 KMS 憑據(jù)的請(qǐng)求權(quán)限綁定在插件使用的獨(dú)立 serviceaccount 上,避免將權(quán)限泄露給應(yīng)用 pod 中。
對(duì)于數(shù)據(jù)安全性有嚴(yán)格要求的場(chǎng)景,比如當(dāng)下火熱的 AI 大模型,金融支付、隱私認(rèn)證或涉及知識(shí)產(chǎn)權(quán)的核心數(shù)據(jù)計(jì)算,除了保證這些核心敏感信息在讀寫和傳輸過(guò)程中的安全性,還需保證機(jī)密信息在云上節(jié)點(diǎn)內(nèi)存運(yùn)算和存儲(chǔ)過(guò)程中的安全可信。今年我們還和 Intel 以及 CoCo 社區(qū)合作,基于 Intel TDX 機(jī)型實(shí)現(xiàn)了新一代的可信執(zhí)行加密環(huán)境,幫助實(shí)現(xiàn)企業(yè)數(shù)據(jù)全生命周期的安全可信。
在應(yīng)用運(yùn)行時(shí),云原生工作負(fù)載區(qū)別于傳統(tǒng)基于虛機(jī)的應(yīng)用服務(wù)有如下特點(diǎn):
- 短暫的生命周期,只有秒級(jí)的生命周期;
- 編排引擎會(huì)根據(jù)節(jié)點(diǎn)實(shí)時(shí)資源動(dòng)態(tài)調(diào)度工作負(fù)載,網(wǎng)絡(luò)IP等應(yīng)用元數(shù)據(jù)可能隨應(yīng)用重啟不斷變化;
- 出于基礎(chǔ)設(shè)施不可變性,對(duì)運(yùn)行時(shí)環(huán)境的修改在工作負(fù)載重啟后不會(huì)保留。
正因?yàn)樵圃ぷ髫?fù)載自身特點(diǎn),在應(yīng)用運(yùn)行時(shí),當(dāng)前大多數(shù)云原生安全產(chǎn)品對(duì)容器側(cè)用戶態(tài)進(jìn)程的檢測(cè)分析都存在不足。而 eBPF 天然的技術(shù)優(yōu)勢(shì)是提升云原生應(yīng)用安全可觀測(cè)性和實(shí)現(xiàn)精細(xì)化安全事件響應(yīng)的有力武器。
在 ACK 集群中,我們提供了針對(duì) K8s 應(yīng)用的 exec 活動(dòng)審計(jì)能力,通過(guò) eBPF agent 可以實(shí)時(shí)獲取容器負(fù)載中執(zhí)行的系統(tǒng)調(diào)用,并關(guān)聯(lián)映射到在容器實(shí)例中執(zhí)行的具體進(jìn)程,從而幫助安全運(yùn)維人員獲取攻擊者進(jìn)入到容器實(shí)例后發(fā)起攻擊的命令審計(jì),有效幫助針對(duì)安全事件的溯源和止血。
同時(shí)我們也和 SLS 日志服務(wù)提供的強(qiáng)大日志分析檢索能力結(jié)合,針對(duì)云原生的典型漏洞,提供了可疑的漏洞利用活動(dòng)的溯源和告警能力,并且通過(guò)時(shí)間線圖表的方式直觀的展現(xiàn)給企業(yè)安全人員。
員工離職后的權(quán)限清理問(wèn)題也是困擾很多企業(yè)權(quán)限管理員的難題。 在 ACK 默認(rèn)提供的 x509 證書認(rèn)證模式下,企業(yè)安全運(yùn)維人員很可能由于疏漏在刪除 RAM 賬號(hào)或角色前忘記吊銷和清理 kubeconfig 權(quán)限。
通過(guò) ack-ram-authenticator 組件,ACK 托管集群可以通過(guò) Webhook 方式、基于阿里云 RAM 完成請(qǐng)求認(rèn)證。相較于 ACK 集群默認(rèn)提供的 x509 證書認(rèn)證模式,使用 ack-ram-authenticator Webhook 認(rèn)證方式有如下優(yōu)點(diǎn):
- 適配企業(yè)通過(guò)云 SSO 場(chǎng)景,提供靈活可控的數(shù)據(jù)面 RBAC 授權(quán);
- 角色 SSO 對(duì)接場(chǎng)景下 apiserver 審計(jì)日志中包含企業(yè) IDP 中的身份信息,有效支持對(duì)扮演同一角色的不同 IDP 用戶的行為審計(jì);
- 企業(yè)員工離職刪除 RAM 賬號(hào)或 RAM 角色時(shí),可自動(dòng)清理其在賬號(hào)所有 ACK 集群中的認(rèn)證訪問(wèn)權(quán)限。
企業(yè) DevSecOps 安全最佳實(shí)踐
“木桶的最大容積取決于最短的一塊木板”,云原生安全同樣遵循這樣的木桶原則。由于云原生技術(shù)棧的復(fù)雜性,企業(yè)安全管理和運(yùn)維人員更需要在安全準(zhǔn)則的指導(dǎo)下,全面充分的了解全局安全風(fēng)險(xiǎn),提升系統(tǒng)“最低點(diǎn)”安全水位。
零信任安全最早由 Forrester 首席分析師 John Kindervag 在 2010 年提出,其核心思想是“Never Trust, Always Verify”。在零信任安全模型中,只要處于網(wǎng)絡(luò)中,默認(rèn)情況下任何用戶都不可信,任何時(shí)刻任何環(huán)境下設(shè)備和服務(wù)的身份權(quán)限都需要被持續(xù)驗(yàn)證。
權(quán)限最小化原則是企業(yè)安全運(yùn)維中最基本也是最重要的準(zhǔn)則之一。 傳統(tǒng)應(yīng)用架構(gòu)下,系統(tǒng)的權(quán)限管理員需要基于權(quán)限最小化原則對(duì)內(nèi)部人員授權(quán)。在云原生架構(gòu)下,授權(quán)管理不止針對(duì)企業(yè)中的賬號(hào)系統(tǒng),同時(shí)需要考慮松耦合微服務(wù)架構(gòu)下眾多服務(wù)身份的授權(quán)。
安全左移不僅可以有效降低軟件自身漏洞而導(dǎo)致的應(yīng)用風(fēng)險(xiǎn),同時(shí)也能夠有效降低企業(yè)開(kāi)發(fā)運(yùn)維成本。
企業(yè)安全管理人員需要在安全系統(tǒng)設(shè)計(jì)中規(guī)劃和覆蓋應(yīng)用周期中的每個(gè)階段,在安全左移和循環(huán)反饋原則的指導(dǎo)下,結(jié)合 CNAPP 等規(guī)范框架的理論指導(dǎo)下完成安全產(chǎn)品能力的建設(shè)。
這里也列舉了企業(yè)生產(chǎn)供應(yīng)鏈中在開(kāi)發(fā),構(gòu)建部署、運(yùn)行時(shí)和反饋階段環(huán)節(jié)需要具備的一些核心能力,時(shí)間關(guān)系就不一一介紹了。
DevSecOps 在企業(yè)的落地實(shí)踐離不開(kāi)企業(yè)文化理念上的轉(zhuǎn)變,在 DevSecOps 體系中,安全應(yīng)當(dāng)是企業(yè)內(nèi)部團(tuán)隊(duì)共同的目標(biāo),而不應(yīng)只是安全團(tuán)隊(duì)自身的職責(zé);企業(yè)開(kāi)發(fā)、運(yùn)維和安全團(tuán)隊(duì)?wèi)?yīng)當(dāng)協(xié)同起來(lái),設(shè)定統(tǒng)一的目標(biāo)并共擔(dān)責(zé)任,同時(shí)定義團(tuán)隊(duì)之間的交流互動(dòng)方式,能夠有效提升業(yè)務(wù)迭代效率。
下面幾個(gè)方向是企業(yè)管理人員在企業(yè)文化 DevSecOps 轉(zhuǎn)型中需要關(guān)注的重點(diǎn)方向:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-823656.html
- 人員: 擁有合適的人才是 DevSecOps 的基礎(chǔ)。安全培訓(xùn)和培養(yǎng)安全擁護(hù)者一直是讓安全變得重要的首選解決方案;同時(shí) DevSecOps 需要在安全和效率之間取得適當(dāng)?shù)钠胶猓硗獬掷m(xù)學(xué)習(xí),掌握最新的漏洞和策略對(duì)于保證應(yīng)用程序的安全至關(guān)重要。
- 流程: 制定正確的流程可以確保每個(gè)人都站在同一起跑線上,并為安全一致性和凝聚力奠定基礎(chǔ)。
- 工具: 成功實(shí)施 DevSecOps 戰(zhàn)略的最后一個(gè)要素是工具。Kubernetes 安全領(lǐng)域擁有眾多工具,可以解決 Kubernetes 和云原生安全的各個(gè)層面的問(wèn)題。當(dāng)然,在研究和實(shí)施安全工具時(shí),也需要避免使用存在重大缺陷的工具。
- 績(jī)效: 在重視生產(chǎn)效率和版本迭代的前提下,可以將 DevSecOps 的實(shí)施列入團(tuán)隊(duì)績(jī)效考核,并且通過(guò)一些具體指標(biāo)和分級(jí)問(wèn)責(zé)機(jī)制的建立也是讓 DevSecOps 快速融入團(tuán)隊(duì)的有效途徑。
結(jié)語(yǔ)
最后,歡迎大家選擇和使用更多的阿里云 ACK 和 ACR 服務(wù)中提供的安全產(chǎn)品能力,讓我們共同努力,讓 DevSecOps 流程落地實(shí)踐到更多的企業(yè)生產(chǎn)流程中。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-823656.html
到了這里,關(guān)于從方法論到最佳實(shí)踐,深度解析企業(yè)云原生 DevSecOps 體系構(gòu)建的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!