什么时候可以安全地closuresopen_basedir?

如果我在Apache SuExec下使用Suhosin作为CGI运行的PHPopen_basedir必要? 我听说在共享主机环境中,这些网站不在您的直接控制之下是好事,但是如果这些网站都是我自己的?

我build议你总是希望尽可能地限制最严格的权限。 SuExec和Suhosin是一个很好的开始,但许多文件可以被“其他”读取(例如一些日志,可能是其他网页文件等),一些位置(例如/ tmp)可以被所有人读取。 而且,SuExec不易受到漏洞的影响 – 额外的预防措施总是有益的。

从这个angular度来看,尽pipe它是你正在运行的代码,但是漏洞的可能性依然存在。 如果你的代码受到攻击并且有人能够执行其他代码,那么你需要采取任何可能的保护措施。 你所拥有的每一个额外的安全措施将有助于限制在一个受损系统上可能造成的损害。

理想情况下,您的每个网站都将被安装在chroot监狱(更好的性能和安全性) – 但是,这往往是很多工作来设置和维护。 使用open_basedir是一个很容易设置的select(尽pipe对于漏洞利用不是免疫的),这通常对大多数站点的function影响不大。 至less有一个案例对SuExec有帮助。

open_basedir的确有一个性能损失 – 但是如果这是一个主要的问题,最好是基准你的网站的性能有没有它,看看它们之间的差异是否显着(在这种情况下,你可以考虑chroot方法,如果你的系统允许的话)。

总是期望最糟糕的,即使你可能希望最好的。