昨天邮件收到一封报告服务器被入侵了
服务器系统是:CentOS 7.9 64位
前排提醒!!!最后水平有限没有解决,重置服务器了😓
攻击原理
晚上安装了个Redis,想着只是测试学习集群搭建,测试完就关掉了,所以开放了IP也没有设置密码,并且是 Root用户启动的,没想到在这段时间内
由于服务器Redis服务监听了公网端口未设置访问密码并且其进程启动时使用了root用户,攻击者可远程登录到Redis中,通过Redis内置的命令将自己的公钥写入到/root/.ssh/authorized_keys文件夹下,进而可以直接免密登录到服务器上,并在服务器中植入恶意脚本,实现利用服务器挖矿操作。
排查过程
1.top命令查看cpu占用飙到100%
top
但是竟然没有显示相应的PiD,应该是命令被修改了,所以安装了个新命令 htop
yum install htop
然后使用htop可以看到占用很高的几个进程,干掉
kill -9 pid
2.查看定时任务
crontab -l
确实有个新增的任务
删除,发现删不掉
crontab -r
头疼
3.找到对应的脚本newinit.sh
查看后发现修改了很多命令,这里只截取一部分
好吧,根据它的修改反着来,先把脚本干掉
rm /etc/newinit.sh
查看文件属性,发现不可删除
lsattr newinit.sh
修改文件属性,去掉多余的
chattr -iae newinit.sh
发现没有权限 ,因为chattr命令也被改了
/usr/bin/chattr,
发现没有执行权限
chmod 500 chattr
或者重新安装chattr,先删除,在安装
yum remove e2fsprogs
yum intsall e2fsprogs
4.删除公钥,也要先chattr -i 修改文件属性
cd /root/.ssh/authorized_keys
vim authorized_keys
5.放弃了,改的东西太多了,很多还不会改~
找到有用的文件数据备份到本地,停止服务器,重置云盘或者更换系统
6.教训
虽然只是一个练手的服务器,东西不算特别多,但还是难受啊~~
以后Redis密码一定要设置,并且要够复杂,外部ip访问最好禁止或者设置只可以让你自己的IP访问,阿里云安全组用起来,ip限制,端口限制,偶尔再来个快照备份下最好了
西不算特别多,但还是难受啊~~
以后Redis密码一定要设置,并且要够复杂,外部ip访问最好禁止或者设置只可以让你自己的IP访问,谨慎直接使用Root用户,阿里云安全组用起来,ip限制,端口限制,偶尔再来个快照备份下最好了
本人新手水平,虽然解决不了这个问题,但是再一次让我清晰的认识到这些利益熏心的黑客有多可恶,我们禁止不了它的恶行,只能提高自己的能力和安全意识了,学无止境,加油