使用 Apache 和 mod_php 时隔离 PHP 应用程序的正确方法

使用 Apache 和 mod_php 时隔离 PHP 应用程序的正确方法

我在 Linux 机器上为朋友/家人运行一些 Wordpress 博客,我想防止其中一个博客的漏洞对其他博客造成损害。目前还没有发生这种情况,但其中一位博主安装了她能找到的所有插件和主题,其中一个必然会存在漏洞——这只是时间问题。

我使用的是 Amazon Linux Apache/PHP 安装,因此我基本上有一堆预分叉的 Apache 进程,它们都以同一用户身份运行,并且应用程序目录都归 www-data 所有。我希望所有安装都以不同的用户身份运行,但我想避免使用 FastCGI。使用 mod_php 时是否可以以这种方式隔离?

编辑:如果有一个解决方案可以解决这个问题,并且不需要对每个目录进行单独使用,我也可以接受。任何可行的技术都会受到赞赏。

答案1

虚拟机是关键。将每个人或每件事都隔离在自己的虚拟机中。

答案2

是的,这是可能的。如果您不介意速度受到影响,您可以使用 MPM ITK 以自己的用户身份运行每个 Apache(您需要在每个站点的主目录上设置适当的文件系统所有权和权限,以便其他用户无法进入)。这样您就可以继续使用 mod_php。不过,请务必阅读其主页上的“怪癖和警告”部分(http://mpm-itk.sesse.net/) 并确保您的情况的优点大于缺点。

相关内容