蔣文豪
摘 要 Docker脆弱性主要體現在文件系統隔離、進程及通信隔離、設備管理及宿主機資源限制、網絡隔離和鏡像傳輸這四個方面。本文對Docker容器的鏡像進行其脆弱性分析,為后續Docker安全的研究提供一定價值的參考。
關鍵詞 Docker 鏡像 脆弱性 安全
1 Docker概述
Docker 是基于客戶端服務器模式設計的,其主要組成可分為 Docker Client、 Docker Daemon、Docker Regeister三部分。
2 Docker容器的鏡像脆弱性分析
開發者在構建Docker鏡像時可能由于疏忽大意將包括數據庫認證密碼在內的敏感信息添加到鏡像中,為生產環境中部署的應用埋下了相應的安全隱患,因此需要對Docker容器進行鏡像脆弱性分析。
3 Docker容器的鏡像安全加固
針對Docker容器存在的鏡像安全性問題,采用避免使用特權用戶等有效措施,對Docker容器進行鏡像安全加固。
3.1避免使用特權用戶
若在Dockerfile中不使用USER進行指定用戶的情況下,將會默認按root的權限進行啟動應用程序,為了安全考慮,除非必須使用root權限,絕不使用root權限。
3.2不安裝不必要的軟件
安裝不必要的軟件將擴大攻擊面,帶來巨大的安全隱患。舉個例子,在容器中使用SSH服務將會增加安全管理的復雜性,而容器的SSH服務所提供的shell也能夠被替代,因此應避免使用SSH服務。
3.3鎖定系統中的重要文件
容器中有許多重要的文件,為避免被入侵時這些重要的文件被修改,所以我們應當鎖定相應的文件,以保證不會因重要文件被修改而帶來更大的安全隱患。
3.4配置文件的訪問權限
在實際使用過程中,為滿足業務需求,需要對受信任的用戶開放相應的權限,Docker鏡像中不正確的權限設置將直接威脅到Docker鏡像的安全,因此需要及時發現并對這些文件配置合理的訪問權限。……