一.处理过程
今天阿里云突然联系到我们说,线上的云服务器有参与挖矿的行为,限期整改。当时人都紧了一下。运维工作干的少,只能下硬着头皮看看了。
服务器是
在云服务的管理页面就可以看到cpu 使用占到98%,
1.远程连接上 top
可以看到cpu 跑到395.0 ,当然 这肯定不可能,应该显示错误,并且cpu占用量不会根据时间有跳动。基本可以确定这就是挖矿程序了。但是我不记得自己部署过这个东西,而且这个服务器很简单 ,基本所有的应用都是基于docker启动的。我就怀疑是不是docker中的容易被攻击导致。但是我们还是在坐下简单排查。
2.再进一步使用 ps -ef|grep pidname
可以看到这个sys-processor- 启动是在 /tmp/目录下,并且创建的用户是999,可以肯定这个进程是被其他的东西启动的
3.输入docker stats
列表中一个redis 的负载超级高,也不会随时间变动,基本可以肯定是这个容器中招了!
使用docker ps 查看docker-redis容器id,再输入docker exec -it containerid /bin/bash 进入容器
4.删除掉文件
使用touch 命令在/tmp目录下创建一个同名的sys-processor-usage-monitor空文件
退出容器,杀死kdevtmpfsi进程:kill pid,完成整个处理过程。
此时负载已经正常,全局搜索下是否还存在该文件,宿主机+redis容器,都查找文件,全部删除,若没有则无需操作。
5.输入 find / -name 文件名称(可以使用通配符)
二.总结与反思
1.之前为了查看线上redis 情况在安全配置中对外打开了端口,后面忘记关闭。这其实是个很危险的做法。所以及时关闭调试使用额外工具、端口是防止关键手段
2.关闭掉除对外提供服务的端口外,其余端口
3.一定要对使用的工具做到权责分明,是分配相应权限,其余权限关闭
4.一定要为redis、mysql这类服务设置足够健壮的密码
由于第一次写这样的文章,可能表述不够清楚,有需要的了解其他的朋友可以留言、私信。对于这个病毒的引起过程我还会继续探索下去在以后继续更新
Licifer.
2022年8月