我即将build立一个VPS,将托pipe我公司的多个网站,只有我将有权访问。 这些网站是我们自己的网站,因此,这是我自己的代码,将在服务器上运行。
所以我想知道,我应该打扰分离网站与他们自己的用户/组沙盒每个网站? 很显然,我不会上传一个shell到其中一个站点来读取其他站点的文件 – 我可以在SSH中:>
但是,我想的是,如果其中一个网站被其他人攻击,是因为在CMS /我的代码/等等中发现了一个漏洞。 如果我将其沙箱化,那么该网站就会被黑客入侵,而不是全部。
我应该打扰吗?
运行沙箱网站总是一个好主意。 但是,您需要问的一个重要问题是:您和您的客户是否愿意承担执行suexec / suPHP所带来的性能打击?
我找不到更新的文章,但是这个2007年的基准testingsuexec说它比普通的mod_php慢30倍左右。
如果您的客户端运行在混合技术堆栈中(例如,Perl和PHP都是必需的),您可能需要考虑使用MPM 。 用户MPM不是核心Apache代码库的一部分,但它在官方的Apache wiki上列出,似乎表明Apache基础认为这个MPM开发不会在一夜之间消失。
现在,如果你的客户只运行一个普通的LAMP栈(强调P),你可能需要考虑PHP-FPM 。 这是一个PHP-CGI的实现,它提供了原生的沙盒,chroot以及许多其他的定制,这些定制不是由原生的PHP-CGI + suPHP提供的。 另外, 从PHP 5.3.3开始, PHP-FPM是核心PHP堆栈的一部分,因此您不必担心兼容性问题。
简单的回答:是的,你应该。
分离系统上的不同(逻辑)用户总是一个好主意。 通过每个站点的个人用户,您还可以更轻松地强制实施文件系统配额或stream程限制。
根据应用程序的性能要求和function,您可以通过FastCGI而不是简单的CGI(SuPHP使用)来运行脚本。