微軟容器未來的安全版本

jopen 9年前發布 | 6K 次閱讀 容器
 

微軟繼續提供對基于windows的Docker環境開發,這周四發布的windows server 2016 RC4介紹了一種新型的windows Docker容器,安全機制通過公司內部虛擬機Hyper-VM實現。

Hyper-V容器使用與運行在windows上Docker容器同樣的image(公司今年早些時候介紹過 http://thenewstack.io/docker-f ... -way/ )— 但是Hyper-V通過虛擬機方式提供了更好的隔離性。

盡管微軟一年前就宣布了Hyper-V容器的想法,“這是第一次真正發布”,Taylor Brown(微軟編程管理高級領導)說。

Hyper-V容器可以使用與傳統windows容器一樣的命令來控制,可以通過添加一個隔離開關,即可使用與傳統windows容器同樣的命令來操作Hyper-V容器。

Patrick Chanzan(Docker技術開發團隊成員)指出,目前,所有Docker Compose命令在不同平臺上都可以工作,而且基于windows的Swarm原型也在測試中。

那么性能如何呢?畢竟,容器比傳統虛擬機更有價值的地方在于它可以自我創建。

實際上,Brown承認,Hyper-V容器會比傳統容器創建式多耗費幾秒鐘,而且,Hyper-V容器會占用更多內存,因此一臺服務器可能允許少量的Hyper-V容器。

但是這確是更好安全性帶來的代價。設計上,Hyper-V容器提供了更小的可攻擊界面(attack surface),例如,如果在Windows內核中發現了一個漏洞,惡意用戶并不能突破Hyper-V容器來利用宿主機上的漏洞。

“他們可以達到最壞的影響在于本虛擬機弄癱,但不會突破容器的邊界”,Brown說。

Brown說,跨平臺編譯基于linux的Dokcer(用Go語言編寫)到windows平臺牽涉到包括微軟,Docker和第三方貢獻者之間的多方合作。

實際上,過去的幾年中,微軟也成為Docker最大的貢獻者之一。根據Docker的資料,去年319個pull請求者中,微軟在代碼貢獻上排名第五。

要記住Windows容器提供windows內核調用,而不是linux內核調用。和linux docker容器一樣,windows容器也共享主機內核,只不過是windows內核罷了。

“當使用Windows容器是,感覺就是一個windows環境,實際就是windows環境”,Arnaud Porterie(Docker工程師)在本周巴塞羅那召開的Dockercon EU大會上說。

有一點不同,linux Dokcer容器在宿主機只會發起一個進程;而windows容器卻會發起好幾個。而對于Hyper-V容器卻不是這樣的,因為在hypervisor中有輕量內核,而不是共享宿主機的內核。因此,“從容器角度來看就是一個容器,但是在宿主機上卻看不到進程”,Starks說。

另外,linux調用依靠很多共享庫,例如libc。相反的,windows依賴動態鏈接庫(DLLs),他們結合起來提供服務,因此每個windows容器都會在宿主機上啟動多個進程,而不是一個。

因此基于linux的docker容器不會原生的運行在windows容器中,反之亦然。但是他們都可以被同一個docker管理軟件控制,允許開發者將windows和linux平臺下最好的經驗整合到一個應用中,Brown說。

一個完全隔離的容器可以同時給企業級用戶使用而他們可能有使用不同安全和行業定制應用的教訓和考慮。

微軟Azue本身就使用了安全容器來提供更有效的多宿主服務,例如Azure Machine Learning (ML) Service.

“我們可以以比使用虛擬機更高的密度完全將用戶的腳本隔離開”,Brown說。

Hyper-V容器技術將會隨著windows server 2016發布,可能是明年的某個時候。到時候windows server 2016完全版和裁剪過的Nano版都會運行在容器內部。

一旦升級了微軟的hypervisor,Hper-V容器也被微軟Azure容器服務支持。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!