【前提】
公司自建的confluence 被植入挖矿病毒了。导致cpu异常,疯狂的对外发包。
一【排查】
docker 版本 6.7.2
cptactionhank/atlassian-confluence:6.7.2
1.挖矿病毒:kdevtmpfsi kinsing solrd
就是换着名称来挖矿。
1.定位病毒
#查找出异常的pid,直接kill
top
#查找出关联下此进程的pid,可以找到父进程等信息
systemctl status pid
2.处理病毒
禁用定时任务,删除异常目录,删除源头
cat /dev/null > /etc/crontab
rm /etc/init.d/*
rm /tmp/*
rm /etc/cron.d/*
一般情况下,都是基于用户的弱口令在定时任务去循环挖矿的,只要清理了定时任务就行,并修改了密码即可。
二【复现】
我清理完了之后,没过几天又复现了。导致整个网络瘫痪。
初步判断是docker 被植入病毒了。那就直接迁移,重新部署个同版本的confluence。从本地机房迁移至公有云。
具体可以查看此文档:
docker confluence 6.7.2 迁移
三【再次复现】
消停了1个礼拜,又开始复现了。
初步判断认为是confluence 是否存在漏洞被植入挖矿了。
开始查阅资料:
Atlassian Confluence 远程代码执行漏洞预警(CVE-2021-26084)
好家伙,这时间对上了。
只能通过升级版本或者官方脚本修复了。
1.版本升级:
Confluence Security Advisory - 2021-08-25
2.脚本修复
四【版本升级】
这边选择版本升级。
4.1 升级跟迁移是一样的操作,就是替换了下镜像源。然而由于版本兼容的问题,又出现一堆的问题,依次记录下来。
此处版本选择:
atlassian/confluence-server:7.11.6
4.2 Confluence because the build number in the home directory [8701] doesn’t match the build number in the database [8501].
查阅文档:版本不一致修复
选择低版本匹配,调整confluence.cfg.xml 如下
The Home Directory by looking in the <confluence_home_directory>/confluence.cfg.xml file:
<confluence-configuration>
...
<buildNumber>8501</buildNumber>
...
</confluence-configuration>
4.3 due to: StatementCallback; bad SQL grammar [create unique index
唯一索引报错,原因是还原数据库时,索引冲突了。
解决:
ALTER TABLE confluence.DENORMALISED_SID DROP INDEX denormalised_sid_name_type_uniq_idx;
若是其他索引报错,直接删除即可。