国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

高校數(shù)據(jù)中心Docker容器應(yīng)用的安全體系設(shè)計

2019-06-05 02:39:40謝超群
關(guān)鍵詞:安全漏洞安全措施鏡像

◆謝超群

高校數(shù)據(jù)中心Docker容器應(yīng)用的安全體系設(shè)計

◆謝超群

(福建中醫(yī)藥大學(xué)現(xiàn)代教育技術(shù)中心 福建 350000)

隨著信息化的發(fā)展,高校數(shù)據(jù)中心中基于Docker容器技術(shù)的各種微應(yīng)用越來越多,學(xué)校數(shù)據(jù)中心面臨著由容器技術(shù)所帶來的各種安全問題。本文結(jié)合高校數(shù)據(jù)中心Docker容器應(yīng)用的安全情況,從Docker容器生命周期的各個環(huán)節(jié)全面分析Docker容器技術(shù)的安全漏洞,提出了每個環(huán)節(jié)的安全措施,建立了一套Docker容器安全問題的安全防護(hù)體系。實(shí)踐證明該安全體系能解決數(shù)據(jù)中心Docker容器的大多數(shù)安全問題,提高了高校數(shù)據(jù)中心的信息化安全水平。

Docker;容器技術(shù);安全;數(shù)據(jù)中心

0 引言

隨著高校信息化的不斷深入,高校數(shù)據(jù)中心業(yè)務(wù)系統(tǒng)采用微服務(wù)容器架構(gòu)的越來越多。由于容器技術(shù)封裝應(yīng)用環(huán)境,可移植性強(qiáng),資源利用率高,相比傳統(tǒng)的業(yè)務(wù)應(yīng)用從安裝操作系統(tǒng)、中間件到應(yīng)用的復(fù)雜部署方式,容器技術(shù)從應(yīng)用開發(fā)、發(fā)布和部署都更加快速、靈活。目前容器技術(shù)已經(jīng)廣泛應(yīng)用到高校數(shù)據(jù)中心的應(yīng)用部署中,由于Docker是開源新技術(shù),對比傳統(tǒng)的虛擬化技術(shù)其隔離性更差,安全風(fēng)險點(diǎn)也不少,從應(yīng)用的開發(fā)、應(yīng)用容器鏡像的制作和發(fā)布、應(yīng)用容器的部署和運(yùn)行都存在潛在的安全風(fēng)險,因此需要從這些風(fēng)險點(diǎn)構(gòu)建一套安全體系來保障高校數(shù)據(jù)中心的容器應(yīng)用安全。

1 Docker容器技術(shù)安全風(fēng)險分析

Docker容器技術(shù)的應(yīng)用生命周期,包括從應(yīng)用的開發(fā),應(yīng)用容器鏡像的制作和發(fā)布,應(yīng)用容器的部署和運(yùn)行。Docker容器技術(shù)的安全風(fēng)險在容器應(yīng)用的生命周期每個環(huán)節(jié)都有可能存在,Docker容器技術(shù)的安全風(fēng)險分析圖如圖1所示,下面將針對Docker容器技術(shù)在每個環(huán)節(jié)可能遇到的安全風(fēng)險進(jìn)行詳細(xì)分析。

在容器應(yīng)用開發(fā)的環(huán)節(jié),開發(fā)者在編碼時所寫的代碼存在安全漏洞,或者開發(fā)人員所使用的應(yīng)用開發(fā)環(huán)境存在安全漏洞,這樣當(dāng)這個軟件應(yīng)用和運(yùn)行環(huán)境打包成容器后就會帶有這些安全隱患,導(dǎo)致后期制作的容器鏡像以及鏡像生成容器在生產(chǎn)環(huán)境運(yùn)行時都會有可以被攻擊者利用的安全漏洞。攻擊者可以通過安全漏洞控制運(yùn)行的容器,甚至獲得宿主機(jī)的控制權(quán)限。

在應(yīng)用容器鏡像的制作和發(fā)布環(huán)節(jié),應(yīng)用鏡像的dockerfile可能被寫入惡意代碼,導(dǎo)致制作的鏡像在編譯時取得執(zhí)行任意代碼的運(yùn)行權(quán)限。同時應(yīng)用鏡像所打包的軟件應(yīng)用環(huán)境也可能存在漏洞,鏡像可能集成了有安全漏洞的操作系統(tǒng)和中間件,導(dǎo)致后期攻擊者可以利用這些漏洞提權(quán)。容器鏡像發(fā)布時,可能存在黑客在發(fā)布的鏡像中植入惡意程序和容器鏡像倉庫被攻陷,倉庫中的正常鏡像被改寫的風(fēng)險,從而導(dǎo)致用倉庫中的鏡像生成的容器應(yīng)用都會成為攻擊和控制的目標(biāo)[1]。

在應(yīng)用容器的部署和運(yùn)行環(huán)節(jié),首先Docker容器運(yùn)行的底層機(jī)制可能存在問題,比如Docker本身實(shí)現(xiàn)的代碼存在一定程度的缺陷,造成權(quán)限的惡意提升和利用。Docker是利用linux的內(nèi)核機(jī)制namespaces和cgroup來隔離容器和分配容器資源,但linux的隔離機(jī)制還不夠完善,存在關(guān)鍵系統(tǒng)目錄,系統(tǒng)時鐘等沒有被完全隔離的問題,有可能被攻擊者獲取到系統(tǒng)關(guān)鍵信息來進(jìn)行惡意攻擊。Docker容器運(yùn)行時由于一臺服務(wù)器上的容器共享底層linux的內(nèi)核,攻擊者可能會利用一個已經(jīng)被控制的容器執(zhí)行惡意代碼,導(dǎo)致底層linux的內(nèi)核崩潰,從而使所有服務(wù)器上容器都無法正常運(yùn)行。其次Docker容器部署時是基于容器的鏡像來生成容器,可能存部署的容器鏡像存在安全漏洞導(dǎo)致生成的容器也存在漏洞,從而被攻擊者利用漏洞提權(quán)和控制[2]。容器部署時也可能存在部署不當(dāng)而導(dǎo)致安全風(fēng)險的問題,比如當(dāng)部署啟動容器時,容器啟動選項(xiàng)使用參數(shù)-cap-add=sys_admin,導(dǎo)致啟動的容器獲得讀寫系統(tǒng)關(guān)鍵目錄的權(quán)限,并獲得修改某些內(nèi)核參數(shù)的權(quán)限,從而使攻擊者利用這些權(quán)限達(dá)到攻擊容器和宿主系統(tǒng)的目的。最后Docker容器運(yùn)行時的通訊采用的是生成宿主機(jī)虛擬網(wǎng)橋,來橋接各個容器的虛擬網(wǎng)絡(luò)接口來實(shí)現(xiàn)容器之間的通信。在虛擬網(wǎng)橋默認(rèn)配置模式下,為提高通訊效率,Docker容器之間的通訊數(shù)據(jù)沒有進(jìn)行過濾和加密,攻擊者可以利用這個缺陷,發(fā)動MAC Flood和ARP欺騙攻擊或者監(jiān)聽容器之間通信的敏感信息。同時在虛擬網(wǎng)橋模式下,容器之間默認(rèn)可以相互通訊,無法對容器間通訊流量進(jìn)行監(jiān)控和控制。由于容器的創(chuàng)建和銷毀也比傳統(tǒng)的虛擬機(jī)頻繁,新容器的IP地址有可能被以前的舊容器使用過,導(dǎo)致舊容器所遭受的攻擊會重新定位到新容器上[3]。

圖1 Docker容器安全風(fēng)險分析圖

2 Docker容器技術(shù)安全體系建設(shè)

針對Docker在整個應(yīng)用生命周期的每個環(huán)節(jié)中所遇到的安全問題,結(jié)合高校容器應(yīng)用的實(shí)際情況,從每個環(huán)節(jié)采取各種安全措施,構(gòu)建容器安全體系保障高校數(shù)據(jù)中心各種容器應(yīng)用安全運(yùn)行。

面對在容器應(yīng)用開發(fā)的環(huán)節(jié)中可能遇到的安全問題,可以采取以下的安全措施:一是在應(yīng)用開發(fā)的階段需按照統(tǒng)一的代碼安全規(guī)范來編寫容器應(yīng)用,避免容器應(yīng)用本身的代碼安全漏洞。二是使用經(jīng)過安全驗(yàn)證的可靠的應(yīng)用運(yùn)行環(huán)境進(jìn)行開發(fā),避免容器應(yīng)用中開發(fā)環(huán)境所帶的安全漏洞。三是要對開發(fā)完成的容器應(yīng)用進(jìn)行完善的安全測試,消除應(yīng)用程序中所存在的可被攻擊者利用的漏洞。

面對在應(yīng)用容器鏡像的制作和發(fā)布環(huán)節(jié)中可能遇到的安全問題,可以采取以下的安全措施:一是構(gòu)建安全可信的本地容器鏡像倉庫,并部署鏡像漏洞掃描器Clair對發(fā)布的鏡像都進(jìn)行漏洞掃描,保證每個發(fā)布的鏡像都是安全可信的。二是啟用鏡像發(fā)布客戶端的證書,對客戶端與鏡像倉庫之間的通訊進(jìn)行加密,防止攻擊者發(fā)起中間人攻擊,對發(fā)布鏡像的動作進(jìn)行竊聽和攻擊。三是在制作容器應(yīng)用鏡像時使用安全可信的基礎(chǔ)鏡像,強(qiáng)制使用Docker或者Alpine-linux的經(jīng)過安全驗(yàn)證的官方基礎(chǔ)鏡像。四是在制作容器鏡像時,進(jìn)行恰當(dāng)?shù)臋?quán)限設(shè)置,如可以在Dockerfile中定義容器以非root的身份運(yùn)行并刪除setuid和setgid權(quán)限,避免攻擊者通過容器獲取宿主服務(wù)器的權(quán)限。五是采用鏡像制作的最小化安裝原則,只在鏡像中打包需要的程序,避免安裝無關(guān)的不安全程序,導(dǎo)致后期被攻擊者利用。六是啟用鏡像發(fā)布客戶端的鏡像簽名機(jī)制,保證下載和上傳的鏡像的完整性和可靠性,防止容器鏡像被惡意篡改和保證鏡像的完整性[4]。

面對在應(yīng)用容器的部署和運(yùn)行環(huán)節(jié)中可能遇到的安全問題,可以采取以下的安全措施:一是在Docker宿主機(jī)的內(nèi)核層面采取相應(yīng)的安全措施。比如按照要求及時升級操作系統(tǒng)內(nèi)核,修復(fù)可能存在的內(nèi)核安全漏洞;利用linux的安全加固組件SELinux、AppArmor、GRSEC等對容器應(yīng)用的系統(tǒng)執(zhí)行權(quán)限,文件系統(tǒng)掛載權(quán)限,網(wǎng)絡(luò)讀寫權(quán)限進(jìn)行限制;合理利用linux的Namespace隔離功能,確保容器只能讀寫自己命名空間的資源,防止出現(xiàn)攻擊者跳出容器的命名空間獲得操作系統(tǒng)的更高權(quán)限[5];配置linux的cgroup功能,對容器對CPU,內(nèi)存資源的使用進(jìn)行控制和審計,防止出現(xiàn)攻擊者利用容器大量消耗宿主機(jī)資源導(dǎo)致其他容器無法正常運(yùn)行的情況。開啟Sec-comp安全計算模式,設(shè)置系統(tǒng)調(diào)用白名單,對容器對系統(tǒng)的調(diào)用進(jìn)行訪問控制,防止執(zhí)行非法的系統(tǒng)調(diào)用命令[6]。二是在Docker容器應(yīng)用運(yùn)行層面采取相應(yīng)的安全措施。比如以最低的操作系統(tǒng)權(quán)限和必要的最小資源運(yùn)行Docker容器,避免攻擊者控制容器后的進(jìn)一步攻擊;建立統(tǒng)一的ELK日志監(jiān)控平臺對容器的運(yùn)行日志進(jìn)行采集分析,實(shí)時掌握容器的運(yùn)行情況和安全威脅;確保容器上運(yùn)行的服務(wù)只包含必要的應(yīng)用服務(wù),除非必要否則禁止在容器上開放ssh服務(wù);確保容器不采用p-rivileged標(biāo)記運(yùn)行在特權(quán)模式下,并給每個容器掛載只讀的獨(dú)立目錄,實(shí)現(xiàn)每個容器對應(yīng)的文件目錄權(quán)限不同,防止攻擊者由于權(quán)限設(shè)置不當(dāng)提升權(quán)限或獲取未經(jīng)授權(quán)的資源。三是在Docker的網(wǎng)絡(luò)設(shè)置層面采取相應(yīng)的安全措施。比如設(shè)置Docker的守護(hù)進(jìn)程的運(yùn)行參數(shù)為–icc=false,限制同一服務(wù)器上的容器相互通訊,防止攻擊者利用容器網(wǎng)絡(luò)進(jìn)行監(jiān)聽和ARP欺騙攻擊等;為docker的守護(hù)進(jìn)程配置TLS身份認(rèn)證,防止未經(jīng)授權(quán)的用戶訪問Docker服務(wù),獲得Docker的控制權(quán)限;使用iptables設(shè)置安全規(guī)則,控制所有容器之間的網(wǎng)絡(luò)通信,并控制Docker容器與外界網(wǎng)絡(luò)的訪問;禁用Docker容器的hos-t網(wǎng)絡(luò)模式,隔離宿主機(jī)和容器的網(wǎng)絡(luò)通信;配置容器只開放必要的網(wǎng)絡(luò)端口,禁用與容器業(yè)務(wù)端口無關(guān)的網(wǎng)絡(luò)端口開放,利用Nmap端口掃描工具定期對運(yùn)行容器開放的端口進(jìn)行掃描,并關(guān)閉無用的容器端口,防止因?yàn)榕渲貌划?dāng)導(dǎo)致的容器端口對外無限制開放;部署多臺Docker主機(jī)集群時,容器網(wǎng)絡(luò)盡量使用Overlay Network網(wǎng)絡(luò)架構(gòu),隔離每個主機(jī)容器網(wǎng)絡(luò)的直接通訊,并開啟IPsec 通道加密主機(jī)之間的容器通訊,防止攻擊者竊聽或劫持[7]。

3 結(jié)束語

Docker容器技術(shù)為高校部署業(yè)務(wù)應(yīng)用提供了新的方式,讓高校數(shù)據(jù)中心部署各種應(yīng)用更加高效,靈活,且資源利用率高,但容器技術(shù)也存在各種安全上隱患,本文從Docker容器生命周期的各個環(huán)節(jié)分析了該技術(shù)的各個安全風(fēng)險點(diǎn),并針對安全風(fēng)險提出了每個環(huán)節(jié)的安全措施,建立了一套Docker容器的安全體系解決方案,為高校微應(yīng)用容器安全提供了保障。

[1]艾明振.基于Docker平臺的安全信息管理的研究與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2018.

[2]楊文林,譚曦等. Docker脆弱性分析與安全增強(qiáng)[J]. 信息安全與技術(shù),2016(04):21-23.

[3]王鵑,胡威等.基于Docker的可信容器[J]. 武漢大學(xué)學(xué)報(理學(xué)版),2017(02):102-108.

[4]魏興慎,蘇大威等. SecDr:一種內(nèi)容安全的Docker鏡像倉庫[J].計算機(jī)與現(xiàn)代化,2018(05):70-73.

[5]陳莉君,張義飛.基于LKM的Docker資源信息隔離方法[J].計算機(jī)系統(tǒng)應(yīng)用,2016(12):250-254.

[6]李平平,陳莉君.基于LSM的Docker訪問控制機(jī)制研究[J].信息技術(shù),2016(11):134-138

[7]簡智強(qiáng).Docker容器安全監(jiān)控系統(tǒng)設(shè)計與實(shí)現(xiàn)[D].重慶:重慶郵電大學(xué),2017.

猜你喜歡
安全漏洞安全措施鏡像
化工企業(yè)易燃液體處理的安全措施
承壓類特種設(shè)備安全措施的優(yōu)化
鏡像
超高墩柱翻模施工工藝及其安全措施分析
安全漏洞太大亞馬遜、沃爾瑪和Target緊急下架這種玩具
玩具世界(2018年6期)2018-08-31 02:36:26
鏡像
小康(2018年23期)2018-08-23 06:18:52
玩輪滑
基于安全漏洞掃描的校園網(wǎng)告警系統(tǒng)的開發(fā)與設(shè)計
鏡像
小康(2015年4期)2015-03-31 14:57:40
鏡像
小康(2015年6期)2015-03-26 14:44:27
南平市| 宜黄县| 德州市| 天门市| 金堂县| 威宁| 沁阳市| 宁明县| 綦江县| 景德镇市| 南平市| 宜良县| 霍山县| 剑阁县| 罗甸县| 山阴县| 泸溪县| 丰原市| 长治市| 三明市| 樟树市| 博兴县| 南平市| 永城市| 南阳市| 丽水市| 普陀区| 洱源县| 石城县| 津南区| 黎平县| 嘉善县| 城步| 和平县| 托克逊县| 蒙自县| 广昌县| 四川省| 平罗县| 河北省| 前郭尔|