Linode VPS收到举报发送垃圾邮件( spam originating),沟通与恢复记录
最近我们使用的一台Linode
云服务器被先被举报发送垃圾邮件,后来被服务商直接关机了,这里记录一下处理和恢复的过程,也算是难得的一次经验吧。
前兆:
几周前该服务器上有域名突然被停止解析,查询whois
显示域名状态为Client Hold
,查询域名注册后台(在时代互联注册的),有收到邮件提示:存在垃圾邮件,当时觉得这个域名是一个新网站,可能是域名别人注册过之类的,没有引起重视,第二天域名状态恢复为clientTransferProhibited
可以正常使用了。
收到举报
1月29日,突然收到Linode
管理员的ticket(Linode
上的管理员都是通过ticket与客户交流,感觉和微博的私信形式差不多,只有客户和管理员能看到)。大概意思是说收到有关组织的投诉:你的服务器正在发送垃圾邮件,请在24小时内跟进。另附上来自junkemailfilter.com
举报的邮件原文。
排查木马
因为该服务器并没有安装邮件服务,收到ticket
后,第一反应就是被黑了,黑客应该是通过php
木马程序发送邮件的。
(该服务器上的所有网站前台后台都访问正常,大大提升了找出木马的难度。)
最初是打算用find
命令来查找,可是该服务器上网站众多,而且基本都有缓存文件 ,文件数量数十万级,试了几种查找都没办法,无奈放弃,只好改用人工排查。主要使用ll
命令找找有没有属于可疑用户的文件,后来在一个WordPress
网站(后来发现就是之前被停止解析的那个)的根目录下,找到了一个叫session.php
,可疑之处列举一下,可以为以后类似排查工作做个参考:
1.首先,熟悉WordPress
的人应该知道,WP根目录下没有session.php
这个文件,该文件应该在wp-includes
中,当然这个需要基于对网站的熟悉;
2.通过ll命令发现,该网站下的文件大都属于root
(因为该网站上传压缩包后管理员解压的),而session.php
用户是apache
,显然是后来生成的,使用vim
查看,居然都是16进制书写的,很明显作者不希望被发现其意图;
3.根据以往的经验,这种入侵都是从wp
模板开始的,打开该站的模板目录果然有四个用户为apache
的文件:其中title.php
,404_error.php
,category-product.php
三个应该是注入的后门都是接收/判断参数的,内容完全一样;config.php
应该是木马文件,也是使用16进制书写。
服务器被关机与沟通解决
删掉木马,本来以为万事大吉了,谁知第二天早上发现服务器被关闭了,查看ticket
,有更新。
突然想起之前说的是24小时内跟紧而不是24小时内解决木马。及时沟通比查杀木马更重要。于是回复说我们已经解决了木马问题。
但是管理员接着问了服务器是什么情况、如何处理木马的、如何应对未来的入侵的。一一如实相告。(回复的时候是可以上传附件的,我们直接把木马样本上传了。)
每次提问的管理员都不相同,感觉是一个流程吧,如实回答就行(学好英语很重要…),管理员有时候不能及时回复,多等一会就好 最长的一次大概等了两小时吧。
总结
1.服务器上的域名出现异常要及时处理
2.平时要经常查看ticket
,早点知道问题早点解决,不然会被关机;
3.经常升级WordPress
程序;
4.注意各个网站的权限;
5.经常查看新生成的php
文件,尤其是用户为apache
的php
文件;
6.及时回复ticket
,不然即使问题解决了,还是会被关机。