有没有比 chroot 环境更好的替代方案?我正在考虑在监狱环境中运行 nginx。
顺便说一句,我使用的是 OpenVZ VPS,所以修改内核是不行的。
(我认为这会阻止我安装 SELinux、AppArmor 等)
答案1
忘记了神话关于 Chroot 为何不是安全功能……它是集成的作为一项安全功能进入各种规模和风格的主流应用因为某种原因
OpenVZ 本身基本上就是 Chroot on Steroids,这应该或将会是您所需要的全部。只要符合 Chroot 设置标准和典型程序即可。
一般来说,如果您只是想为 NGinx 提供额外的安全层,那么请使用 Chroot。您主要是试图通过这样做来提供用户之间的隐私,或者通过编码不良的内容管理系统提供安全性。
举几个小例子,这有助于防止目录遍历攻击、远程文件包含错误或在基本系统上执行应用程序。它还可以通过包含对 Chroot 目录的损坏来帮助防止任何已知、未知或未来的 NGinx 漏洞。
不过,话虽如此,请务必保护您的基础系统,并检查您的操作系统存储库正在使用哪个版本的 NGinx,并将其与当前可用于 NGinx 的任何安全建议进行比较。您可能想编译到最新的稳定版本并使用它。
R-FX Networks 有一个实用的应用程序,它可以帮助防止某些针对正在运行的守护进程的攻击,而无需使用 AppArmor 或 SELinux。它被称为SNIV。
了解为什么 Chroot 在当今时代仍然是一个完全有效的安全工具的更多信息;看这个答案我最近对这种情况进行了更彻底的解释。
答案2
在 OpenVZ VPS 内使用 Linux 容器、LXC。这是可能的。