
所謂的特權容器 (privileged container),簡而言之就是 Docker 環境中擁有主機完整系統權限 (root) 的容器,它可存取一般容器無法存取的資源。特權容器的用途之一,就是在 Docker 容器當中執行另一個 Docker daemon;另一個用途就是當容器需要對硬體進行直接存取時。原本,在 Docker 中執行 Docker (也就是所謂的 Docker-in-Docker) 的用意是為了開發 Docker 本身。但今天,特權容器已經出現各種不同的使用情境,例如在開放原始碼自動化伺服器 Jenkins 當中將持續整合/持續交付 (CI/CD) 工作自動化。然而,執行特權容器卻可能帶來安全上的疑慮。以下我們將詳細說明,執行一個擁有特權但卻不安全的容器,如何讓網路犯罪集團有機會在企業的系統當中植入後門。
特權容器的問題
一般來說,使用 Docker-in-Docker 是為了在現有容器當中再執行另一個容器。不過,使用一個缺乏安全的特權容器,可能會引發一些嚴重問題。
繼續閱讀