Docker的安全基準

jopen 10年前發布 | 8K 次閱讀 Docker


Docker公司與Center for Internet Security ( CIS )合作,制作了一份 基準文檔 [pdf],包含很多針對部署Docker的安全性的建議。Diogo Mónica在一篇博客“ 理解Docker的安全性和最佳實踐 ”中公布了該基準,她和Nathan McCauley一起最近受雇來領導 Docker的安全團隊 。該團隊也發布了“ 容器安全性入門 ”[pdf]白皮書。

基準文檔涵蓋了運行Docker的宿主(系統)的配置、Docker本身的配置,以及在Docker管理下運行的容器的配置。該基準針對 Docker 1.6.0,(這是)本文寫作時的最新版本,并且基于(使用)紅帽企業Linux(RHEL)第7版或Debian第8版作為宿主操作系統(OS)。基準 的附錄中有包含每項建議的檢查清單。

建 議分為兩個級別,第一級涉及的措施“實用而謹慎,提供明確的安全方面的好處,而又不妨礙運用的技術超出可接受的范圍。”第二級的建議更加具有侵入性,被描 述為“針對把安全性視為頭等大事的環境或情況,作為深入全面的防御措施,或者會消極地抑制技術的運用或性能。”第一級的建議適用于宿主操作系統和 Docker,而第二級的3項關于強制訪問控制(mandatory access control,MAC)和端點保護平臺(endpoint protection platform,EPP)的建議,只適用于Docker。

很多建議在其審核一節有腳本片段,可以用來判斷配置是否 處于所需的狀態,這表明,大部分基準可以組織成腳本,用來檢查(及重新配置)宿主是否符合基準。補救措施在適當的情況下也用腳本片段描述,但是這些腳本不 太有用,因為在大多數情況下,必須編輯啟動配置。鑒于所有主要的Linux發行版本現在都切換到systemd作為其默認的啟動系統,CIS可能會選擇顯 示與此相應的配置步驟,但這也有可能會造成許多仍在舊發行版本上運行Docker的用戶的困惑。

盡管有些建議是相當通用的,比如“不要在生 產環境使用開發工具”,大多數建議還是很具體和可操作的,比如“不要使用aufs”。因此該基準可以用來剖析某一Docker環境,決定可以采取以提高其 安全性的實際步驟。當由于底層宿主操作系統的不同而存在多種選擇時,就會給出由Docker核心團隊和其他人撰寫的很多外部指導性文檔。

一些可能以前被認為是容器的最佳實踐,比如,“一個容器只包含一個進程”,以及,“不要在容器內運行SSH”,在基準中作為安全性的建議。把這認為是安全性的問題,將有可能進一步削弱把容器作為小型虛擬機的使用模式。

基準中有一些特別之處希望能在將來的版本中解決。其中之一是在Docker將來的版本中對用戶命名空間的支持,表明這有可能出現在1.6版本中(即使該基準就是關于1.6版本的)。這也許說明用戶命名空間的整合的確要比預想的更成問題。基準還建議使用 nsenter ,盡管其使用已經在很大程度上被Docker 1.3引入的‘exec’命令所取代。

伴 隨基準推出的白皮書表明,Docker公司正努力把容器定位為改進安全性的方法,但就象任何新技術一樣,公司面臨艱難的時刻說服對安全性有顧慮的客戶,在 生產環境運行是安全的。CIS基準的發布為那些想在生產環境運行Docker的(用戶)提供了可測量的手段來評估其安全狀況,這很可能有助于緩解任何顧 慮。對于擁抱Docker來打包應用程序、加速持續交付管道、以及促進微服務架構的開發者,這應當使(部署)到生產環境中的最后步驟在一定程度上更加容 易。

查看英文原文: Docker Security Benchmark

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