什么时候使用 chroot 合适/谨慎?

Mik*_*e B 9 security linux chroot

我一直听说需要 chroot BIND。很公平。但是其他程序呢?决定哪些程序应该被监禁的“规则”是什么(个人的或被广泛接受/建立的)?

-M

top*_*gon 12

当答案不是“出于安全目的”时。请参阅滥用 chroot

当有人建议将 chroot 频繁用作安全工具时,Adrian Bunk 反驳说,“实施安全解决方案的无能人员是一个真正的问题。” Alan 补充道,“chroot 不是也从来都不是一个安全工具。人们已经基于 chroot 的属性构建了一些东西,但扩展了(BSD jails、Linux vserver),但它们完全不同。”


Lau*_*eau 6

如果您的程序需要与系统上安装的库不同的一组/版本的库,那么这将是“chrooted”安装的一个很好的候选者。

chroot 还可以方便地在他们自己的环境中安装不同版本的 Linux 发行版,而无需使用 VM 或模拟器(在 Red Hat 下设置 Debian chroot)。


rap*_*ink 5

通常,您可能出于以下几个原因想要使用 chroot:

  • 不需要使用 OpenVZ 或虚拟机的另一个发行版/架构/发行版。例如,我使用 chroots 在 amd64 机器上同时拥有 i386 和 amd64 编译环境。
  • 限制用户访问系统。例如,您可以将 chroot 与 scponly 一起使用来限制用户有权访问的命令。这是一个非常有限的监狱系统,因为他们仍然可以访问网络。
  • 限制程序访问系统。通常,您可能主要希望为守护进程执行此操作,例如 bind 或 apache。这样,这些程序将无法直接访问系统,因此如果攻击者可以利用程序的安全漏洞,它不会直接访问系统,而是会发现自己在 chroot 中。它有助于增强安全性,但并不能保证您的系统是安全的。