大數據

快進鍵啟動,一文帶你瞭解雲原生時代容器安全

都說國內需求離容器化還遠,更談不上關注安全,喊的熱鬧而落地困難。但總得有些聲音面向未來向前看。

在2020年Forrester IaaS安全評測中,阿里雲容器安全和谷歌並列滿分,技術能力領跑市場。阿里雲在雲計算各領域技術一直領先一步,包括雲原生安全,和作為其重要組成的容器安全。

本文總結了阿里雲容器安全的治理能力和經驗,呈現雲原生時代容器安全湧現的新特點。幫助未來的你全面理解容器安全,保護生產環境安全。

隨著阿里雲前進的腳印,我們首先來理解容器是什麼,以及容器和雲原生的關係。

理解容器第一步:雲原生”大樓“的底座

2010年,雲原生的概念第一次在WSO2的首席技術官Paul Fremantle的博客中被提及,其後經歷了Pivotal、CNCF等機構的補充,加入了DevOps、持續交付、微服務、容器、服務網格(Service Mesh)、不可改變的基礎設施、聲明式API等技術,通過這些技術可以構建出高彈性、高虛擬化、高容錯性、自恢復、易管理的分佈式架構系統。

但隨著雲原生所包含的概念越來越廣,任何對其的定義似乎都有管中窺豹的嫌疑。與其糾結定義的完整性,我們不妨把目光轉向雲原生給企業帶來的好處和改變。

總結精煉四個關鍵詞:低成本、高可用、高安全、高效率。

  • 低成本

企業服務器成本和虛擬損耗大幅減少。從物理主機,到虛擬化,再到容器化,客戶不必再進行線下機房管理、使用資源佔用量高的虛擬機,大大節約成本。

image.png

  • 高可用

優雅地解決高併發場景下容量問題。在雲原生容器化時代,不封裝操作系統的容器,直接運行於主機內核之上,對系統資源的佔用更少。加之鏡像封裝的技術,可以實現其大規模自動化部署,配合分佈式架構,彈性擴容能力極強。

  • 高安全

攻擊面減少。IDC時代,所有的應用、進程都在一臺服務器上運行,一旦某個進程被惡意突破,整個主機都面臨巨大的風險。而在容器架構中,單個容器中可能只有一個進程,就算被攻擊突破,對主機的影響也有限。

  • 高效率

雲原生倡導DevSecOps理念,而容器化使得在開發過程中使用CI/CD(快速集成和快速部署)成為可能,極大地提升了應用開發和程序運行的效率。

我們不難發現,雲原生和容器之間的緊密關係。可以說,容器徹底改變了企業IT基礎設施的架構方式,是搭建雲原生的關鍵。

如果說雲原生是一棟高樓大廈,那麼容器化便是這座大樓的底座,向上支撐分佈式架構、微服務和不同工作負載,向下封裝基礎設施,屏蔽了底層架構的差異性,以自身鏡像封裝、內核共享、便利擴容等特性,構建了一棟雲原生大廈。

隨著企業上雲率不斷提升,越來越多的企業選擇在生產環境中使用容器架構。

CNCF 2020年發佈的報告中顯示,在生產中應用容器的企業比例從去年的84%增長到今年的92%。艾瑞諮詢在《中國容器雲市場研究報告》中顯示,2020年有84.7%的中國企業已經&計劃使用容器。

但歷史的經驗告訴我們,所有繁榮景象之上,都懸著一把達摩克里斯之劍,Tripwire 2019年對311位IT安全專業人員進行了調研,發現60%的組織都遭遇過容器安全事故,容器的背後存在著巨大的安全隱患。

理解容器風險第二步:運輸中的“集裝箱”

既然容器構成了雲原生這座大廈的基座,那麼防護容器安全就不僅僅是防護容器的安全這麼簡單。

如果我們把容器看成一個個封裝好的集裝箱,想要讓箱內的貨物順利配送到客戶手上,那麼從集裝箱的製作、安裝、打包、到運輸箱子的貨輪、快遞配送員的安全,都需要考慮在內。

也就是說,我們需要在整體的DevSecOps的開發流程中,考慮容器的安全:

image.png

根據上圖我們可以看到,在容器的全生命週期中,涉及到四個部分的安全風險:

  • 基礎設施

容器構建於雲平臺/服務器之上,硬件設施、內核、雲平臺的安全是容器安全的基礎,基礎設施安全是容器安全的第一步。

  • 供應鏈

當基礎平臺安全後,開發者可以在雲上建立一整套DevOps的開發流程,通過容器化來提升交付效率,那麼首先需要完成容器的構建和部署。

容器內部一般分為三層,底層為BootFS文件系統,中層為鏡像層,上層為可改寫的容器層:

image.png

容器內部層次

容器的構建依賴於鏡像,鏡像由鏡像庫管理。在構建容器過程中只需要從鏡像庫中調取鏡像即可。如果由於鏡像庫管理不當,混入了惡意鏡像,或者鏡像遭到損壞,有漏洞的鏡像沒有及時更新,鏡像的認證和授權限制不足等,會給容器帶來巨大的安全隱患。

容器構建完成之後,還需要對其進行正確的部署,拿容器網絡來舉例,在默認的-host的網絡配置下,容器運行時默認可以通過網絡訪問其他容器及主機操作系統,一旦單個容器被入侵就可能影響到宿主機上部署的所有容器。根據StackRox的報告,配置錯誤恰恰是企業對於容器安全最擔憂的部分

  • 容器運行時

容器構建完畢之後,依賴Cgroup、Namespace、Capability等功能在內核上實現互相隔離,並使用編排工具和容器運行時組件進行批量化管理和使用。

而編排平臺,如Kubernetes、OpenShift等,存在不少高危漏洞,根據NVD(National Vulnerablity Database)的數據統計,光是K8S平臺被找到的CVE漏洞就有109個,其中嚴重(Critical)的漏洞有10個,高危(High)的漏洞有39個,一旦使用者沒有及時修複相關漏洞,就有可能被攻擊者利用,威脅容器安全。

image.png
image.png

  • 應用安全

當我們順藤摸瓜一步步往上走,從基礎設施層到網絡層,最終到達處於最上層的應用層,也就是容器這條船上承載的一個個“貨物”,較為容易遭受DDoS攻擊、賬號盜用、數據洩露等攻擊。

除了在整體開發流程中理解容器安全外,容器本身的特性也給安全防護帶去了不一樣的側重點:

1、容器隔離性差

和虛擬機基於系統的隔離不同,容器是基於進程的隔離,沒有明確的安全邊界, 更容易發生容器逃逸、宿主機內核遭受攻擊的問題。

2、容器存活時間短

和傳統的虛擬機相比,容器具有輕量級的優勢,可以快速部署,快速迭代,這也意味著單個容器的存活時間也急速變短。據Datadog的數據統計,傳統雲虛擬機的平均生存週期是23天,而容器只有2.5天,極短的存活期導致在運行時對它進行保護變得更加困難,所以在供應鏈側就要保證容器的安全。

此外,容器的更新速度也對鏡像庫的更新速度有了更高的要求。

3、容器部署密度高

由於大規模部署,對容器的批量化管理必然需要使用編排工具,對於編排工具、鏡像庫、鏡像的安全保障就變得更為重要。

理解容器安全第三步:動態防護全生命週期

在對容器的生命週期進行梳理之後,我們會發現防護容器安全,其實就是防護生產環境的安全。那麼在整個鏈路中,容器最常遭受的攻擊是什麼,企業應該如何防護?

阿里雲從2011年即開啟了探索的腳步,推進容器化的技術改造和落地,推進雲原生技術,2020年完成了核心系統全面雲原生化,積累了大量的實踐經驗,同步發佈了國內首個雲原生容器安全ATT&CK攻防矩陣

image.png

匯合多年的技術積累和實戰經驗,為了更好地應對容器化進程中的安全挑戰,阿里雲認為企業的容器安全應當做到動態防護,覆蓋容器全生命週期。

  • 基礎設施安全

大部分企業會選擇在雲平臺上搭建容器,或直接使用容器運營商的容器服務,為了保障容器底層基礎設施的安全,企業在選擇雲服務商時需要格外關注其安全能力:

1、雲平臺是否安全合規

一方面是雲平臺自身的安全,是否是可信的雲環境;另一方是雲平臺合規安全,雲服務商需要基於業界通用的安全合規標準,保證服務組件配置的默認安全性。

2、雲平臺安全能力是否強大

雲平臺的基礎安全能力,例如主機/VM的防護、SLB訪問控制、DDoS、WAF能力、CWPP/CSPM功能等。

3、雲平臺管理能力

版本更新和漏洞補丁的安裝能力也是保證基礎設施安全的基本防護措施,需要雲廠商具備漏洞分級響應機制和版本升級能力。

阿里雲的雲平臺防護能力毋庸置疑:

· 通過可信芯片提供芯片級別的防護能力,保證服務器-雲平臺-虛擬機/容器環境的整體環境可信,實現當前技術發展階段下最高等級安全;

· 2020年發佈的108項自帶安全能力的雲產品,提供強大的平臺安全防護能力;

· 亞太地區獲得權威合規資質最多的雲廠家,為客戶解決雲上合規問題。

image.png

  • 軟件供應鏈動態防護:採集、可視、關聯分析和響應的全流程建設

由於容器的存活時間短,運行時安全防護困難增大,所以需要在供應鏈側,也就是容器構建時即將安全納入考慮範疇,實現安全左移,將DevSecOps觀念納入交付流程。

在考慮容器供應鏈安全時,動態思維極為關鍵。就容器生成的核心:鏡像而言,如果存在惡意鏡像或鏡像漏洞沒有得到及時更新,可能會造成大批量的入侵。據Prevasio 對於託管在 Docker Hub 上 400 萬個容器鏡像的調查統計,有 51% 的鏡像存在高危漏洞;另外有 6432 個鏡像被檢測出包含惡意木馬或挖礦程序,這些惡意鏡像就已經被累計下載了 3 億次。

為了應對供應鏈中的安全挑戰,安全廠商需要提供實時動態的防護能力:

1、實時漏洞掃描:對鏡像進行多維度深度掃描,檢測CVE漏洞、SCA中間件、WebShell惡意腳本、確保鏡像無漏洞;

2、鏡像資產管理:獲取主機鏡像信息,對鏡像資產進行梳理,關聯鏡像、倉庫、主機節點,便於對鏡像資產進行快速檢索;

3、鏡像掃描、驗證:除了漏掃以外,還需對鏡像的配置、CIS靜態基線等內容,減少鏡像配置錯誤;同時建立鏡像加簽規則,確保進入鏡像庫的鏡像安全、無誤,分發和部署中的鏡像不被篡改。

4、鏡像修復:目前市面上還沒有較為成熟的擁有自動鏡像修復能力的廠商,大部分服務商僅提供修復建議。

阿里雲的安全防護能力覆蓋供應鏈全週期。在掃描能力上,提供專人管理和維護的龐大數據庫,收錄10w+安全漏洞,擁有最新突發漏洞的檢測能力,支持多操作系統下的漏洞掃描。同時檢測時間極快,基本可以達到1min出結果。在漏洞修復能力上,提供在OS下的鏡像自動修復能力,讓漏洞修復更簡單,降低運維人員壓力。在CIS基線管理上,阿里雲容器服務提交的 CIS Kubernetes benchmark for ACK 正式通過 CIS 社區組織的認證審核,成為國內首家發佈 CIS Kubernetes 國際安全標準基線的雲服務商

  • 運行時安全

容器運行時是用於運行容器的每個主機操作系統對應的二進制文件,用於建立和維護每個容器環境。容器進行時協調多個操作系統組件,隔離資源和資源使用量,並通過操作系統與宿主機進行交互,可以說是容器運行的保障,在這個階段,企業需要關注:

1、容器運行時漏洞、威脅掃描
2、容器運行時網絡可視化
3、容器運行時配置合規安全

阿里雲對容器運行時提供兩大安全保障,一個是實時威脅檢測,防止容器逃逸。通過200+安全監測模型能無死角實現逃逸檢測,有效監控容器運行時攻擊、配置錯誤、AK洩露等問題;另一個是漏洞管理,全面覆蓋系統漏洞、應用漏洞、應急0Day漏洞,同時SCA漏洞檢測能力還覆蓋生態及開源軟件漏洞檢查,有效降低漏洞入侵風險。

此外,阿里雲安全還提供容器運行時網絡連接可視化,通過Agent採集數據,實現東西、南北向網絡可視化,輕鬆識別網絡連接安全風險,同時進行配置合規檢查,保證容器運行時的配置安全。


隨著雲原生對於計算機基礎設施和應用架構的重新定義,原生安全也在進一步迭代。Gartner在其Marktet Trends中提到建設雲原生安全生態,安全從原來單點式的防護開始向集成化、內生化發展。容器技術和生態的成熟,使得新的容器使用場景也在湧現,邊緣計算、機器學習、大數據分析、aPaaS正在成為容器安全的新關鍵詞。

阿里雲安全也在進行容器與安全服務一站式深度整合,通過集成雲安全中心、密鑰管理、日誌管理等安全服務,構建原生的安全能力,在DevOps流程中默認植入安全,提升整體持續集成和持續交付(CI/CD)流水線的安全和防禦能力。

在雲原生的挑戰下,阿里雲容器服務也會走在技術前線,在容器安全領域保持世界級的競爭力,為客戶的應用安全保駕護航。

Leave a Reply

Your email address will not be published. Required fields are marked *