【已解决】“魔铲”挖坑木马导致rbd-gateway和rbd-repo始终无法启动

请完善如下信息,方便我们协助排查问题

Rainbond版本:
操作系统:centos 7
内核版本:CentOS Linux release 7.8.2003
环境:(云服务商,虚拟机等)
节点配置:8核64GB
安装类型:
如何复现:rbd-gateway和rbd-repo始终无法启动,所有服务都无法访问
尝试解决:
相关截图:


是否重新执行安装:

集群或应用问题额外需要提供如下信息:

  1. 集群是否正常(grctl cluster)
  2. 应用是否正常 (grctl service get <应用别名> -t <租户>)
  3. 应用监听端口是否正确,是否开启了健康检测,持久化目录是否设置正确
  4. 操作流程,能否复现
  5. 是否尝试过更新部分组件的镜像,是否有效
  6. 控制台报错或者异常请确定哪个接口报异常,F12

抄送: @dazuimao1990

到服务器里,执行下如下命令,看看它们怎么了:

以 rbd-gateway 为例

kubectl logs -f -l name=rbd-gateway -n rbd-system 

之前运行一直正常,也未重启

该用户操作系统中了挖坑木马,导致系统负载急剧升高,进而影响了 Rainbond 的组件运行。

服务器一旦遭遇这一类型的木马,可以发现:

  1. 系统负载急剧升高,Rainbond 中占用系统资源较高的 rbd-gateway rbd-repo 等组件进入 crashbackup 状态。

  2. 系统内有若干名称类似 pwnrige 、 pwnrigl 、 pwnriglhttps 的服务。

上述服务可以临时通过以下命令禁用:

systemctl stop pwnrig*
systemctl disable pwnrig*

执行完毕后,观察系统负载是否降低。

负载降低后,Rainbond 组件会自动恢复。

这一类挖坑病毒会通过计划任务的方式 ‘死灰复燃’。

甚至将自己的脚本改写成为常见软件的名字来迷惑运维人员:

image

为了彻底解决病毒威胁,除了要执行上述临时方案,我们还需要检查所有计划任务,包括:

  1. 命令行执行: crontab -e 编辑计划任务,清理病毒的自动执行计划。
  2. 计划任务配置文件: /etc/crontab /etc/cron.d /etc/cron.daily /etc/cron.hourly /etc/cron.monthly/ /etc/cron.weekly/ 等文件与目录的内容,目录下会出现名为 pwnrig 的文件需要被删除。
  3. 记录所有在排查过程中出现的可疑文件名,如 /etc/.sh 这些文件应该被删除掉。

在清理过程中,操作系统会报错无权操作、无权删除等错误信息,原因是病毒作者为这些文件设置了隐藏锁属性,需要手动解除。

相关命令有如下两个:

lsattr <FileName> 该命令列示目标文件的所有隐藏属性,出现 i a 或者 ia则说明该文件被锁定 。
chattr -ai <FileName> 该命令操作目标文件的隐藏属性,-ai 的操作会将锁去掉。

通过上述的命令,可以分析出哪些文件隶属于病毒(文件隐藏权限加锁、名称怪异、在其他同发行版的正常操作系统中没有出现的文件。)
解除文件锁属性后,果断 rm -rf 之。

然而~~多半情况下,病毒作者会为了防止运维人员彻底杀死病毒而将上述两个命令的二进制彻底删除。不用担心,以下命令可以帮助运维人员找回这两个命令:

yum reinstall e2fsprogs -y