当网站作为FastCGI运行时,如何将文件作为apache添加到网站?

我有一个在Parallels Automation 11.5环境中运行许多不同站点(标准虚拟主机设置,大多数站点是Joomla,几个WordPress和其他非CMS站点)的Web服务器。 Web服务器上的apache版本是2.2.15,同样的问题发生在多个PHP版本上。

我们的网站已经被黑客攻击了很多,并且正在把我们的服务器变成电子邮件垃圾邮件。 从目前我所知道的是,一个恶意的人能够上传一个PHP文件,一般是上传到文件根目录,但有时候上传到wn.php(w12345678n.php)命名模式的图像文件夹,从我可以告诉它是WSO Web Shell。 然后这个人似乎使用该网页shell添加注入/恶意代码的网站的其余部分。

令我感到奇怪的是,这些站点正在以FastCGI的方式运行,所以所有文件都由特定帐户(bob_ftp等)的FTP用户拥有,但WSO shell php文件正在被放到networking上服务器下apache:apache所有权。

我猜测这些文件是通过某种Apache漏洞添加的,但是我没有太多的运气来追踪这个罪魁祸首。 有人能指点我如何locking这些诡计吗? 最好通过closures这个漏洞,但是现在我只想要一些减轻这种损害的方法,所以我不用浪费太多的时间。

文件是在运行该进程的用户下创build的。 如果他们是由apache所有,并驻留在apache可写的目录中,那么问自己为什么apache需要在这个区域写下'at all'。 进一步加强文件权限:chown root,chmod o-wrx等。Apache一般只需要读权限,而不是所有权。

validation/ etc / passwd中的独特的uid,Apache的uid可能会有一个重复的隐藏在那里。

顺便说一句:如果你允许FTP用户写可执行文件,那么考虑使用chroot。