我正在查看一个服务器,它似乎已经通过 wordpress 插件中的错误受到了损害,并且现在正在发送垃圾邮件。
这篇文章似乎很好地报告了我所看到的情况。
所以我采取了这些步骤......
列出在 crontab 中运行内容的用户。
for user in $(cut -f1 -d: /etc/passwd); do echo $user; crontab -u $user -l; done | more
宾果,我的用户有很多脚本,看起来都很可疑。这个列表有很多这样的行。
* * * * * /home/tart/public_html/wp-includes/SimplePie/Content/1.sh
因此我编辑该用户的 crontab 并将其删除。
crontab -u tart -e
现在我运行它来查看跨度是否仍在发送...
tail -n 10 /var/log/exim_mainlog -F
啊,它还活着。
好的,让我看看 TOP
30596 root 20 0 71728 5864 3680 S 0.3 0.1 0:00.01 exim
30602 root 20 0 71728 5864 3680 S 0.3 0.1 0:00.01 exim
30608 root 20 0 71724 5860 3680 S 0.3 0.1 0:00.01 exim
30609 mailnull 20 0 71736 5244 3088 D 0.3 0.1 0:00.01 exim
现在我在这个服务器上没有运行邮件,只有一个网络服务器。所以我没有使用 exim。
所以让我停止 exim。
/etc/init.d/exim status
/etc/init.d/exim stop
/etc/init.d/exim status
进出口银行现已报告停止
因此我再次检查日志(tail -n 10 /var/log/exim_mainlog -F)
内容仍然出现在日志中。
让我再检查一下状态...
/etc/init.d/exim status
exim (pid 3169 3159) is running...
啊啊啊啊。
我还可以看到队列中有大量垃圾邮件需要发送……exim -bp
我的问题是这样的。
我怎样才能阻止这种情况?!?
我有“WHM Accelerated2”面板,当我检查“服务管理器”时,我可以看到“exim 邮件服务器”和“exim 邮件服务器(但另一个端口)”被禁用。
注意:这是“CENTOS 6.5 x86_64 标准 – ds-71494 WHM 11.46.0 (build 17)”
额外信息:
这是 root 的 cron 作业列表。
root
0 6 * * * /usr/local/cpanel/scripts/exim_tidydb > /dev/null 2>&1
30 5 * * * /usr/local/cpanel/scripts/optimize_eximstats > /dev/null 2>&1
2,58 * * * * /usr/local/bandmin/bandmin
0 0 * * * /usr/local/bandmin/ipaddrmap
53 22 * * * /usr/local/cpanel/scripts/upcp --cron
0 1 * * * /usr/local/cpanel/scripts/cpbackup
0 2 * * * /usr/local/cpanel/bin/backup
35 * * * * /usr/bin/test -x /usr/local/cpanel/bin/tail-check && /usr/local/cpanel/bin/tail-check
45 */4 * * * /usr/bin/test -x /usr/local/cpanel/scripts/update_mailman_cache && /usr/local/cpanel/scripts/update_mailman_cache
30 */4 * * * /usr/bin/test -x /usr/local/cpanel/scripts/update_db_cache && /usr/local/cpanel/scripts/update_db_cache
45 */8 * * * /usr/bin/test -x /usr/local/cpanel/bin/optimizefs && /usr/local/cpanel/bin/optimizefs
30 */2 * * * /usr/local/cpanel/bin/mysqluserstore >/dev/null 2>&1
15 */2 * * * /usr/local/cpanel/bin/dbindex >/dev/null 2>&1
15 */6 * * * /usr/local/cpanel/scripts/autorepair recoverymgmt >/dev/null 2>&1
*/5 * * * * /usr/local/cpanel/bin/dcpumon >/dev/null 2>&1
23 22 * * * /usr/local/cpanel/whostmgr/docroot/cgi/cpaddons_report.pl --notify
5,20,35,50 * * * * /usr/local/cpanel/whostmgr/bin/dnsqueue > /dev/null 2>&1
更新
我 98% 确定我知道袭击是如何发生的,而且我 98% 确定他们利用的漏洞已被堵住。(但我不能确定是否存在另一个漏洞)
使其离线:由于它是一个托管服务器,所以这并不容易。
重建:是的,给我几天时间来解决这个问题,但是现在我想停止垃圾邮件,并更多地了解 exim 是如何被激活的。
让我担心的是,exim 以 root 身份运行(如 top 所示)。我昨晚更改了 root 密码,其格式为 123$£!23#asd2"(不是简单密码)
查看出站计数,我发现...
root@ds-111110 [~]# grep '<=' /var/log/exim_mainlog | awk '{print $5}' | grep \@
5227 [email protected]
619519 [email protected]
因此看来 root 是垃圾邮件的罪魁祸首,这再次让我担心。
另请注意,该服务器上没有客户/敏感数据,因此重建起来很容易。
答案1
尽管我强烈地认为你应该摧毁任何重建任何受损的系统,这里有一些信息可以帮助您解决该症状。
在 *nix 系统上,通常你的邮件传输代理 (MTA) 将包含一个模拟发送邮件接口。系统上的任何程序都可以调用此程序来添加邮件传递。停止 MTA 守护程序不会停止此二进制文件接受邮件,并且根据 MTA,此二进制文件甚至会在没有运行 MTA 守护程序的情况下将邮件传递到 Internet。
一些程序还可以建立传出的 tcp/25 连接,完全绕过 MTA。
就您而言,您的脚本很可能只是调用了 sendmail。停止守护进程对停止电子邮件没有任何作用。一个简单的临时解决方案可能是添加一个 iptables 规则,完全阻止输出 tcp/25、tcp/465、tcp/587 连接。这些是众所周知的 SMTP 端口。您还可以更改 的权限/usr/sbin/sendmail
,并使其不可执行(chmod 0644 /usr/sbin/sendmail
)。
这不能解决您的问题,这只是一个临时插件,在您重新构建系统之前进行最后的备份并收集任何数据。
您需要找到问题的真正根源并加以解决。