我打算在 VPS 上托管几个小网站,每个网站都将运行我自己的自定义 PHP 脚本。我相当确定它们是安全的(按照书中的所有内容进行操作,还有一些书中没有的内容),以确保它们不会被利用。但为了安全起见,我想知道如何保护每个虚拟主机,以便它们无法从虚拟主机中逃脱(如果黑客上传了一个 shell,他们就无法进入 www 文件夹,而合法用户在 ftp 中无论点击多少次都无法进入 www 文件夹)Debian 和 Apache 上的文件夹。
答案1
- 使用苏霍辛并进行适当配置。
- 使用苏必利尔在不同的用户上下文中运行每个脚本。
chroot
运行脚本会获得加分,但这意味着创建和维护环境的管理开销很大chroot
。 - 阅读安全 Debian 手册并相应地配置您的系统。
答案2
你可以以不同的用户身份运行每个程序并使用 suexec。这很麻烦,意味着 php 不能作为 mod_php 运行,而必须作为 CGI 脚本运行。
否则,我认为很难 100% 确保一个脚本中的安全漏洞不会干扰使用 PHP 的另一个脚本。