乐趣区

关于centos7:服务器被攻击挖矿用户CPU爆满TOP无法找到挖矿进程问题处理

解决领会

从利用拜访巨慢,到发现被挖矿攻打,再到进行解决,最初 CPU 恢复正常
从头至尾还是没有查明病毒到底是从什么破绽入侵到我的服务器里的。也没明确到底是在哪一步才真正的杀死了病毒,亦或者病毒还仍然蛰伏在隐秘的角落。


环境阐明

  • Centos7, 外网只裸露了利用 80 端口,22 端口只容许内网拜访
  • Mysql5.7
  • Nginx1.16.1
  • Redis(只容许本机拜访,且有明码)
  • Apache Tomcat/9.0.13

病毒表现形式

  1. 利用拜访变慢,比方查问,平时 100 毫秒内的可能会要个 1000 毫秒,而之前在 1000 毫秒左右的可能会卡的查问超时。
  2. 服务器的命令响应会变慢,例如 TOP、LL 等根底命令。
  3. 进行 SSH 登录服务器会巨慢。
  4. TOP 命令无奈看到 CPU 爆满的过程,然而切换至用户 CPU 会看到每个 CPU 都跑满了

TOP 里按 CPU 使用量查问并没有找到

  1. 以上就是为什么利用变慢了,因为 CPU 资源都被占满了嘛。

解决过程

1、革除被新增的用户名和明码

# 找到了一个名为 ftp1 的账户,账户 ID 和权限组都是 0 跟 root 同级别了,不是我建的,删掉保留。vim /etc/passwd

2、删除免密登录

# 免密登录里也被退出了 Key, 这里要确保本人没有设置免密登录,并且账密登录能失常应用才间接删除,防止本人在近程状况下无奈应用,rm -rf ~/.ssh/authorized_keys

3、革除定时工作

crontab -l 不肯定能看到被病毒新增的定时工作,所以咱们间接更改文件
cd /etc/cron.d 
# 找到不是属于本人建设的定时工作,这里能够比照其余失常机器发现异常工作
还有一个中央也需查看删除
vim /etc/crontab
# 同上操作统一

tips:
以上操作可能会提醒无奈保留或者删除,是因为病毒将文件加了锁。
咱们执行 charttr -isa [文件 | 目录]之后就能够删除了

4、删除 ld.so.preload 文件

rm -rf ld.so.preload

5、做完以上操作,重启服务器,

挖矿的过程终于得以在 top 命令里显行

然而杀掉还是会重启

top
# 找到 cpu 利用率最高的 PID
systemctl status [PID]
# 找到 Loaded: 前面的文件进行删除
# 删一次文件之后再杀一次过程, 然而挖矿病毒还会再开过程,我就持续删文件持续杀过程。# 直到我再应用 systemctl status 去查看挖矿的过程 ID 的时候,居然提醒我 Failed to get unit for PID 29073: Access denied

6、重启服务器

说实话在无奈查看过程的时候我真没法子了,毕竟服务器这块不是业余。有些法子网上搜不到我就不好解决了。
我就想着也删了这么多文件了,重启试试吧,折腾了一天也累了,顺带也有点失落,reboot 之后没抉择持续重连,而是讪讪回了家。
而后第二天登陆一看,cpu 利用率居然没再回升了。然而我仍然快乐不起来。

所以最终后果是服务器看似失常了,然而我还是抉择重装加格式化,因为怕了,我之前也被攻打过一次,我晓得是因为 redis 的起因导致的,也很快解决了,而这一次实属败的很惨。

退出移动版