沙盒化 Web 应用程序

沙盒化 Web 应用程序

我想对托管在同一台服务器上的多个 Web 应用程序进行沙盒处理。为了测试我的方案,我在本地计算机上配置了一个 Apache Web 服务器,并在该计算机上托管了 Web 应用程序。其中一个 Web 应用程序存在漏洞,我想将该存在漏洞的 Web 应用程序包含在其自己的 shell 中,并且不干扰托管在同一台服务器上的其他 Web 应用程序。

我该如何实现这一点?有哪些选项,例如强制访问控制策略,如 apparmor、selinux 或 chroot。这是一种好的做法吗?目前的做法是什么?

答案1

不同级别有很多选择:

  • 正如您所说,MAC、内核和系统安全强制措施。您可以将 Grsecurity 添加到列表中。
  • 解释器/进程隔离:SuPHP、SuExec、PHP-FPM 池……:网站在其自己的用户下运行
  • 系统隔离:chroot,或者更好的是容器/命名空间(LXC、OpenVZ、Vserver、Jails、Zones)
  • 甚至完全虚拟化……

在多个层面上工作是很常见的。例如,我认为 Grsec + (SuPHP 或 SuExec) 是相当常见的。

相关内容