我在 Ubuntu 8.04 LTS 上运行 Plesk 9.5,大约有 15 个网站感染了一些恶意代码,这些代码附加在 java 文件的末尾。我安装了 Clamav,它成功捕获了以 或 开头并以 或结尾的/*km0ae9gr6m*/
受感染文件/*gootkitstart*/
/*qhk6sa6g1c*/
/*gootkitend*/
我的 Plesk 面板已更新,并安装了安全补丁。如何隔离服务器上的安全漏洞?
答案1
首先,如果存在 rootkit,你可能要进行一场永无止境的战斗。让服务器离线,重新安装并恢复感染前的备份。这是“最佳”修复方法。
其次,您在感染之前是否更新了补丁程序等,还是在感染之后才进行修补?
第三,Plesk 之外的服务器上正在运行什么自定义代码?你怎么知道那是感染媒介?
如果没有审计和沙盒,您将很难知道发生了什么。如果数据库正在运行,那么系统上可能有人编写了错误代码。如果其他人可以访问服务器,那么他们可能做了一些事情来感染它。网站是否以不同的文件权限运行以隔离可能的损害?或者这些网站是否几乎共享所有资源?其他用户是否参与其中并能够运行脚本?他们是否安装了不同的小部件和其他东西?文件是否有时间戳,以便您可以返回日志以尝试了解发生了什么?
如果日志位于被入侵的同一台服务器上,那么日志也可能被更改。
最后,最好的办法是让服务器离线,然后通过从备份重新安装来修复它。否则您不能完全信任它。如果您有任何“个人”数据(用户密码?),则需要告知他们他们的信息可能已被盗。然后开始在系统上设置某种审计,并通过安全的通信通道将日志文件发送到辅助服务器,这样入侵者就无法删除日志。并在另一台服务器上运行某种文件检查实用程序(如 Stealth),以监视文件完整性并警告您更改。
如果不知道您的服务器还运行着什么,其他人就无法告诉您它是如何受到攻击的。
答案2
没有通用的方法 - 一切都是亲自动手的。通常,您需要配置广泛的日志记录,最好不仅要从您正在检查的系统配置,还要从您定期归档的独立 IDS 配置。此外,还需要大量的计算机安全和取证经验,否则您就没有机会了。
但由于当今的恶意软件通常会进行大规模感染,因此很有可能已经为您完成了这项工作:
http://www.m86security.com/labs/i/GootKit--Automated-Website-Infection,trace.1368~.asp
显然,攻击者不会手动感染数百个网页,而是使用脚本或僵尸网络为他们完成工作。 [...] 另一个这样的机器人被称为GootKit。[...] 我们不确定控制服务器是如何获得所有 FTP 凭证的,但大多数情况下,这些凭证是通过安装在网站管理员电脑上的键盘记录器和信息窃取恶意软件窃取的。
答案3
尽管从二月份开始安装了 Parallel 的安全补丁,我们仍然在 plesk 9.5 服务器上看到了这种情况。
基本上,他们会在登录页面发送 POST 请求,无需授权即可进入,然后直接进入所见即所得文件管理器并将代码附加到 js 文件中。Plesk 拒绝承认这一点,唯一的选择是关闭防火墙并允许特定 IP。
您将在 plesks admin/log 目录中的 httpsd_access 日志中找到 POST。
全局 sed 将删除代码,因为幸运的是它们都以相同的字符串开头。
答案4
在经历了失去客户和再次感染的几周恐怖经历后,我们收到了 Parallels 技术支持的回复:
请注意,互联网或我们的论坛上报告的所有漏洞问题实际上都可以追溯到 Plesk 中的一个旧漏洞,该漏洞在以下 KB 文章中有完整描述:
http://kb.parallels.com/113321
文章 #114379 也提到了此信息。请仔细检查文章 #113321 和相关文章,以验证问题是否存在,安装所有必要的微更新,并确保服务器通过批量密码重置受到保护:
http://kb.parallels.com/en/113424 http://kb.parallels.com/en/9294 http://kb.parallels.com/en/113391
不过,就第一份声明而言,相当有趣的是,7 月 15 日,Parallels 带来了另一个“安全”补丁。