999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Docker 容器安全的分析研究*

2020-12-23 00:28:38涂俊亮
通信技術 2020年12期
關鍵詞:機制服務

陳 偉,涂俊亮

(中國電子科技集團公司第三十研究所,四川 成都 610041)

0 引言

云計算作為最近幾年計算機與互聯網界的焦點,得到了眾多企業和科研機構的青睞。虛擬化技術作為云計算的關鍵技術[1],隨著云計算的使用也得到了迅速發展。虛擬化,是指通過虛擬化技術將一臺計算機虛擬為多臺邏輯計算機[2]。虛擬化既可以通過硬件模擬來實現,也可以通過操作系統來實現。目前主流的虛擬化技術如XEN、VMware 以及KVM 都是基于虛擬機的平臺虛擬化技術[3]。這些方案通常因為虛擬機鏡像普遍較大、需要自己獨立的完整的操作系統(GuestOS)、占用的硬件資源多等特點,對于大規模的集群部署適應性較差。

Docker 是基于Go 語言實現的云開源項目,誕生于2013 年初[4]。作為一種輕量級的虛擬化技術,Docker 在運行應用上和傳統的虛擬機方式相比有顯著的優勢[5]:①Docker 容器運行很快,啟動和停止可以在秒級實現,相比傳統的虛擬機方式要快很多。②Docker 容器對系統的資源需求很少,一臺宿主機可以運行多達數千個的容器,這在傳統虛擬機是不可想象的。③Docker 通過Dockerfile 配置文件來支持靈活的自動化創建和部署機制,提高效率[6]。

隨著Docker 容器技術的大量使用,如何確保Docker 容器的安全被看做Docker 容器使用的關鍵。

1 Docker 安全性分析

Docker 是Linux 操作系統層面的虛擬化實現,其本質和運行在Linux 上的進程沒有區別。目前Docker 容器的安全性其本質上依賴于Linux 系統本身[7]。Docker 的安全主要通過以下幾個方面實現:①Linux內核的命名空間機制提供的容器隔離安全。通過命名空間機制,可以使運行在同一臺宿主機上的Docker 容器中的程序不會受到相互之間的影響,且有自己獨有的網絡棧不會被其他容器訪問。②Linux 控制組機制對容器資源的控制能力安全。Linux 控制組機制可以確保同一臺宿主機上的容器公平地分配宿主機的CPU、磁盤和內存等資源,控制組機制也會保證容器發生異常時不會影響宿主機和其他容器的正常運行。③Linux 內核的能力機制所帶來的操作權限安全。Linux 提供了更加粒度化的權限訪問控制,為保證容器的安全,我們使用Docker 容器時將會對容器的權限做出嚴格的限制,限制其只能使用容器功能所需的最小權限。

雖然Docker 已經在安全方面做出了諸多限制,但在使用中Docker 受制于自身缺陷存在以下幾大類的風險。

圖1 容器安全風險概括

1.1 鏡像安全風險

Docker 鏡像是Docker 容器的靜態表現形式,容器運行時的安全取決于Docker 鏡像的安全。Docker hub 作為Docker 官方鏡像倉庫,其中的Docker 鏡像對上傳者缺乏完善的監管,其版本、質量和安全對于使用者處于不可控狀態。

在Dockerfile 中如果不指定USER,Docker 將以root 權限運行該容器,如果被攻擊可能會導致宿主機的root 權限被獲取。Dockerfile 中使用涉及密碼、密鑰等信息,一旦被攻擊將會導致數據泄露。

使用來源不安全的鏡像,將導致Docker 容器出現不可控的安全風險。

1.2 容器虛擬化安全風險

與傳統虛擬機相比,Docker 容器沒有獨立的資源配置,沒有在系統內核層面進行資源隔離,因此存在資源隔離與資源限制不徹底的潛在風險。

(1)容器隔離問題

Docker 容器和宿主機共享操作系統內核,Docker 容器與宿主機上其他容器或宿主機之間存在文件系統隔離、進程隔離和進程間通信隔離不到位的潛在風險。

Docker 容器隔離安全風險問題主要存在以下兩種情況:①攻擊者直接攻擊操作系統內核,造成宿主機上Docker 容器出現安全風險。②攻擊者通過控制某一個Docker 容器訪問宿主機或其他容器非法獲取數據。

(2)容器逃逸問題

容器逃逸攻擊指的是攻擊者通過非法手段獲取root 權限,獲得宿主機或其他容器某種權利下的命令執行能力,影響宿主機或其他容器的運行安全。

(3)拒絕服務攻擊

Docker 容器與宿主機共享CPU、內存、磁盤空間等硬件資源,如果不對Docker 容器使用宿主機資源做出限制,攻擊者可通過挾持某個容器,使其耗盡宿主機的硬件資源達到使宿主機或其他容器暫停甚至死機的目的。

1.3 網絡安全風險

Docker 容器網絡安全一直是容器使用中面臨的巨大問題之一。Docker 網絡由于其特殊的網絡環境,相比于傳統的網絡安全更加嚴峻。

(1)容器網絡攻擊

Docker 容器有多種組網模式,提供了容器間通信、跨主機容器間通信、容器集群網絡等功能。下面就幾種主流的組網模式分析其潛在的網絡安全風險。

橋接模式是Docker 默認采用橋接網絡模式,橋接模式會在宿主機上創建一個docker0虛擬網橋,并將宿主機上所有采用這種模式的Docker 容器連接在docker0 網橋上,在這種模式下所有的Docker 容器都是互相可達的。橋接模式雖然對容器間互相訪問提供了便利,但是由于缺乏安全的管理機制,攻擊者可通過廣播風暴、嗅探、ARP 欺詐等攻擊手段,影響宿主機和其他容器的安全。

MacVLAN 是Docker 容器的網卡虛擬方案,在多租戶場景下,為每個租戶單獨虛擬出獨自的網絡從而達到隔離的目的。但由于同一虛擬網絡環境下Docker 容器之間沒有控制訪問權限,攻擊者仍可以通過廣播風暴、嗅探、ARP 欺詐等攻擊手段,影響宿主機和其他容器的安全。

Overlay 網絡作為目前最主流的跨主機數據傳輸和路由方案,主要用于搭建跨主機的容器集群網絡。和上面兩種組網模式一樣,由于缺乏訪問權限控制,Overlay 仍然存在安全風險。

因此,不管使用哪種組網模式,都存在容器間互相攻擊的安全風險。

1.4 容器服務穩定風險

Docker 容器在提供服務時往往需要提供7×24的穩定服務,攻擊者可能會從Docker 容器外部以及內部對服務發起攻擊,造成服務不可用。

(1)容器內部服務穩定問題

Docker 容器內部服務進程,可能在受到自身程序穩定或外界惡意攻擊時停止運行,導致服務暫停,在生產環境中造成損失。

(2)容器運行穩定問題

Docker 容器運行在宿主機上時,可能因為外界惡意攻擊被關閉或者刪除掉,導致無法提供服務。

2 Docker 安全機制實現

2.1 容器鏡像安全機制

為保證Docker 容器鏡像的安全性,從官方鏡像倉庫獲取到公共最小基礎鏡像后,需要使用安全掃描工具對下載的鏡像進行安全掃描,目前使用較多的工具包括Docker Security Scanning、Clair 和Trivy 等,可檢測鏡像中軟件含有CVE 漏洞。

在生成可控的容器鏡像之后為方便鏡像的管理,需要搭建可控的私有鏡像倉庫。需要確保鏡像倉庫不被外界公網所訪問,在拉取鏡像過程中采用內容校驗機制解決中途容器鏡像被篡改。

為確保Docker 容器中可執行文件和配置文件是可信的,在Docker 容器每次啟動前對可執行文件和配置文件進行CRC32 校驗,只有校驗成功才能啟動Docker 容器。假設可執行文件及關鍵配置文件分別為F1,F2,...Fn,Docker 容器程序部署好之后計算一次所有可執行文件及關鍵配置文件的校驗值C1,并對校驗值進行加密保存。Docker 容器啟動前對所有可執行文件及關鍵配置文件再次計算校驗值C2,比對兩次的校驗值。

流程設計如圖2 所示:

2.2 容器虛擬化安全機制

在容器架構中,在已有的Cgroups、Namespace和內核能力機制上可通過增強操作系統內核層面的相關機制達到Docker 容器安全的資源管理。

(1)資源隔離與限制

Cgroups 對Docker 容器的CPU、內存和磁盤I/O 速度等資源項已經做出了限制,為防止某個容器耗盡宿主機上的硬件資源。在容器啟動時,可以使用CPU、Memory、Device 參數對CPU 使用率、內存占用率、磁盤讀寫速率進行限制。

圖2 容器鏡像啟動流程

對磁盤使用容量限制,為每個容器創建單獨用戶,限制每個用戶的磁盤使用量。使用XFS 等文件系統目錄進行磁盤使用量限制。為每個容器創建固定大小的虛擬文件系統。

(2)強制訪問控制

通過SELinux 機制實現Docker 容器對宿主機資源的訪問限制,在啟動Docker 容器時可通過docker daemon --selinux-enabled=true 命令啟動SELinux。

2.3 容器網絡安全機制

(1)容器流量限制

在生產環境中宿主機通常會部署成百上千個Docker 容器為多租戶提供服務,為避免個別容器搶占絕大部分的帶寬,導致其他Docker 容器服務不可用,采用Linux 的流量控制模塊traffic controller 對容器網絡進行流量限制。

(2)白名單訪問控制

為防止惡意的網絡攻擊,保證Docker 容器的網絡安全,可以通過配置白名單策略實現網絡訪問控制。白名單的訪問策略,可以由Linux 自帶的防火墻機制實現。

(3)禁止容器間通信

當Docker 容器單獨提供服務而不需要多個Docker 容器組成微服務時。為防止Docker 容器間惡意攻擊需要禁止容器間通信,可通過命令dockerd--icc=false 完成設置。

2.4 容器服務程序安全機制

Docker 容器最主要的功能就是提供健壯、穩定的輕量級虛擬化服務。為保證Docker 容器內服務程序的穩定性,在容器內可由看門狗程序進行定期檢查。同時,可以建立一個容器管理中心,定期接收容器內心跳程序發來的心跳數據,并根據接收情況進行處理。

(1)看門狗程序

“看門狗”程序主要用作Docker 內服務的啟動和檢查工作。其主要工作流程如圖3 所示。

步驟1:啟動容器內服務程序。

步驟2:定期檢查服務程序的狀態,發現服務程序掛掉后,上報記錄問題到管理模塊,重新啟動服務程序。

步驟3:等待下一次檢查。

(2)心跳程序

通過實現Docker 容器內心跳進程,向管理中心定期發送心跳和運行數據,達到容器內資源監聽等目的。其主要流程如圖4 所示。

圖3 看門狗程序執行流程

圖4 心跳處理流程

步驟1:Docker 容器內心跳進程,定期向管理中心發送Docker 容器CPU、內存使用率等數據。

步驟2:管理中心接收Docker 發送的數據,對數據進行記錄,若容器CPU、內存等數據長期超過設定的安全值,則需要對該Docker 容器進行檢查和資源重新分配。

步驟3:管理中心在超時時間內未接收到Docker 容器內心跳進程發送的數據。發送ICMP 包到Docker 容器,若容器無返回,則通知宿主機刪除該容器并重新創建。

步驟4:ICMP 包返回,則進一步通過IP 地址和端口執行TCP 檢查,接收返回的檢查結果,若檢查結果成功則表示Docker 容器可用,否則通知宿主機刪除該容器并重新創建。

3 結語

本文通過分析Docker 容器在使用中可能遇到的安全風險,給出了解決方案。在Docker 容器生產部署時,應全面考慮可能出現的安全風險,根據部署場景給出對應的安全需求分析,并結合Docker容器的安全解決方案,形成容器安全應用最佳實踐。

猜你喜歡
機制服務
構建“不敢腐、不能腐、不想腐”機制的思考
服務在身邊 健康每一天
今日農業(2019年14期)2019-09-18 01:21:54
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年15期)2019-01-03 12:11:33
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
自制力是一種很好的篩選機制
文苑(2018年21期)2018-11-09 01:23:06
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
定向培養 還需完善安置機制
中國衛生(2016年9期)2016-11-12 13:28:08
破除舊機制要分步推進
中國衛生(2015年9期)2015-11-10 03:11:12
主站蜘蛛池模板: 日韩小视频网站hq| 中文字幕资源站| 国产国拍精品视频免费看| 日本黄色a视频| 欧美第九页| 毛片在线播放a| 日韩天堂在线观看| 亚洲中字无码AV电影在线观看| 午夜丁香婷婷| 无码人中文字幕| 亚洲精品波多野结衣| 亚洲永久色| 在线精品亚洲一区二区古装| 国产欧美视频综合二区| 国产高清免费午夜在线视频| 国产成人91精品| 亚洲天堂视频网站| 免费高清a毛片| 波多野结衣中文字幕一区| 亚洲色婷婷一区二区| 精品视频一区二区观看| 亚洲精品视频免费看| 久草视频精品| 免费人成网站在线高清| 中字无码av在线电影| 青青草原偷拍视频| 五月天福利视频| 欧美中文字幕一区| 香蕉伊思人视频| 日本成人精品视频| 天天综合色网| 亚洲成AV人手机在线观看网站| 在线观看国产网址你懂的| 日韩AV手机在线观看蜜芽| 波多野结衣在线一区二区| 欧美啪啪精品| 亚国产欧美在线人成| 成人在线综合| 免费日韩在线视频| 免费无遮挡AV| 久久免费视频播放| 亚洲美女高潮久久久久久久| 天堂成人av| 久久婷婷五月综合色一区二区| 啊嗯不日本网站| 日本午夜在线视频| 日本亚洲最大的色成网站www| 国产日韩欧美精品区性色| 青草视频久久| 超碰aⅴ人人做人人爽欧美 | 欧美成人精品一区二区 | 免费一级成人毛片| 午夜一级做a爰片久久毛片| 免费国产黄线在线观看| av午夜福利一片免费看| 欧美日韩成人在线观看 | 精品视频一区二区观看| 男人天堂亚洲天堂| 国产一国产一有一级毛片视频| 亚洲中文字幕97久久精品少妇| 91精品最新国内在线播放| 另类重口100页在线播放| 日韩精品无码免费一区二区三区| 久久精品只有这里有| 日韩欧美成人高清在线观看| 国产成人综合网| 精品国产香蕉伊思人在线| 色婷婷综合激情视频免费看| 欧美日韩精品在线播放| 美女扒开下面流白浆在线试听 | 亚洲区一区| 国产婬乱a一级毛片多女| а∨天堂一区中文字幕| 国产91高跟丝袜| 国产自无码视频在线观看| 成人第一页| 这里只有精品在线播放| 欧美日韩高清| 欧美中文字幕在线视频| 亚洲aaa视频| 国产区成人精品视频| 国产精品内射视频|