昨天下午,我开了docker2375端口,才10分钟,就被病毒攻击了,上传到docker镜像运行了,挖矿病毒,阿里让我格式化,我觉得不太行。
问题分析:
1、首先排除应用程序问题,因为服务器的使用人数并不多,不可能有这么高的负载,而且如果是应用程序问题,肯定会显示出CPU高使用的应用进程
2、后排除CPU硬件故障,因为这个项目的几台服务器全都是这样的,而且这几台服务器全都是新上的几台服务器
3、怀疑内核版本问题,因为有人遇到过这种问题,果断拿一台做实验,升级内核版本,重启,然而并没有搞定
4、最后只有锁定病毒方面的问题,可是并没有显示高消耗的进程,应该是病毒将一些系统命令做了更改,无从着手的感觉,于是乎,百度。。。果然找到一个相同的问题:https://www.zhihu.com/question/59820313,终于可以确定最终的原因,病毒。。。
病毒处理常规步骤(之前一直这样处理的):
1、病毒进程查询
2、定时任务清理
3、自启动清理
4、服务清理
5、kill进程
病毒进程查询:
因为病毒是个隐藏的病毒,top没办法找到进程,通过参考https://www.zhihu.com/question/59820313这篇问答,找出病毒程序
首先查询是否有这个连接:netstat -anp
结果显示:
tcp 0 0 172.28.190.251:35182 103.3.62.64:14444 ESTABLISHED -
tcp 0 0 172.28.190.251:52466 107.189.3.150:3667 CLOSE_WAIT -
tcp 0 0 172.28.190.251:52480 107.189.3.150:3667 ESTABLISHED -
连接ip为 103.3.62.64这些新加坡,一看就是矿机
查询文件:cat /etc/ld.so.preload
内容为:
'/usr/local/lib/ext4.so'
'/usr/local/lib/zrab.so'
'/usr/local/lib/pscan.so'
'/usr/local/lib/bioset.so'
'/usr/local/lib/mscan.so'
然后就全部删除掉,清理/etc/ld.so.preload
清理文件时遇到报错Operation not permitted,因为文件被赋予了“i,a”权限,lsattr可以查看文件权限,可是查看权限时,报错没有lsattr命令,系统本身自带了的,估计是病毒将命令改了,重新下载软件包(e2fsprogs)安装就是
查看文件权限:lsattr /usr/local/lib/ext4.so
chattr更改权限
chattr -ai /usr/local/lib/ext4.so
......
然后 rm -f /usr/local/lib/ext4.so
清理文件后,top即可看到搞事情的病毒进程命“.sh”
病毒清理:
定时任务清理:
查询cron.d、cron.hourly、crontab目录或文件的异常
/etc/cron.d/phps文件异常,内容*/10 * * * * root /sbin/httpss,直接删除/etc/cron.d/phps、/sbin/httpss
然后,用top命令或者htop 直接定位到病毒所在位置,然后删除即可
最后解除ssh公钥后门
# 解除锁定
chattr -i /root/.ssh/authorized_keys
# 编辑权限
chmod 777 /root/.ssh/authorized_keys
# 清空authorized_keys
vi /root/.ssh/authorized_keys
# 清空后恢复权限
chmod 400 /root/.ssh/authorized_keys
# 锁定authorized_keys
chattr +i /root/.ssh/authorized_keys
# 防止通过重命名.ssh文件夹绕过设置
chattr +i /root/.ssh
评论区