事件起因

​ 这件事的起因最初是因为腾讯云报告了一个异常登陆的通知,如下图

起初我没有很在意这个事情,就是简单了换了ssh的登陆密码,想着估计密码太简单被破解了,所以没当回事。然后第二天早晨刚睡醒发现网站进不去了,其实到这里我还是无所谓,我当时的想法是估计访问量太大了,服务器崩了,重启一下就能好(因为我买的服务器带宽不大,访问量过大崩了也正常)。然后我睡眼朦胧的打开我的网站,出现了下图:

其实这个页面看不出什么具体问题,所以我先重启服务器,但无果,然后想着可能ssl证书到期了,然后去看了眼发现ssl证书并没到期。到这里我就开始慌了,然后我进入了宝塔界面,下图就出现在了我眼前:

哦豁!炸胡。。。。。,正常的使用率应该是这样的

当时我就傻了,然后开始搜各种教程,开始着手解决这个问题。

问题处理过程

下面记录一下我处理这个问题的过程:

1、先用top看了一下进程的运行情况,然后发现有一个kswapd0进程

然后网上搜了一下这进程是什么,发现是一个挖矿木马病毒,产地:荷兰,就是这个进程让我的cpu爆满,同时内存也被占用,

然后我看了一下这个进程的网络信息

netstat -antlp|grep kswapd0

然后我查了一下45.9.148.234这个ip的来源地:

其实还有一个进程也有问题,就是rsync,应该是病毒缓存文件,因为我查了这个进程的ip来自罗马,忘记截图了,好嘛简直了

2、查看计划任务

crontab -e或者crontab -l

其实正常来说这个文件应该是空的,因为我没有写过任何定时任务,很明显就是这个病毒的。

3、解决过程

先把那两个进程的pid记下来,然后用kill -9 pid杀死进程,然后把计划任务里的任务删除(否则你杀死进程,这个进程过段时间还会起来),然后把相关联的文件都删了,包括/tmp,/root/.configrc5等文件下的子文件全删了。

然后我立马关闭ssh密码登录,换成了ssh密钥登陆,然后把22端口也给换了,然后加了一个脚本防止出现奇怪的定时计划。

cat /etc/passwd | awk -F":" '{print $1}' | while read -r line
do
    echo $line
    crontab -l -u $line
done

然后用nohup+命令+&将其永久性的放在后台运行

4、处理结果

做了以上的操作cpu的负载降下来了,回归正常,然后把nginx重新打开,网站就正常了,但是我的内存却依旧没有降下来

我不知道是哪里没有删除干净还是啥的,所以我最后的处理方式是回滚到之前的镜像,而我的快照里最近的一个备份镜像是2022年10月份,所以之后写的内容包括对网站的优化就都没了,虽然很心痛,但还是这么做了。

总结

这是我第一次真真实实碰到木马病毒,虽然学过安全方面的理论知识,但是真的发生在我身上后,我是手足无措的,我几乎不知道如何排查和处理,最基本的病毒排查的流程都没有概念。

其实我一直以为网络安全离我很远,感觉病毒木马挖矿什么的不会发生在我身上,直到这一次我才发现其实病毒木马什么的就在我身边。

这里也非常感谢很多小伙伴给我提供的技术支持。


lionの金库