服务器CPU占用高问题处理记录

服务器CPU占用高问题处理记录

发现问题

客户采购的硬件服务器,我在上面从零开始搭建环境,部署微服务那一套,最近发现在服务器上执行命令卡顿,需要等1-2秒才能出来结果,然后执行 top 发现CPU占用一直很高,但是又看不到占用CPU很大的进程。
就 us 一直是90多(下面是清理后的截图,us 只有1点几了)
在这里插入图片描述
输入下面的命令(有推荐说,top后按shift P)

pidstat 1

在这里插入图片描述

发现有两个进程CPU占用的100%,Command是 zzh
ps查不到进程信息,直接kill这两个进程提示进程不存在
在这里插入图片描述
在这里插入图片描述

删除挖矿脚本

在网上搜索 zzh,发现 zzh 是一种挖矿脚本
然后就照着网上的教程去删除脚本

攻击者是在 etc 目录下植入一个 zzh 和 zzhs 的文件
zzhs可以删掉,直接删除 zzh 会提示没权限
在这里插入图片描述

查看文件是否被禁止操作:lsattr zzh
删除 ia 参数 :chattr -ia zzh ,提示没有权限
进入/usr/bin目录,使用:ls -lh chattr;lsattr chattr,查看 chattr 命令的权限。
执行以下操作

[root@localhost bin]# cp chattr chattr.new
[root@localhost bin]# chmod a+x chattr.new
[root@localhost bin]# chattr.new -i chattr
[root@localhost bin]# rm -f chattr.new
[root@localhost bin]# chmod a+x chattr

然后再回到 etc 目录下,执行 chattr -ia zzh
这个时候再执行 rm -rf zzh 就能成功了

杀掉进程

脚本干掉了,但是进程还在,不能直接 kill 掉,我的历史命令里记录的是,先执行 pkill,再执行 kill,干掉的进程
在这里插入图片描述

删除定时任务

先执行下面的命令,发现没有查到任务

crontab -l

再执行 cat /etc/crontab ,发现有一条定时任务

cat /etc/crontab

打开脚本(脚本在服务器已经删除了,这是下载下来后在Windows上打开的)
在这里插入图片描述
删除定时任务和这个脚本

然后执行

ps -ef | grep zzh
find / -name "zzh"

发现还有相关联的目录 /run/user/1000/gvfs
在这里插入图片描述
这个目录怎么删都删不掉,后面查到这是个文件系统,使用 umount 命令就能成功删除
在这里插入图片描述
后面再执行 top ,发现CPU使用率正常了

总结问题

攻击源头我怀疑是 redis 没有设置密码导致的,因为之前有发现我启动 redis 一段时间后,我 ps -ef|grep redis ,能看到除了redis本身以外的其他进程,并且带有一些命令看着就很异常。

redis 一定要设置密码,然后如果端口要映射到外网的话,最好改下默认端口。

参考链接:
https://itcn.blog/p/3902740291.html
https://www.cnblogs.com/reachos/p/13129155.html

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值