快進鍵啟動,一文帶你了解云原生時代容器安全
都說國內(nèi)需求離容器化還遠,更談不上關(guān)注安全,喊的熱鬧而落地困難。但總得有些聲音面向未來向前看。
在2020年Forrester IaaS安全評測中,阿里云容器安全和谷歌并列滿分,技術(shù)能力領(lǐng)跑市場。阿里云在云計算各領(lǐng)域技術(shù)一直領(lǐng)先一步,包括云原生安全,和作為其重要組成的容器安全。
本文總結(jié)了阿里云容器安全的治理能力和經(jīng)驗,呈現(xiàn)云原生時代容器安全涌現(xiàn)的新特點。幫助未來的你全面理解容器安全,保護生產(chǎn)環(huán)境安全。
隨著阿里云前進的腳印,我們首先來理解容器是什么,以及容器和云原生的關(guān)系。
理解容器第一步:云原生”大樓“的底座
2010年,云原生的概念第一次在WSO2的首席技術(shù)官Paul Fremantle的博客中被提及,其后經(jīng)歷了Pivotal、CNCF等機構(gòu)的補充,加入了DevOps、持續(xù)交付、微服務(wù)、容器、服務(wù)網(wǎng)格(Service Mesh)、不可改變的基礎(chǔ)設(shè)施、聲明式API等技術(shù),通過這些技術(shù)可以構(gòu)建出高彈性、高虛擬化、高容錯性、自恢復(fù)、易管理的分布式架構(gòu)系統(tǒng)。
但隨著云原生所包含的概念越來越廣,任何對其的定義似乎都有管中窺豹的嫌疑。與其糾結(jié)定義的完整性,我們不妨把目光轉(zhuǎn)向云原生給企業(yè)帶來的好處和改變。
總結(jié)精煉四個關(guān)鍵詞:低成本、高可用、高安全、高效率。
低成本
企業(yè)服務(wù)器成本和虛擬損耗大幅減少。從物理主機,到虛擬化,再到容器化,客戶不必再進行線下機房管理、使用資源占用量高的虛擬機,大大節(jié)約成本。
高可用
優(yōu)雅地解決高并發(fā)場景下容量問題。在云原生容器化時代,不封裝操作系統(tǒng)的容器,直接運行于主機內(nèi)核之上,對系統(tǒng)資源的占用更少。加之鏡像封裝的技術(shù),可以實現(xiàn)其大規(guī)模自動化部署,配合分布式架構(gòu),彈性擴容能力極強。
高安全
攻擊面減少。IDC時代,所有的應(yīng)用、進程都在一臺服務(wù)器上運行,一旦某個進程被惡意突破,整個主機都面臨巨大的風(fēng)險。而在容器架構(gòu)中,單個容器中可能只有一個進程,就算被攻擊突破,對主機的影響也有限。
高效率
云原生倡導(dǎo)DevSecOps理念,而容器化使得在開發(fā)過程中使用CI/CD(快速集成和快速部署)成為可能,極大地提升了應(yīng)用開發(fā)和程序運行的效率。
我們不難發(fā)現(xiàn),云原生和容器之間的緊密關(guān)系。可以說,容器徹底改變了企業(yè)IT基礎(chǔ)設(shè)施的架構(gòu)方式,是搭建云原生的關(guān)鍵。
如果說云原生是一棟高樓大廈,那么容器化便是這座大樓的底座,向上支撐分布式架構(gòu)、微服務(wù)和不同工作負載,向下封裝基礎(chǔ)設(shè)施,屏蔽了底層架構(gòu)的差異性,以自身鏡像封裝、內(nèi)核共享、便利擴容等特性,構(gòu)建了一棟云原生大廈。
隨著企業(yè)上云率不斷提升,越來越多的企業(yè)選擇在生產(chǎn)環(huán)境中使用容器架構(gòu)。
CNCF 2020年發(fā)布的報告中顯示,在生產(chǎn)中應(yīng)用容器的企業(yè)比例從去年的84%增長到今年的92%。艾瑞咨詢在《中國容器云市場研究報告》中顯示,2020年有84.7%的中國企業(yè)已經(jīng)&計劃使用容器。
但歷史的經(jīng)驗告訴我們,所有繁榮景象之上,都懸著一把達摩克里斯之劍,Tripwire 2019年對311位IT安全專業(yè)人員進行了調(diào)研,發(fā)現(xiàn)60%的組織都遭遇過容器安全事故,容器的背后存在著巨大的安全隱患。
理解容器風(fēng)險第二步:運輸中的“集裝箱”
既然容器構(gòu)成了云原生這座大廈的基座,那么防護容器安全就不僅僅是防護容器的安全這么簡單。
如果我們把容器看成一個個封裝好的集裝箱,想要讓箱內(nèi)的貨物順利配送到客戶手上,那么從集裝箱的制作、安裝、打包、到運輸箱子的貨輪、快遞配送員的安全,都需要考慮在內(nèi)。
也就是說,我們需要在整體的DevSecOps的開發(fā)流程中,考慮容器的安全:
根據(jù)上圖我們可以看到,在容器的全生命周期中,涉及到四個部分的安全風(fēng)險:
基礎(chǔ)設(shè)施
容器構(gòu)建于云平臺/服務(wù)器之上,硬件設(shè)施、內(nèi)核、云平臺的安全是容器安全的基礎(chǔ),基礎(chǔ)設(shè)施安全是容器安全的第一步。
供應(yīng)鏈
當(dāng)基礎(chǔ)平臺安全后,開發(fā)者可以在云上建立一整套DevOps的開發(fā)流程,通過容器化來提升交付效率,那么首先需要完成容器的構(gòu)建和部署。
容器內(nèi)部一般分為三層,底層為BootFS文件系統(tǒng),中層為鏡像層,上層為可改寫的容器層:
容器內(nèi)部層次
容器的構(gòu)建依賴于鏡像,鏡像由鏡像庫管理。在構(gòu)建容器過程中只需要從鏡像庫中調(diào)取鏡像即可。如果由于鏡像庫管理不當(dāng),混入了惡意鏡像,或者鏡像遭到損壞,有漏洞的鏡像沒有及時更新,鏡像的認證和授權(quán)限制不足等,會給容器帶來巨大的安全隱患。
容器構(gòu)建完成之后,還需要對其進行正確的部署,拿容器網(wǎng)絡(luò)來舉例,在默認的-host的網(wǎng)絡(luò)配置下,容器運行時默認可以通過網(wǎng)絡(luò)訪問其他容器及主機操作系統(tǒng),一旦單個容器被入侵就可能影響到宿主機上部署的所有容器。根據(jù)StackRox的報告,配置錯誤恰恰是企業(yè)對于容器安全最擔(dān)憂的部分。
容器運行時
容器構(gòu)建完畢之后,依賴Cgroup、Namespace、Capability等功能在內(nèi)核上實現(xiàn)互相隔離,并使用編排工具和容器運行時組件進行批量化管理和使用。
而編排平臺,如Kubernetes、OpenShift等,存在不少高危漏洞,根據(jù)NVD(National Vulnerablity Database)的數(shù)據(jù)統(tǒng)計,光是K8S平臺被找到的CVE漏洞就有109個,其中嚴(yán)重(Critical)的漏洞有10個,高危(High)的漏洞有39個,一旦使用者沒有及時修復(fù)相關(guān)漏洞,就有可能被攻擊者利用,威脅容器安全。
應(yīng)用安全
當(dāng)我們順藤摸瓜一步步往上走,從基礎(chǔ)設(shè)施層到網(wǎng)絡(luò)層,最終到達處于最上層的應(yīng)用層,也就是容器這條船上承載的一個個“貨物”,較為容易遭受DDoS攻擊、賬號盜用、數(shù)據(jù)泄露等攻擊。
除了在整體開發(fā)流程中理解容器安全外,容器本身的特性也給安全防護帶去了不一樣的側(cè)重點:
1、容器隔離性差
和虛擬機基于系統(tǒng)的隔離不同,容器是基于進程的隔離,沒有明確的安全邊界, 更容易發(fā)生容器逃逸、宿主機內(nèi)核遭受攻擊的問題。
2、容器存活時間短
和傳統(tǒng)的虛擬機相比,容器具有輕量級的優(yōu)勢,可以快速部署,快速迭代,這也意味著單個容器的存活時間也急速變短。據(jù)Datadog的數(shù)據(jù)統(tǒng)計,傳統(tǒng)云虛擬機的平均生存周期是23天,而容器只有2.5天,極短的存活期導(dǎo)致在運行時對它進行保護變得更加困難,所以在供應(yīng)鏈側(cè)就要保證容器的安全。
此外,容器的更新速度也對鏡像庫的更新速度有了更高的要求。
3、容器部署密度高
由于大規(guī)模部署,對容器的批量化管理必然需要使用編排工具,對于編排工具、鏡像庫、鏡像的安全保障就變得更為重要。
理解容器安全第三步:動態(tài)防護全生命周期
在對容器的生命周期進行梳理之后,我們會發(fā)現(xiàn)防護容器安全,其實就是防護生產(chǎn)環(huán)境的安全。那么在整個鏈路中,容器最常遭受的攻擊是什么,企業(yè)應(yīng)該如何防護?
阿里云從2011年即開啟了探索的腳步,推進容器化的技術(shù)改造和落地,推進云原生技術(shù),2020年完成了核心系統(tǒng)全面云原生化,積累了大量的實踐經(jīng)驗,同步發(fā)布了國內(nèi)首個云原生容器安全ATT&CK攻防矩陣。
匯合多年的技術(shù)積累和實戰(zhàn)經(jīng)驗,為了更好地應(yīng)對容器化進程中的安全挑戰(zhàn),阿里云認為企業(yè)的容器安全應(yīng)當(dāng)做到動態(tài)防護,覆蓋容器全生命周期。
基礎(chǔ)設(shè)施安全
大部分企業(yè)會選擇在云平臺上搭建容器,或直接使用容器運營商的容器服務(wù),為了保障容器底層基礎(chǔ)設(shè)施的安全,企業(yè)在選擇云服務(wù)商時需要格外關(guān)注其安全能力:
1、云平臺是否安全合規(guī)
一方面是云平臺自身的安全,是否是可信的云環(huán)境;另一方是云平臺合規(guī)安全,云服務(wù)商需要基于業(yè)界通用的安全合規(guī)標(biāo)準(zhǔn),保證服務(wù)組件配置的默認安全性。
2、云平臺安全能力是否強大
云平臺的基礎(chǔ)安全能力,例如主機/VM的防護、SLB訪問控制、DDoS、WAF能力、CWPP/CSPM功能等。
3、云平臺管理能力
版本更新和漏洞補丁的安裝能力也是保證基礎(chǔ)設(shè)施安全的基本防護措施,需要云廠商具備漏洞分級響應(yīng)機制和版本升級能力。
阿里云的云平臺防護能力毋庸置疑:· 通過可信芯片提供芯片級別的防護能力,保證服務(wù)器-云平臺-虛擬機/容器環(huán)境的整體環(huán)境可信,實現(xiàn)當(dāng)前技術(shù)發(fā)展階段下最高等級安全;· 2020年發(fā)布的108項自帶安全能力的云產(chǎn)品,提供強大的平臺安全防護能力;· 亞太地區(qū)獲得權(quán)威合規(guī)資質(zhì)最多的云廠家,為客戶解決云上合規(guī)問題。
軟件供應(yīng)鏈動態(tài)防護:采集、可視、關(guān)聯(lián)分析和響應(yīng)的全流程建設(shè)
由于容器的存活時間短,運行時安全防護困難增大,所以需要在供應(yīng)鏈側(cè),也就是容器構(gòu)建時即將安全納入考慮范疇,實現(xiàn)安全左移,將DevSecOps觀念納入交付流程。
在考慮容器供應(yīng)鏈安全時,動態(tài)思維極為關(guān)鍵。就容器生成的核心:鏡像而言,如果存在惡意鏡像或鏡像漏洞沒有得到及時更新,可能會造成大批量的入侵。據(jù)Prevasio 對于托管在 Docker Hub 上 400 萬個容器鏡像的調(diào)查統(tǒng)計,有 51% 的鏡像存在高危漏洞;另外有 6432 個鏡像被檢測出包含惡意木馬或挖礦程序,這些惡意鏡像就已經(jīng)被累計下載了 3 億次。
為了應(yīng)對供應(yīng)鏈中的安全挑戰(zhàn),安全廠商需要提供實時動態(tài)的防護能力:
1、實時漏洞掃描:對鏡像進行多維度深度掃描,檢測CVE漏洞、SCA中間件、WebShell惡意腳本、確保鏡像無漏洞;
2、鏡像資產(chǎn)管理:獲取主機鏡像信息,對鏡像資產(chǎn)進行梳理,關(guān)聯(lián)鏡像、倉庫、主機節(jié)點,便于對鏡像資產(chǎn)進行快速檢索;
3、鏡像掃描、驗證:除了漏掃以外,還需對鏡像的配置、CIS靜態(tài)基線等內(nèi)容,減少鏡像配置錯誤;同時建立鏡像加簽規(guī)則,確保進入鏡像庫的鏡像安全、無誤,分發(fā)和部署中的鏡像不被篡改。
4、鏡像修復(fù):目前市面上還沒有較為成熟的擁有自動鏡像修復(fù)能力的廠商,大部分服務(wù)商僅提供修復(fù)建議。
阿里云的安全防護能力覆蓋供應(yīng)鏈全周期。在掃描能力上,提供專人管理和維護的龐大數(shù)據(jù)庫,收錄10w+安全漏洞,擁有最新突發(fā)漏洞的檢測能力,支持多操作系統(tǒng)下的漏洞掃描。同時檢測時間極快,基本可以達到1min出結(jié)果。在漏洞修復(fù)能力上,提供在OS下的鏡像自動修復(fù)能力,讓漏洞修復(fù)更簡單,降低運維人員壓力。在CIS基線管理上,阿里云容器服務(wù)提交的 CIS Kubernetes benchmark for ACK 正式通過 CIS 社區(qū)組織的認證審核,成為國內(nèi)首家發(fā)布 CIS Kubernetes 國際安全標(biāo)準(zhǔn)基線的云服務(wù)商。
運行時安全
容器運行時是用于運行容器的每個主機操作系統(tǒng)對應(yīng)的二進制文件,用于建立和維護每個容器環(huán)境。容器進行時協(xié)調(diào)多個操作系統(tǒng)組件,隔離資源和資源使用量,并通過操作系統(tǒng)與宿主機進行交互,可以說是容器運行的保障,在這個階段,企業(yè)需要關(guān)注:
1、容器運行時漏洞、威脅掃描
2、容器運行時網(wǎng)絡(luò)可視化
3、容器運行時配置合規(guī)安全
阿里云對容器運行時提供兩大安全保障,一個是實時威脅檢測,防止容器逃逸。通過200+安全監(jiān)測模型能無死角實現(xiàn)逃逸檢測,有效監(jiān)控容器運行時攻擊、配置錯誤、AK泄露等問題;另一個是漏洞管理,全面覆蓋系統(tǒng)漏洞、應(yīng)用漏洞、應(yīng)急0Day漏洞,同時SCA漏洞檢測能力還覆蓋生態(tài)及開源軟件漏洞檢查,有效降低漏洞入侵風(fēng)險。
此外,阿里云安全還提供容器運行時網(wǎng)絡(luò)連接可視化,通過Agent采集數(shù)據(jù),實現(xiàn)東西、南北向網(wǎng)絡(luò)可視化,輕松識別網(wǎng)絡(luò)連接安全風(fēng)險,同時進行配置合規(guī)檢查,保證容器運行時的配置安全。
隨著云原生對于計算機基礎(chǔ)設(shè)施和應(yīng)用架構(gòu)的重新定義,原生安全也在進一步迭代。Gartner在其Marktet Trends中提到建設(shè)云原生安全生態(tài),安全從原來單點式的防護開始向集成化、內(nèi)生化發(fā)展。容器技術(shù)和生態(tài)的成熟,使得新的容器使用場景也在涌現(xiàn),邊緣計算、機器學(xué)習(xí)、大數(shù)據(jù)分析、aPaaS正在成為容器安全的新關(guān)鍵詞。
阿里云安全也在進行容器與安全服務(wù)一站式深度整合,通過集成云安全中心、密鑰管理、日志管理等安全服務(wù),構(gòu)建原生的安全能力,在DevOps流程中默認植入安全,提升整體持續(xù)集成和持續(xù)交付(CI/CD)流水線的安全和防御能力。
在云原生的挑戰(zhàn)下,阿里云容器服務(wù)也會走在技術(shù)前線,在容器安全領(lǐng)域保持世界級的競爭力,為客戶的應(yīng)用安全保駕護航。