我有一台装有 Apache、php、mysql 和 proftpd 的 Debian 服务器。然后我上面有 6 个域。每个域都是一个文件夹(带有 joomla、drupal 等)。现在我需要将每个目录与另一个域目录完全分开 - 我的意思是我应该怎么做才能阻止一个域(目录)内对另一个域的任何访问?
因此,任何脚本都不能访问域外系统中的其他文件(这比打开 basedir 安全得多)。当有人使用 joomla 攻击域时,他不能更改/访问另一个域或服务器中的其他文件。
如何才能做到这一点?
答案1
为此,您可以进入各个层。
首先要将文件全部移动到不同的目录中,然后使用 php 中的 open_basedir 锁定每个 vhost 的包含目录。为了使其更安全,您可以为每个 vhost 运行一个 php-fpm 池,或者使用类似 suPHP 的程序为每个用户运行 php 进程,这样您就可以锁定目录以仅允许这些特定用户访问文件。
我希望这是有道理的