好的安全性是基于分層隔離的,而 Docker 恰好有很多分層。Docker 支持所有主流 Linux 安全機制,同時 Docker 自身還提供了很多簡單的并且易于配置的安全技術。
接下來主要介紹一些 Docker 中保障容器安全運行的一些技術。
安全本質就是分層!通俗地講,擁有更多的安全層,就能擁有更多的安全性。而 Docker 提供了很多安全層。下圖展示了一部分安全技術。
Linux Docker 利用了大部分 Linux 通用的安全技術。這些技術包括了命名空間(Namespace)、控制組(CGroup)、系統權限(Capability),強制訪問控制(MAC)系統以及安全計算(Seccomp)。
對于上述每種技術,Docker 都設置合理的默認值,實現了流暢的并且適度安全的開箱即用體驗。同時,Docker 也允許用戶根據特定需求自定義調整每項安全配置。
Docker 平臺本身也提供了一些非常棒的原生安全技術。并且重要的是,這些技術使用起來都很簡單!
⒈ Docker Swarm 模式
默認是開啟安全功能的。無須任何配置,就可以獲得加密節點 ID、雙向認證、自動化 CA 配置、自動證書更新、加密集群存儲、加密網絡等安全功能。
⒉ Docker 內容信任(Docker Content Trust, DCT)
允許用戶對鏡像簽名,并且對拉取的鏡像的完整度和發布者進行驗證。
⒊ Docker 安全掃描(Docker Security Scanning)
分析 Docker 鏡像,檢查已知缺陷,并提供對應的詳細報告。
⒋ Docker 密鑰
使安全成為 Docker 生態系統中重要的一環。Docker 密鑰存儲在加密集群存儲中,在容器傳輸過程中實時解密,使用時保存在內存文件系統,并運行了一個最小權限模型。
重要的是,要知道 Docker 在使用主流 Linux 安全技術的同時,還提供了額外的擴展以及一些新的安全技術。Linux 安全技術看起來可能略為復雜,但是 Docker 平臺的安全技術卻非常簡單。
大家都知道安全是非常重要的。同時,安全又很復雜并且枯燥無味。
在最初決定向平臺中添加安全功能時,就選擇了簡單易用的方式。Docker 知道如果安全相關配置特別復雜,那么就沒有人會去使用。所以,Docker 平臺提供的絕大部分安全功能使用起來都很簡單。
并且大部分的安全設置都配有默認值,意味著用戶無須任何配置,就能得到一個相當安全的平臺。當然,默認配置不一定是最合適的,但至少在最開始能夠保障一定的安全性。如果默認配置與用戶需求不符,那么用戶也可以進行自定義配置。