日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
云原生時代,如何“玩轉(zhuǎn)”容器安全?

云原生時代,如何“玩轉(zhuǎn)”容器安全?

作者:佚名 2021-08-09 11:43:02

安全

云安全

云原生 本文在容器被廣泛應用背景下,從容器技術(shù)、鏡像、網(wǎng)絡和運行環(huán)境等維度分析了應用容器帶來的四個安全挑戰(zhàn),總結(jié)了五項應對舉措;最后從容器全生命周期保護角度出發(fā),提出了容器安全解決方案。

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設,金壇企業(yè)網(wǎng)站建設,金壇品牌網(wǎng)站建設,網(wǎng)站定制,金壇網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,金壇網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

引言

隨著云計算的發(fā)展,以容器和微服務為代表的云原生技術(shù),受到了人們的廣泛關注,其中Docker和Kubernetes是企業(yè)容器運行時和容器編排的首要選擇。然而,在應用容器和Kubernetes過程中,大多數(shù)企業(yè)都遇到過不同程度的安全問題,如何保障容器安全,已成為企業(yè)最關心的問題。

應用容器帶來新挑戰(zhàn)

容器應用之前,云中應用系統(tǒng)多數(shù)運行于虛擬機上,但虛擬機仍會有額外的資源浪費和維護成本,并且其啟動速度較慢。容器技術(shù)因具有占用資源少、部署速度快和便于遷移等特點,開始受到企業(yè)青睞。在典型的云原生環(huán)境中,通常包括主機、鏡像、容器、容器編排平臺、網(wǎng)絡和微服務等對象,但由于目前多數(shù)企業(yè)使用容器技術(shù)部署業(yè)務應用,故下面將重點分析與容器相關的安全挑戰(zhàn)。

容器技術(shù)風險

作為一種操作系統(tǒng)虛擬化技術(shù),容器共享操作系統(tǒng)內(nèi)核,但并未實現(xiàn)完全隔離,若虛擬化軟件存在漏洞,或宿主機被攻擊,將會造成容器逃逸或資源隔離失效,影響某個容器或多個容器的安全。

容器逃逸:利用虛擬化軟件存在的漏洞,攻擊者通過容器獲取主機權(quán)限,可攻擊容器所在主機,甚至是該主機上的其他容器。過去幾年內(nèi)已經(jīng)發(fā)現(xiàn)了多個相關漏洞,其中CVE-2019-5736是RunC的一個安全漏洞,它會導致18.09.2版本前的Docker允許惡意容器覆蓋宿主機上的RunC二進制文件,使攻擊者能夠以Root身份在宿主機上執(zhí)行任意命令。

資源隔離失效:攻擊者只要攻破容器操作系統(tǒng)內(nèi)核,就可訪問到主機上的文件系統(tǒng),或進入其它容器,導致容器隔離失效。如果把主機的文件系統(tǒng)掛載到多個容器的目錄里,容器就可以訪問同一個目錄,將會引起信息泄露或內(nèi)容篡改等安全問題。

不安全的鏡像

鏡像是一個包含應用/服務運行所必需的操作系統(tǒng)和應用文件的集合,用于創(chuàng)建一個或多個容器,它們之間緊密聯(lián)系,鏡像的安全性將會影響容器安全。根據(jù)鏡像創(chuàng)建和使用方式,通常有三個因素影響鏡像安全。

現(xiàn)有鏡像不安全:鏡像通常是開發(fā)者基于某個現(xiàn)有鏡像創(chuàng)建的,無論是攻擊者上傳的惡意鏡像,還是現(xiàn)有鏡像存在的安全缺陷,基于它創(chuàng)建的鏡像都將會是不安全的。

使用包含漏洞的軟件:開發(fā)者經(jīng)常會使用軟件庫的代碼或軟件,如果它們存在漏洞或惡意代碼,一旦被制作成鏡像,也將會影響容器的安全。

鏡像被篡改:容器鏡像在存儲和使用的過程中,可能被篡改,如被植入惡意程序和修改內(nèi)容。一旦使用被惡意篡改的鏡像創(chuàng)建容器后,將會影響容器和應用程序的安全。

東西向攻擊

網(wǎng)絡實現(xiàn)了容器之間、容器與外部之間的通信,以及應用之間的交互,但在虛擬化的容器網(wǎng)絡環(huán)境中,其網(wǎng)絡安全風險較傳統(tǒng)網(wǎng)絡更復雜、嚴峻。以Docker環(huán)境為例,它支持Bridge、Overlay和Macvlan等網(wǎng)絡,盡管實現(xiàn)方式不同,但有一個共同和普遍的問題:如果容器之間未進行有效隔離和控制,則一旦攻擊者控制某臺主機或某臺容器,可以以此為跳板,攻擊同主機或不同主機上的其他容器,也就是常提到的“東西向攻擊”,甚至有可能形成拒絕服務攻擊。

運行環(huán)境未加固

作為容器的載體和編排管理軟件,主機和容器編排平臺等運行環(huán)境也是容器安全的重要因素之一。如前所述,主機上的容器并未實現(xiàn)完全隔離,如果主機未進行安全加固,一旦攻擊者發(fā)起提權(quán)攻擊,將會控制主機上其他容器。對于不安全的容器編排平臺同樣如此,某汽車制造企業(yè)就曾深受其害,由于其公有云環(huán)境中的Kubernetes Master節(jié)點未設置密碼保護,攻擊者在盜取訪問權(quán)限后,使用Kubernetes集群挖掘加密貨幣。

容器安全應對舉措

從LXC開始,容器就利用了大部分Linux通用的安全技術(shù),它們構(gòu)成了容器安全的基礎。面對新挑戰(zhàn),無論傳統(tǒng)的安全加固,還是新的鏡像組成分析,鏡像、容器技術(shù)、網(wǎng)絡和主機等不同層面的安全措施,都將有助于提升容器安全性。

Linux內(nèi)核安全機制

Linux通用的安全技術(shù)包括命名空間(Namespace)、控制組(Cgroups)、系統(tǒng)權(quán)限(Capability)、強制訪問控制(MAC)系統(tǒng)以及安全計算(Seccomp)等。一個好的容器平臺,應該具備這些能力,下文將聚焦前三種能力。

命名空間(Namespace):本質(zhì)上容器是由各種命名空間組成的,它們?yōu)槿萜魈峁┝嘶A隔離,讓每個容器擁有獨立的進程ID、網(wǎng)絡棧、根目錄、內(nèi)存、用戶名和主機名。

圖1 容器是命名空間的組合

控制組(Cgroups):控制組負責實現(xiàn)資源審計和限制,讓每個容器公平的分享主機資源,并設置了限制,以免單個容器過度消耗資源,影響到主機系統(tǒng)和其他容器運行,也可以防止拒絕服務攻擊。

圖2 控制組限制容器可使用的資源

系統(tǒng)權(quán)限(Capability):Root用戶擁有全部的權(quán)限,以Root身份運行容器很危險;但如果以非Root身份在后臺運行容器的話,由于缺少權(quán)限會處處受限。系統(tǒng)權(quán)限機制可以提供細粒度的權(quán)限訪問控制,控制容器運行所需的Root用戶權(quán)限,即使攻擊者取得了Root權(quán)限,也不能獲得主機的較高權(quán)限,可以限制進一步的破壞。

圖3 系統(tǒng)權(quán)限控制容器權(quán)限

安全容器

Linux通用安全技術(shù)為容器提供了基礎隔離,但未實現(xiàn)100%隔離。安全容器通過增加額外的隔離層可以進一步增加容器的安全性。它是一種容器運行時技術(shù),為容器應用提供一個完整的操作系統(tǒng)執(zhí)行環(huán)境(常常是Linux ABI),將應用的執(zhí)行與宿主機操作系統(tǒng)隔離開,避免應用直接訪問主機資源,從而可以在容器主機之間或容器之間提供額外的保護。

gVisor和Kata Containers是兩個代表性的安全容器實現(xiàn),其中Kata Containers通過使用硬件虛擬化,利用輕量級的虛擬機為容器提供隔離,每一個Container/Pod運行于獨立的虛擬機上,他們不再從主機內(nèi)核上獲取相應所有的權(quán)限,從而使Kata Containers與VM一樣能提供強隔離性。

圖4 Kata Containers結(jié)構(gòu)及原理

鏡像安全分析

作為容器運行的基礎,容器鏡像的安全在整個容器安全生態(tài)中占據(jù)著重要位置。容器鏡像由若干層鏡像疊加而成,通過鏡像倉庫分發(fā)和更新。因此,可以從鏡像構(gòu)建安全、倉庫安全以及鏡像分發(fā)安全三方面實現(xiàn)鏡像安全。

鏡像構(gòu)建安全:在構(gòu)建鏡像時,驗證所依賴鏡像的完整性和來源,只安裝必要的軟件包,使用恰當?shù)闹噶?,縮小攻擊面;并利用加密技術(shù),保護好密碼、令牌、密鑰和用戶機密信息等。

鏡像倉庫安全:鏡像倉庫分為公共鏡像倉庫和私有鏡像倉庫,使用公共鏡像倉庫的鏡像時,使用官方發(fā)布最新版本的鏡像,對下載的鏡像要經(jīng)過漏洞掃描評估,并保持定時更新。對于私有鏡像倉庫,一方面保持倉庫自身的安全性,例如在使用時要配置相應的安全證書,另一方面使用鏡像過程中,利用用戶訪問權(quán)限控制確保交互過程的安全性。

鏡像分發(fā)安全:在鏡像下載和上傳時,利用數(shù)字簽名和Https來保障容器鏡像的完整性和機密性,抵御中間人攻擊等威脅。

微隔離

網(wǎng)絡的基本防護手段是隔離和訪問控制,容器網(wǎng)絡防護可使用容器環(huán)境自身安全機制或第三方微隔離產(chǎn)品。對于Kubernetes網(wǎng)絡,其自身安全策略對每個Pod的入口強制執(zhí)行訪問控制,從而能夠隔離高風險的微服務,但Pod內(nèi)容器間通信和離開Pod的出口流量無法控制。第三方微隔離產(chǎn)品可是比Kubernetes更詳細地記錄出入網(wǎng)絡連接、深入檢測網(wǎng)絡中威脅和攻擊,以及檢測數(shù)據(jù)泄露,實現(xiàn)七層微隔離和網(wǎng)絡可視化。

運行環(huán)境加固

利用安全基線對容器主機和Kubernetes進行安全檢查和加固,將會進一步增加容器的安全性。CIS發(fā)布的Docker 基線已成為Linux主機配置和Docker主機加固的最佳實踐。通過創(chuàng)建一個特權(quán)容器,將Docker主機安全配置與CIS 基線進行對比,可以發(fā)現(xiàn)安全問題和實施加固。同樣,CIS也發(fā)布了Kubernetes基線,傳統(tǒng)的漏洞掃描工具、獨立的容器安全產(chǎn)品(如Aqua Security和NeuVector)和私有維護人員已經(jīng)在GitHub上發(fā)布了腳本,可實現(xiàn)自動化的Kubernetes安全檢查。

容器安全實踐

隨著DevOps興起,軟件開發(fā)人員與運維人員之間緊密合作,通過自動化流程來完成軟件開發(fā)、測試、發(fā)布和維護,整個過程更加快捷、頻繁和可靠,縮短了軟件上線時間,減少了很多重復性和人工工作。現(xiàn)在,針對容器安全風險,已經(jīng)形成了多種安全控制措施,如何將它們?nèi)谌氲紻evOps中高效保護應用系統(tǒng),是容器安全實踐需要考慮的首要問題。

為此,我們秉承DevSecOps理念,提出了容器全生命周期安全保護方案,該方案利用容器安全管理系統(tǒng),通過容器編排技術(shù)將安全容器部署于容器環(huán)境中,進行持續(xù)的檢測和分析,實現(xiàn)容器環(huán)境的資源可視化管理、鏡像風險管理、容器運行時安全管理、合規(guī)性檢測和微服務API風險管理,最終保障容器在構(gòu)建、部署和運行整個生命周期的安全。

總體架構(gòu)

容器安全防護方案采用模塊化和分層設計,通過與容器運行環(huán)境進行對接,實時獲取容器環(huán)境中的鏡像和容器等對象的相關信息,利用各種安全能力進行監(jiān)控和分析,進行統(tǒng)一的安全管理,最后通過圖形化方式為用戶展示容器環(huán)境的安全態(tài)勢。

圖5 容器安全防護架構(gòu)

安全管理層:負責安全管理功能,包括容器環(huán)境的資產(chǎn)管理、策略管理和安全能力管理等,通過安全能力適配將各種管理信息下發(fā)給各種安全能力,以及收集各種安全信息,經(jīng)集中分析和處理后,集中對用戶展示容器環(huán)境的主機、容器、鏡像和網(wǎng)絡等對象的安全狀態(tài)。

安全能力層:負責提供具體安全能力,為容器環(huán)境提供安全保護,安全能力涉及系統(tǒng)安全掃描、鏡像文件分析、惡意文件分析、入侵檢測和微隔離等。

運行環(huán)境層:負責提供容器鏡像、容器編排管理等功能,以及運行應用程序的容器,并與容器能力層進行交互,共同實現(xiàn)容器安全防護。

容器全生命周期保護

根據(jù)容器安全防護架構(gòu),本方案將各種安全能力與DevOps流水線相結(jié)合,從持續(xù)集成/持續(xù)部署和運行時進行安全防護,為容器提供構(gòu)建、部署和運行的全生命周期保護,最終實現(xiàn)應用系統(tǒng)的安全運行。

圖6 容器全生命周期保護

構(gòu)建安全

在應用程序構(gòu)建階段,通過與CI/CD流水線集成,分析構(gòu)建鏡像時所使用的命令和配置參數(shù),還原鏡像文件構(gòu)建過程,掌握命令使用的敏感操作,以及分析鏡像文件是否包含密碼、令牌、密鑰和用戶機密信息等敏感信息。同時,分析鏡像的軟件組成,發(fā)現(xiàn)鏡像文件中包含的惡意文件、病毒和木馬,以及所使用的依賴庫和組件存在的安全漏洞,避免帶病交付。

部署安全

分析鏡像無風險后,鏡像被提交至鏡像倉庫。在該階段,將檢查容器環(huán)境的鏡像倉庫配置,確保使用加密方式連接鏡像倉庫。通過與Kubernetes聯(lián)動,當鏡像倉庫中新增鏡像或使用鏡像創(chuàng)建容器時,自動化校驗鏡像簽名或MD5值,確保鏡像來源可信且未被篡改,一旦發(fā)現(xiàn)鏡像來源不可信或被篡改,禁止使用該鏡像創(chuàng)建容器。

運行安全

當確認鏡像安全后,進入到容器運行階段。在該階段利用系統(tǒng)安全掃描能力,基于Docker和Kubernetes CIS 基線,對主機和容器編排工具Kubernetes進行合規(guī)性檢查,檢查范圍包括主機安全配置、Docker守護進程配置、Docker守護程序配置文件、容器鏡像和構(gòu)建、容器運行安全和Docker安全操作等,確保容器運行環(huán)境安全。

同時,利用微隔離對容器進行網(wǎng)絡隔離,通過入侵檢測能力實時監(jiān)測容器運行狀態(tài),監(jiān)測對象包括容器內(nèi)運行進程(如netlink socket、perf event和eBPF)和文件系統(tǒng),以及主機環(huán)境的權(quán)限提升和破壞容器隔離性等行為。當發(fā)現(xiàn)容器運行異常時,利用訪問控制機制限制容器進一步的行為和通信。

結(jié)語

伴隨著云原生應用發(fā)展,企業(yè)通過微服務來交付應用系統(tǒng)的比例在增加,容器安全也將不僅僅是容器自身和容器環(huán)境安全,將延伸到微服務安全和應用安全,企業(yè)在應用云原生技術(shù)時,應整體考慮容器安全,讓安全與云原生相融合,更好的保護應用系統(tǒng)。


網(wǎng)頁名稱:云原生時代,如何“玩轉(zhuǎn)”容器安全?
本文路徑:http://www.dlmjj.cn/article/djjsghd.html