我计划租用并安装一个带有 Debian xor CentOS 的 vServer。我从我的主机得知,vServer 是使用 linux-vserver 虚拟化的。
假设有一个 lighthttpd 和一些邮件传输代理正在运行,我们必须确保如果 lighthttpd 被黑客入侵,存储的电子邮件不会被轻易读取。
对我来说,这听起来不可能,但我可能遗漏了一些东西,或者至少你们可以验证这种不可能性……:)
我认为基本上三显而易见的方法。
这第一的是加密所有数据。然而,服务器必须将密钥存储在某处,这样攻击者才能猜出这一点。
第二可以隔离关键服务,例如 lighthttpd。由于我不允许在 linux-vserver 中执行“mknod”或重新挂载 /dev,因此无法使用 lxc 或类似技术设置嵌套 vServer。
这最后的方法是进行 chroot,但我不确定它是否能提供足够的安全性。此外,我还没有尝试过,我是否可以在 linux-vserver 中进行 chroot……?
提前致谢!
答案1
如果 lighty 和 mta 运行在同一个操作系统/进程空间中,那么完全将它们分开并非易事。当然,您可以尝试通过文件系统权限阻止 lighty 读取邮件,但我猜这不是您想要的。加密数据是不可能的,MTA 必须读取它;如果有人通过 lighttpd 入侵,他们可能也能获得 root 权限,因为最近有(并且还会有)大量针对 linux 的本地 root 漏洞。
我建议在盒子上设置 MTA,并为 Web 服务设置虚拟化。或者更好的做法是:将两个服务都放入虚拟机中:即使 MTA 被黑客入侵(这并非完全不可能,请参阅 exim 远程根漏洞),您的 Web 服务仍然正常。
顺便说一句:如果您拥有 root 权限,您可以轻松摆脱 chroot。
答案2
“分而治之”通常是答案。与 OpenVZ 这样的解决方案相比,Chroot 是一个相当弱的工具,但它有http://grsecurity.net/(是的,它们都需要你修改内核)。其他值得一提的名字是 AppArmor 和 SELinux。这些经常被人遇到,因为它们背后有有价值的发行版制造商。
答案3
答案4
(我知道这是一个迟来的回答。)
在 Ubuntu(可能还有 Debian)上,从 安装的 Postfix 包会apt
自动使用 运行chroot
。
在我的大多数服务器上,除了 root 用户(这是 Ubuntu 上的默认用户)之外,我还会以其他用户的身份运行 Apache 和 MySQL。
如果您观察文件系统权限,那就应该是您所需要的全部。