日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

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

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

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

安全

云安全

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

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

引言

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

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

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

容器技術(shù)風(fēng)險

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

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

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

不安全的鏡像

鏡像是一個包含應(yīng)用/服務(wù)運(yùn)行所必需的操作系統(tǒng)和應(yī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)建容器后,將會影響容器和應(yīng)用程序的安全。

東西向攻擊

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

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

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

容器安全應(yīng)對舉措

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

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

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

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

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

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

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

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

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

安全容器

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

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

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

鏡像安全分析

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

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

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

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

微隔離

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

運(yùn)行環(huán)境加固

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

容器安全實(shí)踐

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

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

總體架構(gòu)

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

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

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

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

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

容器全生命周期保護(hù)

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

圖6 容器全生命周期保護(hù)

構(gòu)建安全

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

部署安全

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

運(yùn)行安全

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

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

結(jié)語

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


分享標(biāo)題:云原生時代,如何“玩轉(zhuǎn)”容器安全?
當(dāng)前URL:http://m.5511xx.com/article/djjsghd.html