在监狱内使用 SELinux 有意义吗chroot
?我想既然在chroot
监狱里就应该只有最低限度的东西,所以不能有太多妥协。
在监狱内使用 SELinux 还有好处吗chroot
?
答案1
是的,即使在容器中执行 SELinux 策略也可能是值得的。 SELinux 背后的一个想法是建立第二道防线,即如果某个容器(或chroot
)崩溃,其中的进程可能仍然无法执行其想要的操作 - 或者,由于 SELinux,它甚至可能无法破坏容器 -或者,它甚至不能在容器/chroot 中做一些不需要的事情。
答案2
chroot 监狱仅阻止在 chroot 中运行的进程直接访问 chroot 之外的文件。它不会阻止 chroot 中的进程访问文件以外的东西,例如其他进程(如果以同一用户身份运行,则可以杀死并跟踪)、网络等。它也不会阻止 chroot 中的进程防止利用其他进程的错误(例如 setuid 程序)。
Chroot 本身并不是一个安全工具。 Chroot 仅结合其他措施提供安全性;至少,监狱内运行的任何进程都必须在与监狱外运行的任何进程不同的用户 ID 下运行。
如果设置正确(这可能很困难),SELinux 可以提供隔离,即使对于以 root 身份运行的进程也是如此。如果您有 SELinux,Chroot 作为安全工具实际上是多余的 — 您可以设置 SELinux 将程序限制在某些目录中 — 但正确设置要容易得多。