精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

當(dāng)前位置:云計(jì)算云安全 → 正文

為現(xiàn)在和未來改善Docker安全

責(zé)任編輯:editor005 作者:布加迪編譯 |來源:企業(yè)網(wǎng)D1Net  2015-12-08 14:24:49 本文摘自:51CTO

安全似乎落后于Docker陣營在其他方面的發(fā)展步伐。雖然越來越多的企業(yè)在數(shù)據(jù)中心使用Docker,但管理員們用來保護(hù)容器的技術(shù)卻完全是慢慢站穩(wěn)腳跟。在許多情況下,正是當(dāng)初讓Docker大受歡迎的功能特性恰恰也暴露了安全漏洞(見圖1)。

為現(xiàn)在和未來改善Docker安全

  圖1:Docker網(wǎng)站稱贊其容器是即刻奏效的解決方案。

什么是沒有隔離的內(nèi)核?

Docker依賴Linux內(nèi)核的功能:建立相互隔離的環(huán)境(應(yīng)用程序在里面運(yùn)行)。這些容器很精簡,因?yàn)樗鼈児蚕硗粌?nèi)核,卻在不同的運(yùn)行時(shí)環(huán)境中執(zhí)行,這歸功于控制組(cgroup)和命名空間,它們定義了容器可以使用哪些資源。與此同時(shí),容器本身只能看到某些進(jìn)程和網(wǎng)絡(luò)功能。

雖然攻擊者難以從一個(gè)被劫持的虛擬機(jī)與主機(jī)的內(nèi)核進(jìn)行交互,但容器隔離并不提供同樣的防御。除了/sys和/proc外,攻擊者還照樣可以進(jìn)入內(nèi)核的關(guān)鍵子系統(tǒng),比如SELinux和控制組,這意味著攻擊者有可能避開主機(jī)的安全功能特性。與此同時(shí),容器使用與主機(jī)系統(tǒng)同樣的用戶命名空間。換句話說,如果進(jìn)程以根權(quán)限在容器中運(yùn)行,它與內(nèi)核或掛載的文件系統(tǒng)交互時(shí),保留這些權(quán)限。因而,管理員還是別以根權(quán)限在容器中運(yùn)行軟件為妙;實(shí)際上,很少需要這樣。

風(fēng)險(xiǎn):Docker的守護(hù)進(jìn)程

然而,Docker守護(hù)進(jìn)程需要根權(quán)限。它管理主機(jī)上的容器,需要與提供隔離環(huán)境的內(nèi)核進(jìn)行對(duì)話。與守護(hù)進(jìn)程進(jìn)行交互的用戶因而被授予了訪問系統(tǒng)的權(quán)限。如果主機(jī)托管服務(wù)提供商通過Web界面將容器作為一個(gè)自助服務(wù)選項(xiàng)來提供,這種情形會(huì)來得尤其嚴(yán)重。

雖然使用docker群組是個(gè)辦法,但不太可能改善安全,因?yàn)槿航M成員可以構(gòu)建容器;而在容器中,首先可以運(yùn)行根外殼,其次可以掛載主機(jī)的根文件系統(tǒng)。這里的唯一辦法就是,嚴(yán)格監(jiān)管對(duì)Docker服務(wù)的訪問,避免不需要的權(quán)限升級(jí)。

此外,Docker的守護(hù)進(jìn)程可以通過HTTP(S),借助REST API進(jìn)行聯(lián)系。如果你使用這項(xiàng)功能,就需要限制只由可信賴網(wǎng)絡(luò)才可以訪問API,或者通過SSL客戶端證書或之類的機(jī)制來限制訪問。

對(duì)策

新版本的Docker隨帶減小上述攻擊場(chǎng)景帶來的影響的功能特性。Docker以只讀方式掛載/sys文件系統(tǒng)和/proc中的重要文件。容器無法寫入到它們,因而防止容器中的權(quán)限進(jìn)程操縱主機(jī)系統(tǒng)。

內(nèi)核將根權(quán)限細(xì)分成了幾項(xiàng)功能,然后將這些功能逐個(gè)分配給了進(jìn)程。默認(rèn)情況下,Docker阻止重要功能,防止容器中的權(quán)限進(jìn)程為非作歹。這些功能包括網(wǎng)絡(luò)配置、裝入內(nèi)核模塊的功能或者訪問音頻子系統(tǒng)。如果某個(gè)特殊的應(yīng)用程序需要被阻止的功能,Docker允許這些功能供某個(gè)容器使用。

SELinux局限性

SELinux是一種安全框架,它給每個(gè)文件和每個(gè)進(jìn)程分配了多部分標(biāo)簽(multipart label)。策略定義了哪個(gè)進(jìn)程標(biāo)簽可以訪問哪個(gè)文件標(biāo)簽。Docker支持兩個(gè)變種:類型強(qiáng)制(type enforcement)和多類別安全(MCS)。

類型強(qiáng)制限制了容器對(duì)主機(jī)文件系統(tǒng)的訪問。所有容器進(jìn)程都以同一種類型來運(yùn)行,這樣就可以訪問容器中的文件和許多主機(jī)系統(tǒng)文件,但是又可以防止訪問主機(jī)上的大多數(shù)文件夾(即/var、/root和/home)。

如果只使用類型強(qiáng)制,容器就能夠輕松訪問其他容器中的數(shù)據(jù)。歸功于MCS,容器啟動(dòng)時(shí),SELinux為容器分配了隨機(jī)的MCS標(biāo)簽;Docker守護(hù)進(jìn)程用這個(gè)標(biāo)簽標(biāo)記容器中的所有文件,而內(nèi)核可防止使用不同MCS標(biāo)簽的進(jìn)程訪問容器中的文件。

在許多企業(yè),SELinux已被認(rèn)為是一項(xiàng)不需要的功能特性,也是管理員們喜歡禁用的一項(xiàng)特性。然而,Docker容器的安全依賴安全虛擬化(sVirt)之類的功能特性。在幾乎沒有其他應(yīng)用程序幫助的情況下,單單sVirt就足以防止來自其他容器的用戶讀取你的文件。

未來

就未來而言,Docker開發(fā)人員在計(jì)劃增強(qiáng)容器的安全性和隔離性。三項(xiàng)功能特性會(huì)助一臂之力,包括用戶命名空間、Seccomp,以及基于角色的訪問控制(RBAC),加強(qiáng)對(duì)Docker守護(hù)進(jìn)程的訪問。

用戶命名空間獲得了優(yōu)先權(quán)。Docker將來自容器的用戶ID與其他主機(jī)的ID對(duì)應(yīng)起來。其想法是大大限制攻擊屬于根目錄的文件的能力。

由于所有容器都與同一個(gè)內(nèi)核對(duì)話,內(nèi)核功能方面的一個(gè)錯(cuò)誤對(duì)主機(jī)和容器之間的邊界以及對(duì)容器本身之間的邊界來說都是致命的。來自谷歌的Seccomp可防止進(jìn)程對(duì)特定系統(tǒng)調(diào)用的訪問。雖然進(jìn)程使用系統(tǒng)調(diào)用來訪問內(nèi)核,但在600個(gè)可用調(diào)用中大多數(shù)很少用到。要是沒有這些調(diào)用,有望減小潛在的攻擊面。Daniel Walsh在紅帽公司從事容器安全工作。他認(rèn)為,開發(fā)人員有望將可調(diào)用系統(tǒng)調(diào)用的數(shù)量最多減少50%。

此外,開發(fā)人員在期望完善對(duì)Docker服務(wù)的訪問,補(bǔ)充驗(yàn)證選項(xiàng)。這么做意味著,并沒有根授權(quán)以訪問主機(jī)的用戶可以使用這項(xiàng)服務(wù)。如果開發(fā)人員另外引入RBAC,Docker管理員就能為用戶分配不同的角色,因而為他們提供與守護(hù)進(jìn)程進(jìn)行交互的受限制權(quán)限。在這些方案的幫助下,應(yīng)該可以在未來進(jìn)一步限制對(duì)容器或功能的訪問。

結(jié)束語

Docker開發(fā)人員已經(jīng)在許多方面積極響應(yīng),加強(qiáng)容器的安全,他們?cè)诶^續(xù)添加新的功能特性,保持這個(gè)勢(shì)頭。最近為版本1.8中的Docker映像推出了一種驗(yàn)證系統(tǒng),那就是內(nèi)容信任(Content Trust)。此外,開放容器計(jì)劃(Open Container Initiative)正考慮將更多的精力投入到安全方面上。

未來仍需要做大量工作。比如說,需要定義容器管理方面可持續(xù)的最佳實(shí)踐,以促進(jìn)容器在企業(yè)得到更廣泛的使用。

原文標(biāo)題:Improving Docker security now and in the future

關(guān)鍵字:DockerRBAC谷歌

本文摘自:51CTO

x 為現(xiàn)在和未來改善Docker安全 掃一掃
分享本文到朋友圈
當(dāng)前位置:云計(jì)算云安全 → 正文

為現(xiàn)在和未來改善Docker安全

責(zé)任編輯:editor005 作者:布加迪編譯 |來源:企業(yè)網(wǎng)D1Net  2015-12-08 14:24:49 本文摘自:51CTO

安全似乎落后于Docker陣營在其他方面的發(fā)展步伐。雖然越來越多的企業(yè)在數(shù)據(jù)中心使用Docker,但管理員們用來保護(hù)容器的技術(shù)卻完全是慢慢站穩(wěn)腳跟。在許多情況下,正是當(dāng)初讓Docker大受歡迎的功能特性恰恰也暴露了安全漏洞(見圖1)。

為現(xiàn)在和未來改善Docker安全

  圖1:Docker網(wǎng)站稱贊其容器是即刻奏效的解決方案。

什么是沒有隔離的內(nèi)核?

Docker依賴Linux內(nèi)核的功能:建立相互隔離的環(huán)境(應(yīng)用程序在里面運(yùn)行)。這些容器很精簡,因?yàn)樗鼈児蚕硗粌?nèi)核,卻在不同的運(yùn)行時(shí)環(huán)境中執(zhí)行,這歸功于控制組(cgroup)和命名空間,它們定義了容器可以使用哪些資源。與此同時(shí),容器本身只能看到某些進(jìn)程和網(wǎng)絡(luò)功能。

雖然攻擊者難以從一個(gè)被劫持的虛擬機(jī)與主機(jī)的內(nèi)核進(jìn)行交互,但容器隔離并不提供同樣的防御。除了/sys和/proc外,攻擊者還照樣可以進(jìn)入內(nèi)核的關(guān)鍵子系統(tǒng),比如SELinux和控制組,這意味著攻擊者有可能避開主機(jī)的安全功能特性。與此同時(shí),容器使用與主機(jī)系統(tǒng)同樣的用戶命名空間。換句話說,如果進(jìn)程以根權(quán)限在容器中運(yùn)行,它與內(nèi)核或掛載的文件系統(tǒng)交互時(shí),保留這些權(quán)限。因而,管理員還是別以根權(quán)限在容器中運(yùn)行軟件為妙;實(shí)際上,很少需要這樣。

風(fēng)險(xiǎn):Docker的守護(hù)進(jìn)程

然而,Docker守護(hù)進(jìn)程需要根權(quán)限。它管理主機(jī)上的容器,需要與提供隔離環(huán)境的內(nèi)核進(jìn)行對(duì)話。與守護(hù)進(jìn)程進(jìn)行交互的用戶因而被授予了訪問系統(tǒng)的權(quán)限。如果主機(jī)托管服務(wù)提供商通過Web界面將容器作為一個(gè)自助服務(wù)選項(xiàng)來提供,這種情形會(huì)來得尤其嚴(yán)重。

雖然使用docker群組是個(gè)辦法,但不太可能改善安全,因?yàn)槿航M成員可以構(gòu)建容器;而在容器中,首先可以運(yùn)行根外殼,其次可以掛載主機(jī)的根文件系統(tǒng)。這里的唯一辦法就是,嚴(yán)格監(jiān)管對(duì)Docker服務(wù)的訪問,避免不需要的權(quán)限升級(jí)。

此外,Docker的守護(hù)進(jìn)程可以通過HTTP(S),借助REST API進(jìn)行聯(lián)系。如果你使用這項(xiàng)功能,就需要限制只由可信賴網(wǎng)絡(luò)才可以訪問API,或者通過SSL客戶端證書或之類的機(jī)制來限制訪問。

對(duì)策

新版本的Docker隨帶減小上述攻擊場(chǎng)景帶來的影響的功能特性。Docker以只讀方式掛載/sys文件系統(tǒng)和/proc中的重要文件。容器無法寫入到它們,因而防止容器中的權(quán)限進(jìn)程操縱主機(jī)系統(tǒng)。

內(nèi)核將根權(quán)限細(xì)分成了幾項(xiàng)功能,然后將這些功能逐個(gè)分配給了進(jìn)程。默認(rèn)情況下,Docker阻止重要功能,防止容器中的權(quán)限進(jìn)程為非作歹。這些功能包括網(wǎng)絡(luò)配置、裝入內(nèi)核模塊的功能或者訪問音頻子系統(tǒng)。如果某個(gè)特殊的應(yīng)用程序需要被阻止的功能,Docker允許這些功能供某個(gè)容器使用。

SELinux局限性

SELinux是一種安全框架,它給每個(gè)文件和每個(gè)進(jìn)程分配了多部分標(biāo)簽(multipart label)。策略定義了哪個(gè)進(jìn)程標(biāo)簽可以訪問哪個(gè)文件標(biāo)簽。Docker支持兩個(gè)變種:類型強(qiáng)制(type enforcement)和多類別安全(MCS)。

類型強(qiáng)制限制了容器對(duì)主機(jī)文件系統(tǒng)的訪問。所有容器進(jìn)程都以同一種類型來運(yùn)行,這樣就可以訪問容器中的文件和許多主機(jī)系統(tǒng)文件,但是又可以防止訪問主機(jī)上的大多數(shù)文件夾(即/var、/root和/home)。

如果只使用類型強(qiáng)制,容器就能夠輕松訪問其他容器中的數(shù)據(jù)。歸功于MCS,容器啟動(dòng)時(shí),SELinux為容器分配了隨機(jī)的MCS標(biāo)簽;Docker守護(hù)進(jìn)程用這個(gè)標(biāo)簽標(biāo)記容器中的所有文件,而內(nèi)核可防止使用不同MCS標(biāo)簽的進(jìn)程訪問容器中的文件。

在許多企業(yè),SELinux已被認(rèn)為是一項(xiàng)不需要的功能特性,也是管理員們喜歡禁用的一項(xiàng)特性。然而,Docker容器的安全依賴安全虛擬化(sVirt)之類的功能特性。在幾乎沒有其他應(yīng)用程序幫助的情況下,單單sVirt就足以防止來自其他容器的用戶讀取你的文件。

未來

就未來而言,Docker開發(fā)人員在計(jì)劃增強(qiáng)容器的安全性和隔離性。三項(xiàng)功能特性會(huì)助一臂之力,包括用戶命名空間、Seccomp,以及基于角色的訪問控制(RBAC),加強(qiáng)對(duì)Docker守護(hù)進(jìn)程的訪問。

用戶命名空間獲得了優(yōu)先權(quán)。Docker將來自容器的用戶ID與其他主機(jī)的ID對(duì)應(yīng)起來。其想法是大大限制攻擊屬于根目錄的文件的能力。

由于所有容器都與同一個(gè)內(nèi)核對(duì)話,內(nèi)核功能方面的一個(gè)錯(cuò)誤對(duì)主機(jī)和容器之間的邊界以及對(duì)容器本身之間的邊界來說都是致命的。來自谷歌的Seccomp可防止進(jìn)程對(duì)特定系統(tǒng)調(diào)用的訪問。雖然進(jìn)程使用系統(tǒng)調(diào)用來訪問內(nèi)核,但在600個(gè)可用調(diào)用中大多數(shù)很少用到。要是沒有這些調(diào)用,有望減小潛在的攻擊面。Daniel Walsh在紅帽公司從事容器安全工作。他認(rèn)為,開發(fā)人員有望將可調(diào)用系統(tǒng)調(diào)用的數(shù)量最多減少50%。

此外,開發(fā)人員在期望完善對(duì)Docker服務(wù)的訪問,補(bǔ)充驗(yàn)證選項(xiàng)。這么做意味著,并沒有根授權(quán)以訪問主機(jī)的用戶可以使用這項(xiàng)服務(wù)。如果開發(fā)人員另外引入RBAC,Docker管理員就能為用戶分配不同的角色,因而為他們提供與守護(hù)進(jìn)程進(jìn)行交互的受限制權(quán)限。在這些方案的幫助下,應(yīng)該可以在未來進(jìn)一步限制對(duì)容器或功能的訪問。

結(jié)束語

Docker開發(fā)人員已經(jīng)在許多方面積極響應(yīng),加強(qiáng)容器的安全,他們?cè)诶^續(xù)添加新的功能特性,保持這個(gè)勢(shì)頭。最近為版本1.8中的Docker映像推出了一種驗(yàn)證系統(tǒng),那就是內(nèi)容信任(Content Trust)。此外,開放容器計(jì)劃(Open Container Initiative)正考慮將更多的精力投入到安全方面上。

未來仍需要做大量工作。比如說,需要定義容器管理方面可持續(xù)的最佳實(shí)踐,以促進(jìn)容器在企業(yè)得到更廣泛的使用。

原文標(biāo)題:Improving Docker security now and in the future

關(guān)鍵字:DockerRBAC谷歌

本文摘自:51CTO

電子周刊
回到頂部

關(guān)于我們聯(lián)系我們版權(quán)聲明隱私條款廣告服務(wù)友情鏈接投稿中心招賢納士

企業(yè)網(wǎng)版權(quán)所有 ©2010-2024 京ICP備09108050號(hào)-6 京公網(wǎng)安備 11010502049343號(hào)

^
  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 筠连县| 简阳市| 渭源县| 扶绥县| 独山县| 吴江市| 樟树市| 信阳市| 远安县| 乌兰浩特市| 那曲县| 仙桃市| 绩溪县| 曲靖市| 南通市| 三台县| 高唐县| 山阳县| 文成县| 阿勒泰市| 永春县| 新宁县| 临泽县| 五大连池市| 绥江县| 百色市| 同心县| 荥经县| 阳江市| 兰考县| 辽宁省| 昌平区| 赤壁市| 大宁县| 汕尾市| 囊谦县| 阳城县| 铁岭县| 新昌县| 肥西县| 武义县|