confluience服务器遭受kthreaddk挖矿病毒后CPU高的处理办法
问题故障
打开vSphere出现一个鲜红的警告:confluence CPU占用过高
打开confluence服务器,使用top查看下,排在第一位的kthreaddk占用CPU 800%,好家伙!
kill掉这个进程后还会自己重启,猜测是设置了定时启动任务。
top - 16:30:29 up 2 days, 2:08, 1 user, load average: 8.25, 8.33, 8.23
Tasks: 219 total, 1 running, 218 sleeping, 0 stopped, 0 zombie
%Cpu(s): 99.6 us, 0.4 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 16247596 total, 5828848 free, 5943652 used, 4475096 buff/cache
KiB Swap: 4194300 total, 4194300 free, 0 used. 9913216 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7761 root 20 0 2453556 2764 1228 S 793.7 0.0 160:25.12 kthreaddk
15981 root 20 0 142084 136868 4 S 4.3 0.8 0:22.21 ijzfs8
2258 root 20 0 7314272 2.0g 47192 S 0.7 12.8 29:11.01 java
830 root 20 0 275048 4956 3668 S 0.3 0.0 3:11.01 vmtoolsd
2511 root 20 0 7068124 630560 17768 S 0.3 3.9 23:11.07 java
1 root 20 0 190912 3900 2588 S 0.0 0.0 0:25.50 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.05 kthreadd
4 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
6 root 20 0 0 0 0 S 0.0 0.0 0:00.34 ksoftirqd/0
查看定时器,查看定时器中的文件,发现文件不存在。再次查看定时任务,发现定时任务中的文件变了。关闭定时任务后还会出现新的定时任务,每次都是不同的目录。
crontab -l
* * * * * /boot/grub/9sv45i
解决方案
首先查看该进程的执行文件是否存在:
ll /proc/7761/exe
1) 执行以下命令,可以看见一个奇怪的进程在监听53421端口,
netstat -ltnp
先把这个进程kill掉。没多久它又会复活,再次kill掉。
kill -9 14714
2)用 du -b [定时任务中的一个文件] 获取到文件的大小。
crontab -l
du -b /usr/local/hadoop/bin/ougglpn
3)查找并删除文件,find ./ -size 2867172c -type f用来查找文件, 2867172换成文件实际大小。
find ./ -size 2867172c -type f -exec rm {} \;
4)crontab -l 查看定时任务,如果还有定时任务 crontab -r删除定时任务。
crontab -l
crontab -r
5)kill掉kthreaddi进程。
ps -aux | grep kthreaddk
kill -9 11138
6)如果kthreaddi继续重启,反复执行1,2,3,4即可。
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 数智AI运维笔记
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果