今天一早打开服务器发现卡的不行,于是使用top命令查看了一番,果然不出所料,服务器被挖矿了,下面带来完整的解决办法!
一、分析产生原因
我是用的docker部署的环境,docker ps 查看一下,发现只开了三个,很有原因是redis被攻击了
顺便用jps命令查看一下有无运行的java进程,发现有一个(是前几天用的solr没关)
综上原因:redis在阿里云控制台我自己改了端口也只是放行我自己的ip地址用了几个月没问题所以不是redis造成的,是刚用solr忘了改端口和限制放行地址并且solr也有漏洞容易被攻击
二、使用find命令找到这个进程的位置
find / -name kdevtmpfsi(这个是进程名字,这个命令执行期间需要很长时间请耐心等待,一定会找到的)
找到之后进入这个目录,查看子文件,发现有这个挖矿文件的存在,你先别删删不掉的,你删了他又会重启(由于守护进程的原因)
三、找到挖矿程序的守护进程并kill它
把这个守护进程kinsing杀掉就行
若不删除守护进程,则你删除挖坑程序,守护进程会一直重启它
四、删除守护进程的文件
五、删除挖矿程序的所有文件
将这个目录下面的临时文件删光,一路yes即可
六、杀死挖矿进程即可
按顺序到了这一步,发现杀死它后过好长一段时间他都不会重启了
一段时间过后挖矿程序并没有重启,完成了百分之九十了
七、最重要的一步删除它的定时任务!
这一步一定要做,这是挖矿的定时任务,隔一定时间就会重启,可能今天没问题过个两天他又重启了,所以很有必要
crontab -l 查看定时任务
crontab -r 删除所有定时任务
到这就结束了,solr的漏洞确实多,一定要记得改端口和限制放行地址!!!