Docker 秘密安全嗎?

Docker 秘密安全嗎?

我想知道 Docker 機密的安全級別,因為它們被認為是安全的。當我向服務授予對機密的存取權限時,如預期的那樣,我可以看到臨時檔案系統安裝在/var/lib/docker/containers/<container ID>/mounts/secrets託管服務任務的節點上的容器路徑 ( ) 上。但是,我能夠捕獲此路徑內的文件並查看秘密的內容。

那時我想知道,是什麼讓秘密比配置更安全。據我所知,它們存儲在 RAM 磁碟中這一事實是它們與配置之間的主要區別。配置和秘密都在 raft 內部加密,唯一的區別是配置在安裝到容器時儲存在磁碟上的檔案中,而不是駐留在 RAM 磁碟上的秘密。但如果我能看到秘密的內容,真的會有什麼不同嗎?

答案1

很遺憾,有安全感這不是一個容易的術語。我更願意談談風險評估風險接受。一切都是為了回答問題,你有多偏執;您聲稱哪種解決方案是安全的。

根據文檔,我們有:

當您為 swarm 新增機密時,Docker 會透過雙向 TLS 連線將該機密傳送至 swarm 管理員。該秘密儲存在 Raft 日誌中,並且是加密的。整個 Raft 日誌在其他管理器之間複製,確保機密與叢集管理資料的其餘部分具有相同的高可用性保證。

秘密可用性。每個貨櫃短暫性。您永遠不知道容器在哪個節點上啟動並運行,並且您不應該太關心它。也就是說,這個秘密應該在容器運行的任何地方都可用。

記憶中的秘密。有一篇關於在記憶中保守秘密的文章,這裡。問題是......如果您不信任您的系統及其記憶體管理,那麼您將面臨比僅保存在記憶體中的密碼更大的問題。

不同之處。

  • 文件中的秘密通常以明文形式儲存。wp 配置最好將它們保持持久加密,並且僅在記憶體中不加密。
  • 秘密應該是旋轉的

說,你可以實現幾乎同樣的事情,透過讓你的秘密文件加密開放式SSL,解密並將未加密的內容放入記憶體中。所有這些都需要您手動完成。

相關內容