日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 服務器 > Docker安全性――官方文檔[譯]

Docker安全性――官方文檔[譯]

來源:程序員人生   發布時間:2014-12-20 09:09:06 閱讀次數:2589次

Docker安全性――官方文檔[譯]

本文譯自Docker官方文檔:https://docs.docker.com/articles/security/

在審查Docker的安全時,需要斟酌3個主要方面:
?容器內在的安全性,由內核命名空間和cgroup中實現;
?docker守護程序本身的攻擊面;
?加固內核安全特性,和它們如何與容器中互動。

內核 命名空間 Kernel Namespace

Docker容器中非常類似LXC容器,并且它們都具有類似的安全功能。當您以“docker run”啟動1個容器,后臺Docker為容器創建1組命名空間和控制組的集合。
命名空間提供隔離的最初也是最簡單的情勢:1個容器中運行的進程看不到運行在另外一個容器中或在主機系統中的進程,乃至它們之間更少的影響,。

每一個容器也都有自己的網絡協議棧,這意味著容器沒有得到特權訪問另外一個容器的套接字或接口。固然,如果主機系統是設置因此,容器中可以相互通過各自的網絡接口進

行交互 - 就像他們可以與外部的主機進行交互。當您為您的容器中或使用鏈路指定公共端口則IP通訊允許容器之間。他們可以相互ping通,發送/接收UDP數據包,并建立

TCP連接,但可以在必要時會遭到限制。從1個網絡架構來看,給定Docker主機上的所有容器都坐在橋接接口。這意味著,他們只是想通過1個普通的以太網交換機連接的物

理機器;不多,不會少。

代碼是如何成熟提供內核命名空間和專用網絡?內核命名空間的內核版本2.6.15和2.6.26之間進行了介紹。這意味著,自2008年7月(2.6.26發布日期,現在5年前),命名

空間代碼已實行和審查上有大量的生產系統。還有更多:設計靈感的命名空間代碼,乃至更老。命名空間實際上是為了重新實現的,由于它們可能被主流內核內合并這樣

的方式的OpenVZ的特性。OpenVZ的最初發布于2005年,所以在設計和履行都相當做熟。

控制組 cgroups

控制組是Linux的容器的另外一重要組成部份。他們實行資源核算和限制。他們提供了很多非常有用的指標,但他們也有助于確保每一個容器取得其公平的內存,CPU,磁盤同享

I/O;并且,更重要的是,1個單1的容器不能用盡這些資源中的1個而使系統癱瘓。

因此,雖然它們不起到避免1個容器訪問或影響數據和另外一個容器的進程的作用,它們是必不可少的,以抵擋謝絕服務的1些攻擊。他們是在多租戶平臺,像公共和私有

PaaS尤其重要,以保證正常運行時間1致(和性能),即便1些利用開始胡作非為。

控制組已存在了1段時間,和:代碼在2006年已開始,并在內核2.6.24開始合并。

Docker守護攻擊面

運行容器(和利用程序)與Docker意味著運行Docker守護進程。此守護進程目前需要root權限,因此,你應當知道的1些重要的細節。

首先,只有受信任的用戶應當可以控制你的Docker守護進程。這是直接造成1些強大的Docker功能。具體來講,Docker可讓你分享的Docker主體和客體容器之間的目錄;它

允許你這樣做不限制容器的訪問權限。這意味著,你可以開始1個容器,其中/host目錄將是你的主機上的/目錄下;并且容器將能夠改變你的主機文件系統沒有任何限制。這

聽起來很瘋狂?好吧,你要知道,所有的虛擬化系統允許文件系統資源同享的行動方式相同。沒有甚么能禁止你從1個虛擬機同享您的根文件系統(乃至是你的root塊裝備

)。

這具有很強的安全性含義:例如,如果從通過API的Web服務器來提供容器中工具Docker,你應當比平常使用參數檢查多加謹慎,以確保歹意用戶沒法通過精雕細琢的參數引

起Docker創建任意容器。

出于這個緣由,所述的REST API端點(所使用的DockerCLI與Docker守護程序進行通訊)中Docker0.5.2改變,現在采取的是UNIX套接字代替結合在127.0.0.1 TCP套接字(后

者是容易跨站點腳本攻擊,如果你碰巧直接在本地計算機上運行Docker,1個VM以外)。然后,您可使用傳統的UNIX權限檢查限制訪問控制套接字。

您也能夠通過暴露在HTTP REST API,如果你明確決定等。但是,如果你這樣做,意想到上述的安全含義,你應當確保它會到達只能從1個可信任的網絡或VPN;或受保護的如

與安全通道和客戶真個SSL證書。你也能夠保證他們HTTPS和證書。

在Linux的命名空間中的最新改進將很快允許沒有root權限運行全功能的容器中,這要歸功于新的用戶空間。這是覆蓋在這里詳細。另外,這將解決由同享主機和客戶之間的

文件系統的問題,由于用戶命名空間允許容器(包括root用戶)內的用戶被映照到在主機系統的其他用戶。

因此,終究目標是Docker要實現兩個額外的安全性改進:
?映照容器的root用戶的Docker主機的非root用戶,以減少容器到主機的權限提升的效果;
? 允許docker守護程序沒有root權限運行,并拜托操作要求這些特權和審計的子流程,每一個都有自己的(非常有限)適用范圍:虛擬網絡設置,文件系統管理,等等。

最后,如果在服務器上運行Docker,建議以在服務器上運行專門Docker,并且通過Docker控制容器中內移動的所有其他服務。固然,這是好的,讓您最喜歡的管理工具(可

能最少SSH服務器),和現有的監測/監控進程(例如,NRPE,collectd等)。

Linux內核能力 Capabilities

默許情況下,Docker開始容用具有非常有限的功能集。這意味著甚么?

功能打開2進制“root/非root”2分法成細粒度的訪問控制系統。進程(如Web服務器),僅僅需要綁定低于1024的端口上沒有以root身份運行:他們可以被授與

net_bind_service能力來代替。而且還有很多其他功能,幾近所有的地方,通常都需要root權限的具體領域。

這意味著許多為docker的安全;讓我們來看看為何!

1般的服務器(裸機或虛擬機)都需要運行1堆流程作為root。這些通常包括SSH,cron,syslogd;硬件管理工具(如加載模塊),網絡配置工具(如處理DHCP,WPA或VPN)

的,等等。容器是非常不同的,由于幾近所有的這些任務由容器周圍的基礎設施進行處理:
?SSH訪問通常由Docker主機運行的單個服務器進行管理;
?cron,必要的時候,應當運行作為1個用戶進程,敬業,專為需要它的調度服務,而不是作為1個平臺性的裝備利用程序;
?日志管理層也通常會被交給Docker,或由第3方服務,如Loggly或Splunk的;
?硬件管理是無關緊要的,這意味著你永久不需要容器中運行udevd會或同等守護進程;
?網絡管理產生在容器外,履行的盡量多的分離關注點,這意味著容器不應當需要履行ifconfig,route,或IP命令(除當1個容器是專為像1個路由器或防火墻,固然

)。

這意味著,在大多數情況下,容器將不會在所有需要的“真實”root特權。因此,容器可使用減少的能力集運行;這意味著“root”在1個容器內具有比真實的“root”少很多特

權。例如,它是可能的:
?謝絕所有“裝載”操作;
?謝絕訪問原始套接字(避免數據包欺騙);
?謝絕訪問某些文件系統操作,如創建新的裝備節點,改變文件的所有者,或改變屬性(包括不可變標志);
?謝絕模塊加載;
?和等等。

這意味著,即便入侵者想法升級到root的容器內,這將是非常困難做嚴重破壞,或升級到主機。

這不會影響常規的網絡利用;但歹意的用戶會發現,軍工廠在他們的處置大幅降落!默許情況下,Docker滴除那些需要的,白名單,而不是黑名單的方式全部功能。你可以

看到在Linux中提供聯機幫助功能的完全列表。

固然,你可以隨時啟用額外的功能,如果你真的需要它們(舉例來講,如果你想使用FUSE為基礎的文件系統),但默許情況下,Docker容器使用默許的核心能力,只有白名

單。

其他內核安全特性

Capabilities 能力是現代Linux內核提供了許多安全特性之1。另外,也能夠利用現有的,公知的系統,如TOMOYO,AppArmor,SELinux,GRSEC等使用Docker。

而Docker目前只允許功能,它不干擾其它系統。這意味著,有許多不同的方式來加固Docker主機。下面是1些例子。
?您可以運行GRSEC和PAX內核。這將增加很多安全檢查,不管是在編譯時和運行時;它也將打敗很多漏洞,這要歸功于像地址隨機化技術。它不需要Docker特定的配置中,由

于這些安全功能適用全系統,獨立的容器中。
?如果你的發行版自帶的Docker容器安全模型模板,你可使用它們的開箱即用。舉例來講,推出1個與AppArmor工作和Red Hat自帶SELinux策略Docker的模板。這些模板提

供了1個額外的安全網(即便它大大堆疊使用能力)。
?您可使用自己喜歡的訪問控制機制,定義自己的策略。

就像有許多第3方工具來增強Docker容器如特殊的網絡拓撲結構或同享文件系統,你可以期望看到的工具來強化現有的Docker容器,而不會影響Docker的核心。

結論

Docker容器,默許情況下,相當安全的;特別是如果你把你的運行進程容器非特權用戶內部的護理(即非root)。

您可以通過啟用AppArmor中,SELinux,GRSEC,或你最喜歡的加固解決方案中添加額外的安全層。

最后但并不是最不重要的,如果你看到在其他容器化系統,有趣的安全功能,您將能夠實現它們,和使用Docker,由于1切不管如何都是由內核提供。

欲了解更多情況下,特別是與虛擬機和其他容器系統的比較,也請看到原來的博客文章:http://blog.docker.com/2013/08/containers-docker-how-secure-are-they/。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 午夜精品一区二区三区视频免费看 | 久久久久久久999 | 久久免费影院 | 一本在线 | 99免费精品 | 久久精品一区二区国产 | 黄色在线免费看 | 成人久久网 | 97免费在线观看视频 | av大全在线免费观看 | aaa成人| 偷拍第一页 | 国产99在线 | 欧美 | 欧美精品在线免费观看 | www伊人 | 欧美国产免费 | 久久久www成人免费精品张筱雨 | 男人电影天堂 | 中文 日韩 欧美 | 男女av网站 | 91精品久久久久久久久99蜜臂 | 亚洲精品视频免费观看 | 国产免费视屏 | 久久精品国产色蜜蜜麻豆 | 色淫视频 | 久99久视频 | 成人在线免费看 | 国产亚洲高清视频 | 久久影视精品 | 日本欧美视频 | 欧美二区乱c黑人 | 在线观看av的网站 | 日本国产a| 亚洲欧美一区二区三区四区 | 国产欧美日韩中文字幕 | 一区三区视频 | 天天天天干| 狠狠av| 不卡视频一区二区三区 | 永久免费在线观看 | 国产高潮在线 |