我的客户的网站最近遭到了破坏,他们正在寻求缓解这一风险。 他们有专门的服务器运行Apache和mod_php。 该网站由三个独立的php应用程序安装在不同的文件夹(客户门户脚本,wordpress和自定义的数据库驱动的脚本)。 他们的安全审计build议将每个脚本隔离开来,这样如果其中任何一个被黑掉了,另外两个脚本就不会被污损等等。他们还build议使用fast-cgi而不是mod_php。 Suexec也被提到,虽然不清楚为什么这被推荐。
有人可以确认,如果这是有道理的,实际上是可行的/可行的。 如果是这样,那么实现所提议的安全解决scheme的最佳方式是什么?
使用suPHP或者suEXEC(+ fcgi / cgi)对于保护你的服务器是一个很好的select(分开应用程序)。
但要做到这一点,你需要为每个应用程序有不同的虚拟主机,例如:app1.domain.com,app2.domain.com,app3.domain.com。 如果您的网站结构如上所示,使用3个不同的用户/组来提供3个虚拟主机(使用提到的方法 – suexec,suphp)将不会有问题。
如果是这样,那么实现所提议的安全解决scheme的最佳方式是什么?
为每个站点最好的使用虚拟机(KVM,OpenVZ,XEN,Jail)或使用chroot(mod_chroot,php-fpm)。