linux服务器被挖矿的解决方案
作者:还是少年呀
发现服务器CPU被挖矿进程占用,删除源程序、脚本及定时任务,阻断外网连接,排查登录IP确认安全,提醒:密码需严格保护,防止入侵
一、前言
本周发现服务器很卡,明明什么实验也没跑(GPU是空的),然后重启后使用top指令后发现在自己账号下有个进程占用了所有的的cpu资源,尝试使用kill命令终止该进程后发现几秒钟进程又重启了,资源一直处于耗尽状态,至此发现该进程是恶意进程,网上搜索后发现是一个挖矿的程序。知道问题所在,那就好办了。
二、解决办法
想法:先删除源程序,然后删除脚本,然后删除定时任务,最后kill所有的恶意进程(因为直接kill后会进程还会重启)。
1. 阻断挖矿程序链接外网服务。
- 查看/etc/hosts的内容是否被恶意篡改
- 查看发现该文件增加了下述两行代码,将其删除:
- 在/etc/hosts里增加一条
127.0.0.1 g.upxmr.com
阻断挖矿程序链接外网下载可执行文件,除非把服务器网断了。
2. 删除定时任务及文件
使用 crontab -l 查看当前用户的定时程序,然后确认是恶意的定时程序,使用 crontab -r删除。
一般情况使用crontab -l是看不到的挖矿的程序,需要查看/etc/crontab。但是本处使用crontab –l发现了挖矿脚本所在位置,删除后再确认/etc/crontab文件内容无修改。
- 正常的/etc/crontab文件内容如下:
3. Kill掉所有的挖矿程序。
三、后续
长时间观察发现CPU的资源占用并未升高,说明问题是初步解决了,但是根源还没找到,因为我们的服务都是部署在内网的,挖矿程序是从哪个入口侵入的还有待排查。
IP登录排查
- 登录日志查看:
last -f /var/log/wtmp last -f /var/log/wtmp.1
结合.bash/bash指令的创建日期查找到当天登录的用户信息,然后结合登录的IP分析,就能知道是内部人员盗用还是被外面的人当矿机了。
当然也不排除是内部人员将登录IP替换的可能性。然后通过IP可分析是从哪里入侵的了。
四、总结
无论什么账号,千万不能用偌密码,不然后果很严重!
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。