Security

是什麼讓 systemd-nspawn 仍然“不適合安全容器設置”?

  • October 20, 2014

這在systemd-nspawn的手冊頁中有說明

請注意,即使採取了這些安全預防措施,systemd-nspawn 也不適合安全容器設置。許多安全功能可能會被規避,因此主要用於避免容器對主機系統的意外更改。該程序的預期用途是調試和測試以及建構與引導和系統管理有關的軟體包、發行版和軟體。

這個問題隨後在 2011 年的郵件列表中被問到,但答案似乎已經過時了。

systemd-nspawn 包含現在CLONE_NEWNET使用該--private-network選項執行的程式碼。這似乎涵蓋了私有AF_UNIX命名空間問題,我猜提到了CAP_NET_RAW和問題。CAP_NET_BIND

在這一點上還存在哪些問題,例如 LXC 除了systemd-nspawn目前可以做什麼之外還做了什麼?

LXC 稍微好一點,因為它可以以非特權使用者的身份執行容器。這可以通過 systemd-nspawn 實現,但僅適用於您只需要一個使用者(而不是多個使用者)的場景,這對於容器場景中的多程序來說可能很困難或不太安全。如果您想知道為什麼 docker、lxc 和 systemd-nspawn 本質上不是可靠的安全機制,請閱讀以下內容:https ://opensource.com/business/14/7/docker-security-selinux 。基本上,容器仍然可以訪問核心,並且任何核心漏洞都可以控制整個機器。在像 Linux 這樣的單片核心上,核心漏洞利用並不少見。

引用自:https://unix.stackexchange.com/questions/145739