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

开始

恶意的挖矿程序会导致服务器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命令可以编辑用户的定时任务组。其实还可以继续把定时任务指向的文件也删掉,不过我暂时没有动它们,这样万一我删错了出了上面问题,只用把定时任务补回来就可以 (虽然我觉得它们都有点可疑,无缘无故的哪有什么定时任务)


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

相关推荐
小刘|34 分钟前
Spring AI Alibaba 集成和风天气 API 实战
java·服务器·前端
暮云星影2 小时前
全志linux开发屏幕适配(一)屏幕参数设置说明
linux·arm开发
Maynor9962 小时前
我用 Codex 给自己的网站上线了一个智能体客服:从 Dify 到服务器部署,全程实战复盘
运维·服务器
聚名网2 小时前
域名net,com,cn有区别吗?有哪些不同呢?
服务器·开发语言·php
java_cj2 小时前
深入kubectl create源码:从YAML到Pod的完整链路拆解
运维·云原生·容器·kubernetes
小小小花儿2 小时前
SSH密钥配置(免密连接远程服务器)
服务器·ssh
swordbob3 小时前
NIO 的 Channel 里有多个 BIO 吗?
linux·网络·nio
深圳恒讯3 小时前
越南服务器BGP多线和单线有什么区别?
运维·服务器
Fcy6483 小时前
Linux下 信号的保存与捕捉
linux·中断·信号的捕捉·信号的保存
志栋智能3 小时前
超自动化运维如何提升安全合规水平?
运维·安全·自动化