亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Docker容器安全管控技術(shù)研究

        2020-12-30 04:01:29蘇軍
        關(guān)鍵詞:安全性檢測信息

        ◆蘇軍

        操作系統(tǒng)、網(wǎng)絡(luò)體系與服務(wù)器技術(shù)

        Docker容器安全管控技術(shù)研究

        ◆蘇軍

        (菏澤學(xué)院 山東 274000)

        開發(fā)者可以利用Docker容器技術(shù)將應(yīng)用和運(yùn)行環(huán)境打包成鏡像,使應(yīng)用程序可以在宿主機(jī)中獨(dú)立運(yùn)行,具有更高的運(yùn)行效率和資源利用率。但是其在安全性方面還有很大的不足。本文對Docker容器在鏡像安全、運(yùn)行安全和入侵檢測等方面的風(fēng)險(xiǎn)進(jìn)行了分析,并探討了具有針對性的安全管控技術(shù)。

        Docker;容器;虛擬化

        Docker容器是一個(gè)開源的應(yīng)用容器引擎,可以讓開發(fā)人員將開發(fā)的應(yīng)用和依賴包打包在一起,然后發(fā)布到安裝有Docker引擎的服務(wù)器上[1]。Docker容器不依賴任何開發(fā)語言和操作系統(tǒng),解決了部署環(huán)境依賴問題,是一種輕量級的虛擬化技術(shù),性能開銷極低,極大地提高了開發(fā)者的工作效率,在數(shù)據(jù)中心等云部署領(lǐng)域中得到了廣泛的應(yīng)用。

        由于Docker容器是應(yīng)用于基礎(chǔ)設(shè)施和運(yùn)行平臺(tái)之間的一種虛擬化技術(shù),容器的運(yùn)行需要設(shè)計(jì)從鏡像到運(yùn)行整個(gè)過程的安全方案[2],過程中存在鏡像源安全性、運(yùn)行安全、容器入侵等安全性問題,這是傳統(tǒng)的網(wǎng)絡(luò)安全方案不能解決的。

        1 Docker容器安全問題

        1.1 鏡像源安全

        Docker官方鏡像倉庫為Docker Hub,倉庫內(nèi)有應(yīng)用的官方來源,同時(shí)也允許第三方組織和個(gè)人上傳已經(jīng)配置的應(yīng)用[3]。這在帶來便捷性的同時(shí),也存在一定的安全風(fēng)險(xiǎn)。如開發(fā)人員編寫的代碼存在漏洞,被植入木馬,Dockerfile添加惡意腳本等。當(dāng)入侵者攻擊并控制宿主機(jī)上的容器以后,可利用容器為跳板對宿主機(jī)進(jìn)行攻擊[4]。

        1.2 容器運(yùn)行安全

        除了鏡像自身安全性問題,不安全的運(yùn)行環(huán)境同樣會(huì)給Docker的使用帶來風(fēng)險(xiǎn)。如Linux或Windows系統(tǒng)存在漏洞等。另外Docker在平臺(tái)運(yùn)行時(shí)重要的系統(tǒng)文件并沒有實(shí)現(xiàn)平臺(tái)與容器完全隔離,容器可以獲取到這些信息并造成信息外露,被攻擊者所利用。

        1.3 容器網(wǎng)絡(luò)安全

        由于Docker采用橋接模式,和宿主機(jī)直接相連,容器內(nèi)部的數(shù)據(jù)可以通過橋接網(wǎng)絡(luò)到達(dá)容器的默認(rèn)網(wǎng)關(guān)。攻擊者可以利用有漏洞的或設(shè)置后門的容器對宿主機(jī)內(nèi)的其他容器進(jìn)行信息收集,發(fā)起容器入侵、DoS攻擊等。

        2 Docker容器安全管控

        2.1 鏡像安全檢測

        (1)鏡像漏洞掃描

        由于鏡像中的系統(tǒng)內(nèi)核和應(yīng)用可能包含漏洞,使用前需要對鏡像進(jìn)行漏洞掃描??蛻舳送瓿社R像制作,將鏡像上傳倉庫以后,可以使用支持鏡像分析的開源項(xiàng)目Clair進(jìn)行漏洞掃描。

        Clair針對用戶上傳鏡像的URL和客戶端的Token等參數(shù)向倉庫下載鏡像層,校驗(yàn)每層的Parent Name,讀取鏡像層的文件內(nèi)容,遍歷文件目錄,查找操作系統(tǒng)的文件路徑,獲取系統(tǒng)版本信息,提取鏡像中已安裝的軟件包信息。

        Clair將得到的鏡像層信息存入PostgreSQL數(shù)據(jù)庫,然后將當(dāng)前鏡像系統(tǒng)和軟件包版本信息與保存有漏洞信息的CVE數(shù)據(jù)庫進(jìn)行比對,輸出包含漏洞信息的結(jié)果。

        (2)鏡像惡意代碼掃描

        Clair可以利用CVE漏洞庫掃描Docker鏡像的漏洞,但是如果攻擊者使用無漏洞的官方鏡像,然后在鏡像安裝木馬和后門,Clair就不能檢測到安全威脅。針對這種情況,可以使用Anchore_Engine來對Docker鏡像進(jìn)行安全掃描。Anchore_Engine可以提供對Docker鏡像檢查、分析和認(rèn)證的服務(wù)。在運(yùn)行環(huán)境中部署Anchore_Engine,可以在容器注冊中心下載并分析容器鏡像,并可以根據(jù)用戶需求的策略對鏡像進(jìn)行評估,執(zhí)行安全性、合規(guī)性和最佳實(shí)踐檢查。

        Anchore_Engine可以通過Docker容器鏡像的方式獨(dú)立或交互式運(yùn)行,也可以在Kubernetes、Docker Swarm和Amazon ECS等容器業(yè)務(wù)平臺(tái)上運(yùn)行,通過RESTful API為集成組件嵌入現(xiàn)有的容器監(jiān)控和控制框架。

        與Clair不同的是,Anchore_Engine重點(diǎn)在于對鏡像的審計(jì),有著很強(qiáng)的鏡像解析能力,對鏡像提取盡量多的元數(shù)據(jù),并可對鏡像進(jìn)行自定義策略評估。

        (3)鏡像人工檢測

        Docker鏡像是容器的模板,涉及的攻擊范圍非常廣,而且有的安全風(fēng)險(xiǎn)很難被Clair和Anchore_Engine掃描器所發(fā)現(xiàn),所以Docker鏡像掃描不能完全保障Docker鏡像的安全性,可以結(jié)合人工檢測的方法,如使用“Docker inspect”和“Docker history”等命令查看鏡像的信息,對Dockerfile進(jìn)行分析等。

        2.2 Docker容器資源隔離

        完成鏡像檢測以后,容器的運(yùn)行則需要安全控制,資源隔離在實(shí)現(xiàn)輕量級虛擬化的服務(wù)的同時(shí),也提高了容器之間的安全性,可通過namespace來實(shí)現(xiàn),包括Mount、UTS、IPC、PID、Network和User。

        (1)Mount

        Mount namespace通過隔離文件系統(tǒng)掛載點(diǎn)實(shí)現(xiàn)文件系統(tǒng)的隔離,不同的Mount namespace中的文件結(jié)構(gòu)即使發(fā)生變化也不會(huì)相互影響。在部署Mount namespace時(shí),會(huì)把當(dāng)前的文件結(jié)構(gòu)復(fù)制給新的namespace,里面的操作只影響內(nèi)部的文件系統(tǒng),實(shí)現(xiàn)了嚴(yán)格隔離。Mount在某些特殊情況下不能使用,比如父節(jié)點(diǎn)namespace中的進(jìn)程掛載外部存儲(chǔ)器,子節(jié)點(diǎn)namespace復(fù)制的目錄結(jié)構(gòu)就不能實(shí)現(xiàn)自動(dòng)掛載。

        (2)UTS

        UTS namespace用來實(shí)現(xiàn)對容器主機(jī)名和域名的隔離,同時(shí)保存內(nèi)核、版本和底層結(jié)構(gòu)類型等信息。用戶在容器中查看到的是當(dāng)前容器的系統(tǒng)信息,而不能查看宿主機(jī)的系統(tǒng)信息。宿主機(jī)的內(nèi)核通過UTS namespace對多個(gè)容器進(jìn)行統(tǒng)一管理,來實(shí)現(xiàn)容器之間主機(jī)域名等信息的隔離。

        (3)IPC

        IPC namespace用來隔離進(jìn)程間的資源,使容器進(jìn)程之間無法通過信號(hào)量、共享內(nèi)存和消息隊(duì)列方式進(jìn)行通信。容器進(jìn)程運(yùn)行時(shí)向宿主機(jī)申請IPC資源,包含系統(tǒng)IPC標(biāo)識(shí)符和實(shí)現(xiàn)POSIX消息隊(duì)列的文件系統(tǒng)。Docker利用IPC namespace可以實(shí)現(xiàn)容器和宿主機(jī)以及容器之間的IPC隔離。

        (4)PID

        PID namespace中的進(jìn)程有獨(dú)立的PID,包括容器中的PID和宿主機(jī)上的PID,namespace中的PID和宿主機(jī)無關(guān),每個(gè)PID namespace都有自己的計(jì)數(shù)程序,并形成一個(gè)層級體系。父節(jié)點(diǎn)可以查看子節(jié)點(diǎn)進(jìn)程,并可以通過信號(hào)等方式終止子節(jié)點(diǎn)的進(jìn)程,而子節(jié)點(diǎn)看不到父節(jié)點(diǎn)的內(nèi)容,從而實(shí)現(xiàn)了進(jìn)程隔離,并有利于資源控制。

        (5)Network

        Network namespace實(shí)現(xiàn)網(wǎng)絡(luò)資源的隔離,使得每個(gè)Docker容器擁有獨(dú)立的網(wǎng)絡(luò)設(shè)備、IP地址、IP路由表、/proc/net目錄和端口號(hào)等。一個(gè)物理網(wǎng)絡(luò)設(shè)備最多存在于一個(gè)Network namespace中,通過類似于管道的虛擬網(wǎng)絡(luò)設(shè)備實(shí)現(xiàn)不同Network namespace之間通信。

        (6)User

        User namespace使不同的Docker容器有完全不同的uid和gid,可以在容器中創(chuàng)建root用戶,而不需要在宿主機(jī)上創(chuàng)建。其中的Capability機(jī)制可根據(jù)特定用戶的權(quán)限選擇使用或禁止,進(jìn)一步提高了容器的安全性。

        2.3 Docker容器資源限制

        Docker可以使用系統(tǒng)內(nèi)核提供的Cgroup對宿主機(jī)的不同容器使用的資源進(jìn)行審計(jì),包括對CPU、內(nèi)存等資源進(jìn)行均衡配置,保證宿主機(jī)對容器服務(wù)的合法要求進(jìn)行響應(yīng)。Docker還可以針對容器創(chuàng)建對應(yīng)的用戶,使用quota技術(shù)對容器使用的磁盤存儲(chǔ)進(jìn)行配額限制。

        在容器運(yùn)行時(shí),也可以啟用SELinux強(qiáng)制訪問控制,使容器只能訪問運(yùn)行任務(wù)所需的文件資源,從而對Docker容器訪問宿主機(jī)的行為進(jìn)行控制。

        2.4 Docker容器入侵檢測

        容器運(yùn)行時(shí),要采取防范入侵措施,保證容器運(yùn)行的安全性??梢圆扇θ萜餍阅苤笜?biāo)進(jìn)行監(jiān)控的方式來進(jìn)行報(bào)警和應(yīng)急響應(yīng)。

        全虛擬化容器是實(shí)現(xiàn)容器入侵檢測的一種方案,包含傳統(tǒng)單體應(yīng)用和微服務(wù)架構(gòu)應(yīng)用。其中,微服務(wù)架構(gòu)有著單個(gè)微服務(wù)啟動(dòng)快,易于開發(fā)維護(hù),部分修改易部署等顯著優(yōu)點(diǎn)。

        微服務(wù)架構(gòu)包含了較多的Docker容器,網(wǎng)絡(luò)結(jié)構(gòu)相對復(fù)雜。使用Kubernetes可以對容器進(jìn)行有效編排,其提供的原生網(wǎng)絡(luò)策略NetworkPolicy可以提供IP/Port等級的網(wǎng)絡(luò)隔離[5]。其中,在Web應(yīng)用的認(rèn)證鑒權(quán)方面可通過使用網(wǎng)關(guān)鑒權(quán)或服務(wù)自主鑒權(quán)模式降低容器之間互相惡意訪問。同時(shí),也可以在容器集群內(nèi)部署網(wǎng)關(guān)容器和蜜罐容器對容器集群進(jìn)行入侵防護(hù)。

        另外,利用iptables隔離策略可以限制攻擊者對宿主機(jī)的訪問,利用Docker集群網(wǎng)絡(luò)隔離策略防范攻擊者竊聽其他容器網(wǎng)絡(luò)流量,網(wǎng)絡(luò)流量可視化策略對指定的網(wǎng)絡(luò)進(jìn)行深度報(bào)文分析,這些策略對容器入侵可以起到重要的防范作用。

        3 結(jié)束語

        Docker容器技術(shù)在虛擬化、云計(jì)算、DevOps等領(lǐng)域得到越來越廣泛的應(yīng)用,但是在容器生命周期的各個(gè)階段都可能會(huì)出現(xiàn)安全問題。本文針對這些安全問題進(jìn)行了分析,并探討了鏡像安全檢測、容器運(yùn)行控制、容器入侵檢測等技術(shù)。在以后的應(yīng)用中,應(yīng)進(jìn)一步針對系統(tǒng)部署安全需求,定制安全策略,形成容器安全應(yīng)用的最佳方案。

        [1]楊保華,戴王劍,曹亞侖.Docker技術(shù)入門與實(shí)戰(zhàn)[M].北京:機(jī)械工業(yè)出版社,2017.

        [2]郭甲戌,胡曉勤.基于Docker的虛擬化技術(shù)研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2017(10):28-29.

        [3]王鵑,胡威,張雨菡.基于Docker的可信容器[J].武漢大學(xué)學(xué)報(bào):理學(xué)版,2017,63(2):102-108.

        [4]魯濤,陳杰,史軍.Docker安全性研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2018,28(06):115-120.

        [5]劉淵,喬巍.云環(huán)境下基于Kubernetes集群系統(tǒng)的容器網(wǎng)絡(luò)研究與優(yōu)化[J].信息網(wǎng)絡(luò)安全,2020(03):36-44.

        猜你喜歡
        安全性檢測信息
        兩款輸液泵的輸血安全性評估
        新染料可提高電動(dòng)汽車安全性
        “不等式”檢測題
        “一元一次不等式”檢測題
        “一元一次不等式組”檢測題
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        ApplePay橫空出世 安全性遭受質(zhì)疑 拿什么保護(hù)你,我的蘋果支付?
        小波變換在PCB缺陷檢測中的應(yīng)用
        Imagination發(fā)布可實(shí)現(xiàn)下一代SoC安全性的OmniShield技術(shù)
        展會(huì)信息
        亚洲人成网站18禁止久久影院| h视频在线免费观看视频| 少妇被粗大进猛进出处故事| 久久天天躁狠狠躁夜夜avapp| 处破痛哭a√18成年片免费| 春色成人在线一区av| 综合久久加勒比天然素人| 亚洲成人av一二三四区| 亚洲色婷婷一区二区三区| 色丁香在线观看| 天堂av在线播放观看| av在线观看免费天堂| 亚洲中文久久精品无码| 亚洲成a人片在线看| 国产在线观看精品一区二区三区| 视频国产自拍在线观看| 99无码熟妇丰满人妻啪啪| 国产成人综合久久精品免费| 亚洲中字幕永久在线观看| 亚洲一区二区三区在线激情| 久久久久亚洲av成人人电影| 人妻少妇精品专区性色av| 国产精品原创av片国产日韩| 中文字幕亚洲乱码熟女1区2区| 亚洲综合欧美色五月俺也去 | 中文字幕av长濑麻美| 一边做一边喷17p亚洲乱妇50p| 国内精品九九久久久精品| 伊人影院在线观看不卡| 精品人妻久久一区二区三区| 成人性生交大片免费看96| 精品免费福利视频| 日本特殊按摩在线观看| 极品少妇xxxx精品少妇偷拍| 亚洲国产长腿丝袜av天堂| 男女好痛好深好爽视频一区| 国产我不卡在线观看免费| 97se亚洲国产综合在线| 免费的成年私人影院网站| 中文字幕无线精品亚洲乱码一区| 人妻少妇精品视频专区vr|