摘要
容器安全作為云原生安全的重要組成部分,為用戶(hù)業(yè)務(wù)的云原生落地提供了基礎(chǔ)的安全保障。騰訊云憑借多年來(lái)在容器安全以及云原生安全領(lǐng)域的研究和實(shí)踐運(yùn)營(yíng)經(jīng)驗(yàn),同時(shí)結(jié)合騰訊云容器平臺(tái)TKE千萬(wàn)級(jí)核心規(guī)模容器集群治理經(jīng)驗(yàn),提出云原生容器安全體系框架,助力用戶(hù)安全的實(shí)現(xiàn)云原生落地。
概述
容器作為云原生重要的支撐技術(shù),近年來(lái)被廣泛的認(rèn)可和應(yīng)用。根據(jù)《中國(guó)云原生用戶(hù)調(diào)查報(bào)告(2020)》[1]顯示,60%以上用戶(hù)已在生產(chǎn)環(huán)境中應(yīng)用容器技術(shù),其中:43%的用戶(hù)已將容器技術(shù)應(yīng)用于核心生產(chǎn)環(huán)境,19%的用戶(hù)已將容器技術(shù)用于非核心生產(chǎn)環(huán)境。
然而一次次安全事件的曝光,不管是特斯拉在亞馬遜上的Kubernetes集群被入侵,還是Docker Hub頻繁被爆含有漏洞和惡意程序的鏡像,讓用戶(hù)在享受云原生紅利的同時(shí),產(chǎn)生了極大的安全擔(dān)憂(yōu)。根據(jù)云原生用戶(hù)調(diào)查報(bào)告顯示,容器的安全問(wèn)題已成為用戶(hù)應(yīng)用云原生的最大擔(dān)憂(yōu),其中63%的用戶(hù)認(rèn)為容器安全是緊迫的需求。
在實(shí)現(xiàn)云原生的主要技術(shù)中,容器作為支撐應(yīng)用運(yùn)行的重要載體,為應(yīng)用的運(yùn)行提供了隔離和封裝,成為云原生應(yīng)用的基礎(chǔ)設(shè)施底座。因此容器的安全與否,將直接影響著整個(gè)云原生系統(tǒng)的安全性。
騰訊云依托在云原生以及安全方向的持續(xù)投入、積累和沉淀,一直致力于在云原生領(lǐng)域?yàn)橛脩?hù)提供更全面、更穩(wěn)定、更安全的云原生服務(wù),助力用戶(hù)實(shí)現(xiàn)應(yīng)用系統(tǒng)的云原生化,并且持續(xù)的保障其安全穩(wěn)定的運(yùn)行。
基于騰訊多年安全攻防技術(shù)的研究積累,持續(xù)在安全能力上的沉淀,以及對(duì)云原生安全領(lǐng)域的研究和實(shí)踐運(yùn)營(yíng),同時(shí)結(jié)合騰訊云容器平臺(tái)TKE千萬(wàn)級(jí)核心規(guī)模容器集群治理經(jīng)驗(yàn),我們提出騰訊云原生容器安全體系框架,打造安全的容器云平臺(tái)??蚣苊枋隽俗鳛樵圃踩鬃娜萜靼踩采w的安全防護(hù)能力和范圍,以及結(jié)合安全管理和安全運(yùn)營(yíng),如何系統(tǒng)全面的保障容器安全。
容器安全體系設(shè)計(jì)四大原則
云原生計(jì)算的特性決定了云原生容器安全在架構(gòu)設(shè)計(jì)上,一個(gè)重要的原則就是安全能力的原生化,也就是在基礎(chǔ)設(shè)施和基礎(chǔ)架構(gòu)上原生的提供安全能力,使得云原生應(yīng)用能夠做到上線即安全。
同時(shí)我們采用安全左移的思路,更早的投入安全資源和安全能力去更有效的收斂安全問(wèn)題,然后將安全能力全面融入到DevOps體系中,實(shí)現(xiàn)面向DevSecOps的全生命周期安全防護(hù)。
容器安全防護(hù)的主體從主要以IP為標(biāo)記的主機(jī)變成了以Label、Tag等作為標(biāo)記的應(yīng)用程序,其安全邊界變的更加模糊。因此,需要采用零信任架構(gòu),通過(guò)全面有效的身份權(quán)限管理以及持續(xù)的檢測(cè)與響應(yīng)來(lái)實(shí)現(xiàn)對(duì)云原生應(yīng)用的安全防護(hù)。
全方位層次化的云原生容器安全體系框架
騰訊云容器平臺(tái)的安全體系,采用層次化的方式,逐層實(shí)現(xiàn)安全防護(hù)。主要分為承載容器云平臺(tái)的基礎(chǔ)設(shè)施層安全、容器和容器云平臺(tái)基礎(chǔ)架構(gòu)層安全、以及容器承載的應(yīng)用層安全。
基礎(chǔ)設(shè)施安全
在基礎(chǔ)設(shè)施層,不管是運(yùn)行在公有云、私有云、專(zhuān)有云、還是混合云,我們會(huì)提供針對(duì)容器平臺(tái)運(yùn)行主機(jī)的安全防護(hù)措施,包括采用騰訊專(zhuān)有的安全內(nèi)核和安全操作系統(tǒng),以及對(duì)已知漏洞進(jìn)行安全性的修復(fù)和管理。同時(shí),針對(duì)主機(jī)上的基礎(chǔ)軟件,進(jìn)行安全配置基線的檢測(cè)與加固,在基礎(chǔ)設(shè)施層面減小攻擊面。
基礎(chǔ)架構(gòu)安全
在容器云平臺(tái)TKE的基礎(chǔ)架構(gòu)層,首先我們會(huì)提供針對(duì)容器和編排系統(tǒng)的安全防護(hù)措施,包括提供有效的資源隔離和限制措施,用戶(hù)的身份和權(quán)限管理機(jī)制,基于CIS的安全配置加固,對(duì)云原生實(shí)現(xiàn)組件的漏洞管理與修復(fù)等。
其次,在網(wǎng)絡(luò)安全上,我們采用零信任架構(gòu),持續(xù)的對(duì)集群網(wǎng)絡(luò)進(jìn)行監(jiān)控和異常檢測(cè),保證網(wǎng)絡(luò)的有效隔離和安全通信,包括租戶(hù)、Service、Pod等不同粒度的網(wǎng)絡(luò)隔離,網(wǎng)絡(luò)通信的加密,訪問(wèn)控制,網(wǎng)絡(luò)的入侵檢測(cè),基于機(jī)器學(xué)習(xí)進(jìn)行網(wǎng)絡(luò)行為的異常檢測(cè)與處置等。
最后,在容器運(yùn)行前,首先我們會(huì)對(duì)啟動(dòng)的容器鏡像進(jìn)行準(zhǔn)入檢測(cè),確保拉起的鏡像符合基本的安全要求,從運(yùn)行開(kāi)始階段進(jìn)行安全風(fēng)險(xiǎn)的篩查;當(dāng)容器啟動(dòng)運(yùn)行后,我們會(huì)持續(xù)的對(duì)包括容器逃逸、反彈shell、異常進(jìn)程、文件篡改、高危系統(tǒng)調(diào)用等在內(nèi)的入侵行為進(jìn)行檢測(cè)與告警,實(shí)現(xiàn)運(yùn)行時(shí)的實(shí)時(shí)檢測(cè)與防護(hù)。同時(shí),我們還會(huì)結(jié)合機(jī)器學(xué)習(xí)、人工智能等大數(shù)據(jù)分析技術(shù),對(duì)容器的行為進(jìn)行監(jiān)控、畫(huà)像,從行為分析角度,對(duì)容器內(nèi)的行為進(jìn)行異常檢測(cè)。多維度保障容器的運(yùn)行安全。
應(yīng)用安全
在容器應(yīng)用層,我們提供了全面的軟件供應(yīng)鏈安全防護(hù)措施,通過(guò)提供對(duì)鏡像的安全掃描能力,深度掃描本地/倉(cāng)庫(kù)鏡像,分析鏡像的安全漏洞、惡意文件、敏感信息等。通過(guò)多維度深度掃描,幫助用戶(hù)發(fā)現(xiàn)不安全鏡像,從源頭上解決容器鏡像安全問(wèn)題。
同時(shí)我們還提供針對(duì)容器鏡像的安全態(tài)勢(shì)監(jiān)控能力,持續(xù)監(jiān)測(cè)鏡像的安全態(tài)勢(shì)。另外,我們還可以通過(guò)API網(wǎng)關(guān)、API監(jiān)控等方式,對(duì)微服務(wù)間的API通信進(jìn)行安全防護(hù),包括API的訪問(wèn)控制、身份管理,調(diào)用鏈異常分析等。
安全能力全面原生化
云原生依托容器、服務(wù)網(wǎng)格等關(guān)鍵技術(shù),實(shí)現(xiàn)了更輕量的隔離方式、更靈活的負(fù)載管理、更復(fù)雜的容器網(wǎng)絡(luò)、更短的容器生命周期、以及更敏捷的開(kāi)發(fā)流程。這些重要變化,使得傳統(tǒng)的安全防護(hù)手段很難發(fā)揮應(yīng)有的作用。
因此,要實(shí)現(xiàn)容器安全或者是云原生安全,一定要充分匹配云原生的特性,采用原生安全的方式。這里的原生安全包括兩個(gè)方面:一方面是原生的基礎(chǔ)安全,我們?cè)谌萜?、編排、微服?wù)等云原生基礎(chǔ)架構(gòu)的構(gòu)建過(guò)程中,就充分的融入安全性的設(shè)計(jì)和考慮,使我們的云原生系統(tǒng)天然的就具備安全特性,使得安全成為像計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)一樣的基礎(chǔ)能力;另一方面,就是安全能力的云原生實(shí)現(xiàn),充分利用云原生的技術(shù)優(yōu)勢(shì),來(lái)實(shí)現(xiàn)安全檢測(cè)與防護(hù)能力,使相關(guān)的安全能力同樣具備云原生的低成本、高效率和高可用特性。
安全防護(hù)全生命周期
在云原生架構(gòu)中,業(yè)務(wù)的快速迭代以及容器生命周期短、業(yè)務(wù)復(fù)雜、網(wǎng)絡(luò)復(fù)雜等特點(diǎn)會(huì)造成運(yùn)行時(shí)的安全檢測(cè)投入成本很高。因此,基于上述層次化的安全框架,我們?cè)谌萜魃芷诘母鱾€(gè)階段,嵌入相應(yīng)的安全能力,實(shí)現(xiàn)對(duì)容器的全生命周期安全防護(hù)。
全生命周期防護(hù)的一個(gè)重要的特點(diǎn)就是實(shí)現(xiàn)“安全前置”或者“安全左移”,在軟件開(kāi)發(fā)生命周期的更早階段,投入更多的安全資源和能力,嵌入安全動(dòng)作,來(lái)有效的收斂安全漏洞問(wèn)題,盡可能更早的確定其安全性。
容器安全框架有效的與騰訊云CODING產(chǎn)品進(jìn)行協(xié)同聯(lián)動(dòng),在DevOps流程中嵌入安全能力,通過(guò)對(duì)應(yīng)用程序的代碼進(jìn)行安全分析、審計(jì)、加固等措施,在開(kāi)發(fā)階段保障代碼的安全性。
同時(shí),在容器鏡像服務(wù)TCR以及容器服務(wù)TKE中,分別嵌入鏡像安全以及容器運(yùn)行安全的相關(guān)安全能力,實(shí)現(xiàn)全生命周期的安全防護(hù),打通DevSecOps閉環(huán)。
安全威脅全面可觀測(cè)
容器化的基礎(chǔ)設(shè)施使得應(yīng)用自身變的更快、更輕,一臺(tái)主機(jī)上可以快速部署運(yùn)行幾十個(gè)、甚至上百個(gè)容器,應(yīng)用的部署密度以及變化頻率,較傳統(tǒng)環(huán)境,有著巨大的變化。
正所謂“未知攻焉知防”,面對(duì)云原生架構(gòu)下的大規(guī)模集群以及海量靈活的微服務(wù)應(yīng)用,只有知道集群中應(yīng)用的具體操作、行為,才能夠進(jìn)行高效的安全防護(hù)。
騰訊云容器平臺(tái)TKE提供了全面的可觀測(cè)服務(wù),這既包括了系統(tǒng)日志、應(yīng)用日志等一整套完善的日志管理服務(wù),還包括了各類(lèi)運(yùn)行指標(biāo)的高性能監(jiān)控服務(wù),以及進(jìn)程行為追蹤、服務(wù)調(diào)用鏈追蹤等追蹤服務(wù),使我們能夠清晰的了解系統(tǒng)的詳細(xì)的運(yùn)行狀況,進(jìn)而快速高效的進(jìn)行威脅的檢測(cè)、追蹤與溯源。
除此之外,我們還提供了對(duì)安全事件和安全告警的全面可觀測(cè)服務(wù),使得安全威脅更加直觀可視化,能夠快速的進(jìn)行異常定位,快速的實(shí)現(xiàn)應(yīng)急響應(yīng)。
安全責(zé)任共擔(dān)
騰訊云在安全建設(shè)上,一直倡導(dǎo)和踐行著安全責(zé)任共擔(dān)的原則,對(duì)于容器云平臺(tái)的安全性保障,同樣需要騰訊云以及云上用戶(hù)的共同努力。
騰訊云的責(zé)任主要包括保護(hù)硬件、內(nèi)核、操作系統(tǒng)等基礎(chǔ)設(shè)施環(huán)境的安全,同時(shí)還包括保護(hù)容器、集群等容器云基礎(chǔ)架構(gòu)的安全,例如安全的配置和加固、身份權(quán)限的管理、網(wǎng)絡(luò)的隔離以及入侵檢測(cè)等。
客戶(hù)的責(zé)任主要是管理和維護(hù)容器云上的工作負(fù)載,比如應(yīng)用的代碼安全、容器鏡像的安全、相關(guān)版本的升級(jí)以及對(duì)監(jiān)控、告警的響應(yīng)等。
總結(jié)
云原生架構(gòu)給安全防護(hù)帶來(lái)了前所未有的挑戰(zhàn),容器安全作為云原生安全的技術(shù)底座,對(duì)云原生安全起到了重要的支撐作用。
在云原生化、安全左移、零信任等設(shè)計(jì)原則的指導(dǎo)下,我們提出層次化的云原生容器安全體系框架,從基礎(chǔ)設(shè)施安全到容器基礎(chǔ)架構(gòu)安全,再到容器化應(yīng)用的安全,逐層實(shí)現(xiàn)安全防護(hù)。同時(shí),容器安全體系還與DevOps體系進(jìn)行協(xié)同聯(lián)動(dòng),在DevOps流程中嵌入安全能力,實(shí)現(xiàn)安全左移,降低運(yùn)行過(guò)程中安全檢測(cè)和防護(hù)的成本。在安全管理和運(yùn)營(yíng)上,通過(guò)密鑰管理、安全策略管理、漏洞管理等服務(wù),實(shí)現(xiàn)對(duì)用戶(hù)云上的容器服務(wù)持續(xù)的檢測(cè)和響應(yīng),確保其安全性。我們希望通過(guò)這一套完備的安全防護(hù)體系,打造一個(gè)原生安全的容器云平臺(tái),助力用戶(hù)安全的實(shí)現(xiàn)云原生轉(zhuǎn)型,享受云原生帶來(lái)的紅利。
參考資料
[1]《中國(guó)云原生用戶(hù)調(diào)查報(bào)告(2020)》:【http://www.caict.ac.cn/kxyj/qwfb/ztbg/202010/t20201021_360375.htm】