docker容器封装redis 挖矿病毒kdevtmpfs的处理
docker封装redis,mysql,dockerfile封装项目,由于是个人做练习用服务器,基本没大流量情况,在项目运行一段时间后,发现数据访问异常卡顿,发现服务器cpu使用率达到100%,其中kdevtmpfsi进程占用50%以上,然后网上查得这个病毒为挖矿病毒。下面将处理方法介绍如下。
1.进入服务器,使用top命令,查看服务器运行状态:
2.使用ps -ef|grep kdevtmpfsi 命令查看进程
3.使用docker ps 查看docker-redis容器id,再输入docker exec -it containerid /bin/bash 进入容器
4.删除kdevtmpfsi文件,rm -rf /tmp/kdevtmpfsi
5.使用touch 命令在/tmp目录下创建一个同名的kdevtmpfsi空文件
6.退出容器,杀死kdevtmpfsi进程:kill pid,完成整个处理过程。
7.宿主机+redis容器,都查找文件,全部删除,若没有则无需操作
find / -name kdevtmpfsi
find / -name kinsing
原理:kdevtmpfsi挖矿病毒是依托于docker-redis而存在,主要表现是大量占用服务器CPU资源,按照普通的处理方法是找到进程,并且kill进程。kill进程后,病毒会检查进程,在发现进程被强行终止后,病毒会去寻找容器中的/tmp/目录下的kdevtmpfsi文件,如果发现有这个文件,就会执行这个文件,进而让kill进程操作无效,如果在/tmp/目录下没有发现kdevtmpfsi文件,就会重新生成kdevtmpfsi文件,然后执行。所以我们在/tmp/目录下创建一个同名的kdevtmpfsi空文件,起到欺骗病毒程序效果,避免反复感染。
另网上有说避免使用redis的默认6379端口,有待验证。