VPS 中跨多个站点的 www-data 安全问题

VPS 中跨多个站点的 www-data 安全问题

我最近买了一个 VPS,从中学到了很多东西。我设法创建了一个 ftp 用户,将其设置为我网站文档根目录的所有者,将其添加到 www-user 组,将该组设置为文档根目录的组,并授予文件 0775(0664)权限。

我的问题是,如果 www-data 可以访问和修改文档根目录中的文件,那么其他网站的脚本是否也能修改这些文件(现在使用 .htaccess 保护这些文件不向公众开放)?

注意:我希望 www-data 具有写权限,因为 PHP 脚本应该能够修改这些文件。

如何解决这个问题?

答案1

为了解决这个问题,您必须使用自己的凭据运行每个站点实例,而不是使用www-data

如果使用apache,您可以使用apache-mpm-itk及其AssignUserID参数,为每个不同的站点/虚拟主机分配特定的用户/组。使用此方法, 、apachephpcgiecc 都将使用分配的凭据运行。

另一个特定于 php 的方法是suPHP,它基本上使用特定的用户/组凭据运行你的 php 脚本。

答案2

我认为最好不要让 Apache 用户或组在所有文档根目录中写入。无论是否使用 apache-mpm-itk/suPHP/mpm-peruser,也许您应该检测 Apache 真正需要写入哪些文件和目录(每个站点),并仅向组授予这些文件/目录的写入权限。

相关内容