什么时候关闭 open_basedir 是安全的?

什么时候关闭 open_basedir 是安全的?

如果我有 PHP 和 Suhosin 在 Apache SuExec 下以 CGI 形式运行,是否open_basedir有必要?我听说最好在共享托管环境中运行,因为这样网站就不在您的直接控制范围内,但如果这些网站都是我自己的呢?

答案1

我建议你始终使用尽可能严格的权限。SuExec 和 Suhosin 是一个不错的选择,但许多文件可以被“其他人”读取(例如某些日志,可能是你的其他 Web 文件等),并且某些位置(例如 /tmp)可以被所有人写入。此外,SuExec 并非对漏洞免疫 - 额外的预防措施总是有益的。

从这个角度考虑 - 即使您正在运行的是您的代码,漏洞的可能性仍然存在。如果您的代码受到攻击并且有人能够执行其他代码,您需要采取一切可能的保护措施。您采取的每一个额外保护措施都将有助于限制可能对受攻击系统造成的损害。

理想情况下,您的每个网站都应设置在 chroot jail 中(性能和安全性更高) - 但是,这往往需要大量工作才能设置和维护。使用 open_basedir 是一种易于设置的替代方案(尽管不能免受漏洞攻击),通常对大多数网站的运行影响不大。至少有一例即使使用 SuExec 它也非常有帮助。

open_basedir 确实会降低性能 - 但如果这是一个主要问题,最好对使用和不使用 open_basedir 的站点的性能进行基准测试,看看差异是否显著(在这种情况下,如果您的系统允许,您可以考虑使用 chroot 方法)。

即使你希望得到最好的结果,也总是要做好最坏的打算。

相关内容