部署docker被挖矿
『壹』 什么是K8S
k8s全称kubernetes,这个名字大家应该都不陌生,k8s是为容器服务而生的一个可移植容器的编排管理工具,越来越多的公司正在拥抱k8s,并且当前k8s已经主导了云业务流程,推动了微服务架构等热门技术的普及和落地,正在如火如荼的发展。想要了解更多,我推荐你去看看时速云,他们是一家全栈云原生技术服务提供商,提供云原生应用及数据平台产品,其中涵盖容器云PaaS、DevOps、微服务治理、服务网格、API网关等。大家可以去体验一下。
希望能给您提供帮助,可以给个大大的赞不。
『贰』 解决挖矿病毒的经历
线上一台服务器,CPU高达90%以上,经过top 分析出进程kdevtmpfsi
kill -9 杀死进程无果,很快就会自动恢复
排查步骤:
结果:
病毒被植入到了线上运行的某一docker容器内。
如何先确定是哪一容器再去删除搜索结果中的病毒文件?
我这台机器跑的容器不多,可以用复制文件的方法,先 docker cp 一个文件到容器中。再去find 这个文件
如果结果还是在刚才搜索病毒的那个文件目录下(/var/lib/docker/devicemapper/mnt/xxxxx )就可以确定容器了。结果是php的容器出现了问题。
知道是具体是什么容器出现了问题,最快的办法就是先重启一个新的容器。
我这边是nginx +php 两种服务容器,所以先启动了一个新php容器,修改nginx中配置文件代理后端php服务器端口为新容器的IP地址。(nginx容器已经映射目录到宿主机)
修改PHP后端IP地址
cd 宿主机映射nginx的配置文件位置目录
测试线上环境正常后,删除原来的php容器。(这是自然也==直接删除了病毒文件)
执行 TOP命令,CPU占用正常。
平时防火墙和sellinux都关闭的话,服务器不要暴漏太多无用端口,出现问题应该最新通过进程名去查找文件的原始位置去分析问题,遇到挖矿病毒也应该多注意/etc/init.d下和cron计划任务有无异常。
后期也可以写个cron或者脚本