当站点以 FastCGI 形式运行时,文件如何以 apache 形式添加到站点?

当站点以 FastCGI 形式运行时,文件如何以 apache 形式添加到站点?

我有一台 Web 服务器,在 Parallels Automation 11.5 环境中运行许多不同的网站(标准 vhosts 设置,大多数网站基于 Joomla,少数为 wordpress 和其他非 CMS 网站)。Web 服务器上的 apache 版本为 2.2.15,多个 PHP 版本都存在同样的问题。

我们的网站遭到了多次黑客攻击,我们的服务器正在变成一个垃圾邮件发送机器人。据我目前所知,恶意人员能够上传 PHP 文件,通常是上传到 docroot,但有时会上传到 images 文件夹,遵循 wn.php (w12345678n.php) 命名模式,据我所知,这是 WSO Web Shell。然后,该人似乎使用该 Web Shell 将注入/恶意代码添加到网站的其余部分。

令我感到奇怪的是,这些网站以 FastCGI 形式运行,因此所有文件都归特定帐户(bob_ftp 等)的 FTP 用户所有,但 WSO shell php 文件被放置在 apache:apache 所有权下的 Web 服务器上。

我猜这些文件是通过某种 Apache 漏洞添加的,但我没有找到罪魁祸首。有人能告诉我如何锁定这些恶作剧吗?最好是通过关闭漏洞,但目前我只想找到某种方法来减轻损害,这样我就不必在这上面浪费太多时间了。

答案1

文件是在运行该进程的用户下创建的。如果它们归 apache 所有,并且位于 apache 可写的目录中,那么请问问自己,为什么 apache 需要在该区域“完全”写入。进一步收紧文件权限:chown root、chmod o-wrx 等。Apache 通常只需要读取权限,而不需要所有权。

验证 /etc/passwd 中的唯一 uid,apache 的 uid 可能有重复的隐藏在那里。

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

相关内容