目录索引
阅读本文大约需要3分钟。
记一次服务器感染kdevtmpfsi挖矿病毒
去年的时候,因为做项目,手上最多的时候有十几台服务器。
为了更好的监控服务器状态,启用服务器探针。
某日,发现一台服务器cpu状态爆满异常,遂排查。
寻找异常程序
top -c
查看进程信息。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
15550 root 20 0 714116 267756 2708 S 99.7 14.4 19:05.65 /tmp/kdevtmpfsi
目瞪口呆一瞬间之后,看其十分可疑,遂搜索引擎查找相关资料,发现原来是挖矿病毒。
排查原因
当时线上只跑了一个简单的thinkphp程序,只有一个留言板的api服务。
最初是排查tp版本是否有公开漏洞,再有就是排查程序是否存在sql注入等漏洞。
排查一段之后无果,最后把目光瞄向docker容器内,加上相关资料佐证,最终确定是php容器FastCGI协议端口9000暴露在外网所致。
真是太大意。
解决思路
最初只是在宿主机尝试杀了几次进程,但是每次重启docker之后就会异常。
ps -ef | grep kdevtmpfsi
后删除失败。
遂前往docker容器进行战斗。
关于病毒的清除可以参考搜索引擎也可查看文末的参考文章。
至于要治本还是得将php容器FastCGI协议端口9000端口暴露问题搞定。
博主使用的是docker-compose跑的,故将端口取消暴露,通过访问docker网络解决。
值得一提的是,有看到相关资料说redis容器如果没有设置密码也可能会遭遇问题。
除了代码逻辑中安全问题之外,运维安全也不容忽视。
参考文章
所属分类:
运维
文章标签:
#docker
#php
#linux