服务器变矿机,该如何应对?

开始

恶意的挖矿程序会导致服务器cpu的异常占用,很让人讨厌。起初,我只是使用top命令显示出占用cpu不正常的进程,发现其中一个进程占用了百分之九十九点几,然后通过kill -9 <PID>命令干掉它。但总是过不了几天,它又重启了,cpu继续变得异常占用。

寒假有天阿里云的人打电话,问我服务器用得怎么样,有没有什么问题。我就告诉他,变成矿机了。他说可以提交工单交给他们来处理,还不用收钱。我将信将疑,今天突然看着又变得占用异常的cpu,打算试一下。不过,这个工单的入口藏得也太深了,我在网上搜了好一会儿阿里云怎么提交工单。

填写后我来到了如下页面,是个机器人客服。嗯······和我想象的有点儿不一样。

怀着一点儿好奇,我点进了它的文档,照它所说进行了排查。

排查

执行以下命令查看是否存在业务范围之外的可疑通信地址和开放端口。

iptables -L -n

很快我发现自己并不知道怎么判断是不是可疑的,不过好在这个命令没什么输出。

执行以下命令排查是否存在定时任务。

crontab -l
[root@iZwz9d3syuv1c0i2e3vy8lZ ~]# crontab -l
5 6 * * 0 /root/.configrc5/a/upd>/dev/null 2>&1
@reboot /root/.configrc5/a/upd>/dev/null 2>&1
5 8 * * 0 /root/.configrc5/b/sync>/dev/null 2>&1
@reboot /root/.configrc5/b/sync>/dev/null 2>&1
0 0 */3 * * /var/tmp/.X87s78s7/.rsync/c/aptitude>/dev/null 2>&1

我再次发现自己看不懂,不过,可以让机器人来看。

By 文心一言:

从您提供的 crontab -l 输出中,我们可以看到以下定时任务:

  1. 5 6 * * 0 /root/.configrc5/a/upd>/dev/null 2>&1 - 这个任务在每周日的6点5分 执行,并尝试运行 /root/.configrc5/a/upd。这个命令的输出被重定向到 /dev/null,意味着所有的输出(包括错误)都会被丢弃。
  2. @reboot /root/.configrc5/a/upd>/dev/null 2>&1 - 这个任务在系统启动时执行,并尝试运行 /root/.configrc5/a/upd。同样,它的输出被重定向到 /dev/null
  3. 5 8 * * 0 /root/.configrc5/b/sync>/dev/null 2>&1 - 这个任务在每周日的8点5分执行,并尝试运行 /root/.configrc5/b/sync。这个命令的输出也被重定向到 /dev/null
  4. @reboot /root/.configrc5/b/sync>/dev/null 2>&1 - 这个任务在系统启动时执行,并尝试运行 /root/.configrc5/b/sync。它的输出同样被重定向到 /dev/null
  5. 0 0 */3 * * /var/tmp/.X87s78s7/.rsync/c/aptitude>/dev/null 2>&1 - 这个任务每3天午夜执行,并尝试运行 /var/tmp/.X87s78s7/.rsync/c/aptitude。这个命令的输出也被重定向到 /dev/null

从这些任务中,我们可以看到以下几点:

  • 所有命令的输出都被重定向到 /dev/null,这意味着您不会在系统日志中看到任何输出或错误。这可能是有意为之,但也可能掩盖了一些问题。
  • 这些任务似乎都与特定的目录和文件有关,如 /root/.configrc5/a/upd/root/.configrc5/b/sync。确保这些路径是正确的,并且您有适当的权限来访问它们。
  • @reboot 指令意味着这些命令将在系统启动时自动运行。确保您知道这些命令在启动时做什么,以避免潜在的问题。

它也不能帮我直接判定上面的定时任务是不是运行挖矿程序的,不过它提到了一些任务的时间,那不如我就来看看cpu每次变得异常占用的时间。好家伙,其中三次都恰好是早上的6点,又对着日历一看,还真都是周日。结合上面机器人的描述,几乎实锤了。

不过我也不能确定其它的定时任务有没有问题,最后还是把它们都删了。使用crontab -e命令可以编辑用户的定时任务组。其实还可以继续把定时任务指向的文件也删掉,不过我暂时没有动它们,这样万一我删错了出了上面问题,只用把定时任务补回来就可以 (虽然我觉得它们都有点可疑,无缘无故的哪有什么定时任务)


然后就等着呗,希望挖矿程序就此销声匿迹。

相关推荐
九河云42 分钟前
AWS账号注册费用详解:新用户是否需要付费?
服务器·云计算·aws
Lary_Rock1 小时前
RK3576 LINUX RKNN SDK 测试
linux·运维·服务器
幺零九零零2 小时前
【计算机网络】TCP协议面试常考(一)
服务器·tcp/ip·计算机网络
云飞云共享云桌面3 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
Peter_chq3 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
一坨阿亮4 小时前
Linux 使用中的问题
linux·运维
dsywws5 小时前
Linux学习笔记之vim入门
linux·笔记·学习
幺零九零零6 小时前
【C++】socket套接字编程
linux·服务器·网络·c++
wclass-zhengge6 小时前
Docker篇(Docker Compose)
运维·docker·容器
李启柱6 小时前
项目开发流程规范文档
运维·软件构建·个人开发·设计规范