我们想要设置一个运行 Apache2 和 PHP5 的共享 Web 服务器。我们的需求是托管一些 PHP 应用程序,如 Wordpress、Zend 框架应用程序……某些网站可能由外部开发人员控制,因此我们需要较高的安全性。
我们希望在 php safemode = Off 的情况下运行,因为在安全模式下运行 wordpress 会出现问题。
我们如何保护从 php 应用程序到服务器其余部分的访问/权限? (如何确保 PHP-cade 无法访问网络服务器配置文件、日志等)
我们如何确保两个站点之间的访问/权限安全? (如何确保一个站点不能访问另一个站点的文件/数据)
我们考虑过利用 mpm-itk 与 open_basedir 结合,但这足够吗?
对于服务器文件系统的访问权限有什么建议吗?
那么禁用某些函数(例如 system()、exec() 等)怎么样?
答案1
答案2
如果您想要一个安全的服务器,请不要运行 Wordpress,也不要运行外部开发人员编写的代码。
但既然这似乎是一项基本要求,那么除了设置安全 http 服务器时应该做的所有常规事情之外......
open_basedir 是个不错的开始。但是如果您只需要将 2 个站点分开,为什么不直接将它们放在服务器上各自的 VM 中呢?或者使用公共反向代理以不同的 uid 运行 2 个 Web 服务器实例?
您当然希望非常关注出口过滤。如果您打算采用单一 Web 服务器路线,一定要看看 suhosin。