國家保密局網(wǎng)站>>保密科技

私有云容器安全防護研究

2023年06月07日    來源:國家保密科技測評中心【字體: 打印

【摘 要】 隨著企業(yè)數(shù)字化轉(zhuǎn)型和新基建的推進,云原生的應用越來越廣泛,其安全問題也逐步受到關注。本文主要從云原生的核心組件之一容器展開分析,論述了私有云容器的技術和功能特點,并從鏡像、容器、主機、網(wǎng)絡、服務網(wǎng)格和運維管理等方面進行安全風險分析,提出了私有云容器安全防護框架,為企業(yè)私有云容器安全防護提供參考。

【關鍵詞】 私有云 容器安全 風險分析 主機安全 網(wǎng)絡安全

1 引言

在企業(yè)的數(shù)字化轉(zhuǎn)型過程中,一些企業(yè)對信息化提出應用敏捷開發(fā)、快速迭代、持續(xù)更新、高彈性、易擴展和高安全等要求。為實現(xiàn)上述要求,云原生成為企業(yè)數(shù)字化轉(zhuǎn)型的首選工具,作為云原生核心組件之一的容器技術得到廣泛應用。但在企業(yè)基于容器技術部署業(yè)務應用時,不同程度地存在安全隱患,且隨著私有云的推廣與應用,相應的安全風險日益凸顯。

2 私有云容器技術分類

2.1 容器

容器技術是指在操作系統(tǒng)層實現(xiàn)了對計算機系統(tǒng)資源的虛擬化,在操作系統(tǒng)中,通過對CPU、內(nèi)存和文件系統(tǒng)等資源的隔離、劃分和控制,實現(xiàn)進程之間資源的透明使用。與虛擬機相比,容器啟動速度更快,且?guī)缀醪淮嬖谛阅軗p耗。與云計算的結合,彈性的云資源和靈活的云應用,使得容器技術在云計算領域脫穎而出。

2.2 容器編排調(diào)度

容器編排調(diào)度技術包括容器調(diào)度和集群資源管理。容器調(diào)度是指調(diào)度特定的容器到主機上運行;集群資源管理是指幫助用戶以集群的方式在主機上啟動容器,實現(xiàn)相應的網(wǎng)絡互聯(lián),同時提供可擴展、容錯、負載和高可用等保障。單個應用服務部署也需要大量容器的共同參與,大規(guī)模的容器管理、故障排查和溯源等進一步催生了容器統(tǒng)籌管理的必要性。

2.3 服務網(wǎng)格

服務網(wǎng)格(Service Mesh)技術是專門處理服務間通信的技術,它可將服務間的復雜通信分層并下沉到基礎設施層,從而在云原生應用組成的復雜服務拓撲中可靠地傳遞請求。服務網(wǎng)格通常是一組隨著應用代碼部署的輕量級網(wǎng)絡代理,應用感知不到它的存在。使用服務網(wǎng)格,開發(fā)者不需要改動現(xiàn)有的服務代碼,不用關心應用的服務管理,只需要專注于業(yè)務邏輯的開發(fā),因此能夠賦予開發(fā)者更多的創(chuàng)造性。

2.4 敏捷開發(fā)

敏捷開發(fā)是一種能應對快速變化的軟件開發(fā)模式,它采用“迭代開發(fā)”將軟件項目需求分成多個進行迭代,且每個迭代成果在完成開發(fā)、測試、反饋等環(huán)節(jié)后都可進行交付,能夠使資源得到最大化利用,反饋更加及時,交付效率顯著提高。開發(fā)運維一體化(DevOps)基于敏捷開發(fā)將運維納入產(chǎn)品開發(fā)過程,促進了開發(fā)、運維、測試之間的高效協(xié)同,集開發(fā)、運維、測試于一體,實現(xiàn)軟件持續(xù)交付、快速修復和解決業(yè)務應用問題。

3 私有云容器安全風險分析

3.1 鏡像安全風險

容器鏡像高度依賴開放的開源代碼,而開源代碼本身存在著錯綜復雜的依賴調(diào)用關系。開源代碼開發(fā)者可隨意使用、修改、發(fā)布開源軟件包,使得潛在的安全漏洞或惡意鏡像在技術社區(qū)中傳遞,在容器鏡像中埋下了較大安全隱患。這些鏡像帶來的威脅不僅會影響容器安全,還可能層層傳遞、反向滲透到底層宿主機、網(wǎng)絡基礎設施,威脅整個私有云平臺的安全運行。鏡像帶來的風險主要包括以下5種:

(1)開源鏡像可能存在漏洞、病毒或惡意程序等安全風險;

(2)鏡像中存在的明文密鑰在應用服務部署時泄露;

(3)從鏡像倉庫中獲取鏡像的路徑被劫持或惡意修改;

(4)鏡像中存在的安全外殼協(xié)議(Secure Shell Protocol,SSH)服務增加了內(nèi)部服務暴露和攻擊的風險;

(5)鏡像倉庫被攻擊或泄露,導致鏡像攜帶惡意程序或無法使用。

3.2 容器安全風險

容器是一種共享了宿主機操作系統(tǒng)內(nèi)核,但未實現(xiàn)物理層隔離的虛擬化技術。在運行軟件存在漏洞或者宿主機遭到攻擊的情況下,可能會出現(xiàn)容器逃逸和資源隔離失效,導致容器所承載應用服務異常。在日常使用過程中,管理員或用戶錯誤配置了容器的環(huán)境參數(shù)、運行參數(shù),直接將宿主機的某些敏感卷掛載到容器中或直接使用互聯(lián)網(wǎng)相關源代碼,從而給攻擊者留有可乘之機,使攻擊者可通過這些錯誤的容器參數(shù)、利用敏感卷和源代碼漏洞獲取宿主機資源的控制權,進而訪問宿主機中的所有文件,任意進入其所承載的容器中,致使宿主機本身及其所承載的容器存在安全隱患。

3.3 主機安全風險

主機上的安全配置、安全漏洞和惡意進程會直接影響容器的安全,攻擊者利用容器共享宿主機內(nèi)核的原理,通過容器漏洞提升權限,獲得宿主機根用戶(root)權限。在容器無根用戶權限限制的情況下,攻擊者以容器為跳板,可直接控制容器宿主機及部署的所有服務。同時由于容器位于宿主機內(nèi)部,容器間的網(wǎng)絡流量不經(jīng)過邊界安全防護設備,因此難以檢測容器間的惡意流量。一旦內(nèi)部惡意容器發(fā)起分布式拒絕服務(DDoS)攻擊,將迅速消耗并占滿主機和集群資源,造成業(yè)務應用中斷,嚴重時私有云集群將面臨癱瘓的風險。

3.4 網(wǎng)絡安全風險

網(wǎng)絡實現(xiàn)了容器與容器之間、容器與外部之間的通信,以及應用之間的交互,但在容器的網(wǎng)絡環(huán)境中,其網(wǎng)絡控制風險較傳統(tǒng)網(wǎng)絡更為復雜、嚴峻。例如,容器Kubernetes(K8s)自身雖設立了命名空間來進行資源分配和管理,但每個命名空間內(nèi)地址是混亂的,且網(wǎng)絡完全互通,難以實現(xiàn)精細化控制。若容器之間的網(wǎng)絡未進行有效隔離和控制,一旦攻擊者控制某臺主機或容器,則可以此為跳板發(fā)起內(nèi)部攻擊,即“東西向攻擊”。當內(nèi)部攻擊行為成功繞過南北訪問控制規(guī)則后,將會對整個網(wǎng)絡進行更深入地攻擊和破壞。

3.5 服務網(wǎng)格安全風險

容器平臺中,多個微服務構成了一個應用服務,這些微服務之間的通信由服務網(wǎng)格代理,實現(xiàn)微服務之間的消息傳遞。在消息傳遞的過程中若未采用加密保護的通信技術防護,攻擊者可能通過一個服務控制權限,開展劫持、竊聽、偽造等破壞活動,造成數(shù)據(jù)泄露或服務異常。當服務間存在認證權限配置漏洞時,攻擊者可基于某個服務開展越權攻擊并控制其他服務,進而攻擊整個集群中的應用服務。

3.6 運維管理安全風險

隨著私有云的建設與使用,各企業(yè)若仍采用傳統(tǒng)的模式開展相關業(yè)務的運維管理,則面臨著組織機構不健全、平臺管理有漏洞、系統(tǒng)防護有死角等管理風險。因私有云平臺的建設往往是一次性搭建完主體,后續(xù)不斷擴容資源,從而滿足業(yè)務所需和確保平臺的魯棒性,但由于缺少創(chuàng)新的運維/運營管理模式,私有云并不會產(chǎn)生持續(xù)向上的經(jīng)濟效益。隨著使用時間增長,云平臺會逐步出現(xiàn)設備老化、技術淘汰等問題,其適用性降低,會導致企業(yè)潛在效益降低。此時,企業(yè)將面臨重復投資建設的風險,即由傳統(tǒng)單體重復建設演變成云重復建設。

4 私有云容器安全防護

為使私有云在企業(yè)中更好地安全穩(wěn)定運行,為企業(yè)轉(zhuǎn)型發(fā)展奠定基礎,針對以上風險,本文從鏡像、容器、主機、網(wǎng)絡、服務網(wǎng)格和運維管理等方面分別采取相應的安全防護措施,形成私有云容器安全防護架構,如圖1所示。

4.1 鏡像安全防護

為提升私有云整體安全防護能力,私有云安全防護整體“向左遷移”,從容器鏡像構建開始,首先是用戶盡可能不直接使用開源鏡像,若需使用則應建立相對獨立的區(qū)域,使用前進行病毒、惡意代碼查殺和漏洞檢測等;其次在對鏡像打包時,應關閉多余服務,實時更新安全漏洞庫,對身份認證和密鑰等敏感信息進行保護,查殺病毒和惡意代碼等;最后在鏡像使用時,應建立私有鏡像倉庫并啟用驗證源服務,根據(jù)不同用途建立鏡像臺賬,明確具體訪問范圍,再次確認權限,禁止非授權訪問。

4.2 容器安全防護

對于容器的安全防護,可從南北(云外)方向和東西(云內(nèi))方向2個方面進行設計:對于南北方向的安全防護,主要是云外的用戶訪問云上的服務防護,可通過構建相應的安全資源池引流方式進行檢測與防護;對于東西向的安全防護,主要是容器間的安全防護,可采用以下3種方式。

4.2.1 容器安全監(jiān)測

(1)入侵檢測。采用進程黑/白名單機制和惡意程序檢測,阻止異常進程,防止提權攻擊、違規(guī)操作等安全風險。

(2)容器端口檢測。關閉不需要的服務端口,安裝惡意程序檢測工具,定期升級和更新惡意程序庫。

(3)異常行為監(jiān)測。通過設置相應規(guī)則(如關閉seccomp系統(tǒng)隔離機制、掛載宿主機/etc目錄到容器內(nèi)、核心文件完整性監(jiān)控等)實現(xiàn)容器、主機、應用程序的異常監(jiān)測。

(4)流量可視化。構建容器應用和服務之間的網(wǎng)絡流量可視化能力,自動發(fā)現(xiàn)網(wǎng)絡層、傳輸層和應用層中容器集群服務依賴關系圖。

4.2.2 容器安全隔離

(1)權限控制。對容器啟動及運行時的權限進行限制,采用基于角色的權限訪問控制,控制每個用戶的資源權限。

(2)容器實行隔離保護。設置容器間的網(wǎng)絡訪問控制,實現(xiàn)用于集群內(nèi)部容器間的防火墻功能。

(3)應用、數(shù)據(jù)和服務隔離保護。構建面向集群、命名空間、節(jié)點、容器管理組(Pod)和容器等不同層面的資源隔離模型,配置用戶資源調(diào)度控制及運行時的安全策略。

4.2.3 容器安全配置

(1)安全配置。對容器內(nèi)重要數(shù)據(jù)進行保密性、完整性和可用性保護。對容器中關鍵文件及應用需設置相應保護策略,如禁止根用戶權限運行、限制使用特權用戶運行、配置強制訪問控制策略、限制遠程訪問范圍和容器磁盤配合限制等。

(2)安全審計。構建容器安全審計模塊,記錄容器的操作、訪問和阻斷行為,形成相關日志數(shù)據(jù),該日志數(shù)據(jù)應采用獨立存儲空間,不能篡改且應滿足一定的存儲周期。

4.3 主機安全防護

(1)硬件分類部署;谄髽I(yè)安全防護等級要求,選取相應硬件設備作為宿主機,同時結合宿主機所承載的應用類型、密級、用途等特性劃分獨立的區(qū)域,各區(qū)域間按照網(wǎng)絡防護要求進行安全防護。

(2)可信軟件安全啟動。建立主機的可信根,對主機操作系統(tǒng)、容器相關組件進行完整性度量,防止其被非法篡改,確保啟動過程處于可信狀態(tài)。度量通過,則允許服務器系統(tǒng)正常引導、啟動、容器系統(tǒng)正常加載;如果關鍵組件被篡改,則對啟動過程進行阻止。

(3)可信軟件授權部署。用于承載和部署私有云的軟件應通過相應的安全檢測和授權方可安裝,如對主機系統(tǒng)軟件漏洞、病毒、訪問權限等進行檢測。

(4)系統(tǒng)安全加固與配置。在一朵云中盡可能統(tǒng)一主機操作系統(tǒng),統(tǒng)一檢測與管控,包括系統(tǒng)基礎服務的安全配置(雙因素認證機制等)、系統(tǒng)核心安全能力(安全日志采集、入侵防御代理等)的部署等。系統(tǒng)應遵循最小化安裝,不得安裝額外的服務和軟件,減小攻擊面;刪除無關賬戶、鎖定重要文件的權限設置、配置遠程訪問地址范圍和交互登錄超時時間;關閉數(shù)據(jù)包轉(zhuǎn)發(fā)功能、禁止控制報文協(xié)議(Internet Control Message Protocol,ICMP)重定向。

(5)主機環(huán)境安全防護。應在主機所處的網(wǎng)絡環(huán)境部署漏洞掃描,定時檢測系統(tǒng)及軟件漏洞、安全配置基線,及時更新系統(tǒng)補;部署入侵檢測設備,對異地登錄、惡意程序、賬戶破解、關鍵文件變更異常行為進行檢測并及時阻止;開啟主機數(shù)據(jù)庫防火墻功能,及時對敏感數(shù)據(jù)發(fā)現(xiàn)與脫敏,加強數(shù)據(jù)庫安全防護與監(jiān)控審計功能,加強主機文件系統(tǒng)和系統(tǒng)調(diào)用的安全審計。

4.4 網(wǎng)絡安全防護

(1)網(wǎng)絡安全組件。對每個命名空間分配一臺軟交換機,同步分配容器內(nèi)、外地址段,實現(xiàn)業(yè)務容器的微分段。根據(jù)業(yè)務屬性定義的標簽,通過安全組件來實現(xiàn)訪問控制策略,形成精細化的流量控制以及流量可視化,還可幫助管理員迅速定位網(wǎng)絡訪問的故障點,實現(xiàn)快速排障。

(2)網(wǎng)絡訪問控制。在容器和主機之間、容器與容器之間、容器與用戶之間均按最小化原則,設定網(wǎng)絡訪問控制策略,同時這類訪問控制策略通常是動態(tài)變化的,那么對每次的變動都需要相應的審批、授權,以及操作記錄審計。

(3)網(wǎng)絡攻擊檢測與防御。在私有云平臺的安全資源池中部署相應的流量清洗、流量牽引、網(wǎng)頁應用防火墻等檢測和防御攻擊的工具。

4.5 服務網(wǎng)格安全防護

(1)服務網(wǎng)格自身安全防護。服務網(wǎng)格控制面通過發(fā)現(xiàn)服務(xDS)協(xié)議對數(shù)據(jù)面進行配置(路由轉(zhuǎn)發(fā)、負載均衡、服務治理等)下發(fā),以控制數(shù)據(jù)面的行為,通過禁用多余服務端口和配置環(huán)境變量來關閉服務網(wǎng)格中的一些默認服務(debug服務等),從而提升東西流量中的安全防護。

(2)服務網(wǎng)格的可觀測性。企業(yè)用戶和管理員可通過服務網(wǎng)格,實現(xiàn)業(yè)務服務從應用微服務到基礎設施的全鏈條可視化監(jiān)控和故障診斷能力,從而提供統(tǒng)一監(jiān)控數(shù)據(jù),保障業(yè)務服務安全運行。

4.6 私有云安全運營管理體系

隨著企業(yè)紛紛上云,特別是私有云的部署,在運營模式由傳統(tǒng)的以資源為主逐步轉(zhuǎn)變?yōu)樵茣r代以應用服務為主的背景下,若不構建基于云模式的運營管理體系,將面臨更多的安全風險。

(1)重構運營團隊。云計算的使用改變了傳統(tǒng)基礎設施的架構,過去的維護是以硬件設備或系統(tǒng)為邊界,在邊界進行嚴格的控制。企業(yè)上云后,存在跨地區(qū)分布式部署,應用服務也分布在不同數(shù)據(jù)中心,沒有固定的邊界,因此需協(xié)同多數(shù)據(jù)中心人員共同管理維護。

(2)提升人員技能。云技術作為新一代信息基礎技術,需加強相關運營人員的專業(yè)技能提升,改變傳統(tǒng)運維觀念。

(3)明確計費方式。為更好地利用云資源,使云資源發(fā)揮最大價值,且能可持續(xù)發(fā)展,企業(yè)需明確使用云服務的計費方式(并非真正收取費用),通過該方式實時掌握云服務的使用狀態(tài)和資源飽和度,從而為管理者決策提供數(shù)據(jù)支撐。

(4)編制管理制度。一個好的運營模式,還需從云服務的需求、計劃、構建、測試、部署、文檔、維護和運營管理等方面構建一個健全的管理制度進行約束和監(jiān)管,使相關的安全策略嚴格執(zhí)行,保障所有操作有據(jù)可依。

5 結語

隨著企業(yè)數(shù)字化轉(zhuǎn)型與云原生的廣泛應用,容器安全威脅所帶來的危害也急劇增加。本文論述了私有云容器的技術和功能特點,并從鏡像、容器、主機、網(wǎng)絡、服務網(wǎng)格和運維管理等方面開展了相關安全風險分析和研究,并針對性地提出了私有云容器安全防護框架,為企業(yè)私有云容器安全防護提供參考。

(原載于《保密科學技術》雜志2022年8月刊)