Docker的安全基準

2021-09-17 06:33:30 字數 1649 閱讀 8482

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

\\ 感謝張龍對本文的審校。

\\

Docker安全基準 22項新增要點概述

安全性目前及可預見的未來始終是阻礙容器廣泛普及的困擾所在,技術行業對於容器與虛擬機器間安全性差異的爭論之聲亦是此起彼伏。事實上,容器生態支持者們表示目前已經有大量工具及產品可對其平台安全性做出改善,具體包括靜態分析 映象掃瞄 執行時漏洞檢測 出處溯源 映象簽名 細粒度授權以及密碼驗證等等。亦有大量初...

專案基準的基準 WBS

隨著專案管理技術的不斷推廣和廣泛接受,wbs也漸漸走進專案經理人的視野,專案管理日常工作的核心工具之一,它充分體現了pmbok的 分解 這一核心理念,能夠幫助專案團隊對全域性進行把控,不至於因為考慮不周或者經驗不足而導致專案偏離軌道,甚至於掉入失敗的深淵。在這裡,我把自己對於wbs在專案管理過程中的...

Docker 容器安全

由下圖可見,虛擬機器是通過管理系統 hypervisor 模擬出 cpu 記憶體 網路等硬體,然後在這些模擬的硬體上建立客戶核心和作業系統。這樣做的好處就是虛擬機器有自己的核心和作業系統,並且硬體都是通過虛擬機器管理系統模擬出來的,使用者程式無法直接使用到主機的作業系統和硬體資源,因此虛擬機器也對隔...