首页 > Web开发 > 详细

记录一次php-fpm 进程数不足而发现的挖矿病毒

时间:2021-03-01 09:24:36      阅读:141      评论:0      收藏:0      [点我收藏+]
  1. 背景:PHP服务器设置了200个进程,dynamic 方式。接口请求并发不是很大,1秒中100左右,讲道理完全够用,但是问题是:启动了服务后过1分钟PHP日志就会出现进程数不够的提示。而且请求接口刚开始很快,然后是越来越慢,最慢的时候请求一次接口的响应时间能达到40多秒,因为接口里只有数据库操作是最慢的,数据库也是正常插入操作。所以不可能导致接口响应时间这么慢。但是找了一段时间也没什么进展。就只能把某些不是急需的接口暂停掉。发现进程数能勉强够用。但是这样做不是解决方法。所以接下来又继续找。
  2. 今天和另一位同事在排查的时候,排查了一些php-fpm进程设置方面的可能的问题后,就开始看资源的占用。内存和CPU占用很高,通过top命令 发现了kdevtmpfsi 进程占用资源特别高。(本人菜鸟,不知道这是啥)然后他跟我说这是挖矿病毒:)(嘿嘿,还是第一次遇到 ),然后就开始搞如何干掉这个病毒
  3. 第一次:https://blog.csdn.net/Owen_goodman/article/details/103731981
  4. 杀掉进程后,过了一会,进程又自己启动了。第二次:杀掉进程后加入了一些命令
    技术分享图片命令
    touch /tmp/kdevtmpfsi && touch /var/tmp/kinsing
    
    echo "everything is good here" > /tmp/kdevtmpfsi
    
    echo "everything is good here" > /var/tmp/kinsing
    
    touch /tmp/zzz
    
    echo "everything is good here" > /tmp/zzz
    
    chmod go-rwx /var/tmp
    
    chmod 1777 /tmp

    但是过了一会又又又又又又启动了。最后没办法,写了一个定时脚本,每分钟杀死一次。

    技术分享图片
    #!/bin/sh
    
    kdevtmpfsi_pid=`ps aux | grep kdevtmpfsi | grep -v "grep" | awk {print $2}`
    kinsing_pid=`ps aux | grep kinsing | grep -v "grep" | awk {print $2}`
    sudo kill -9 $kdevtmpfsi_pid 
    sudo kill -9 $kinsing_pid
    sudo rm -f /tmp/kdevtmpfsi* /tmp/kinsing
    
    
    # 除了root用户以外,其他用户创建的定时任务将被阻止
    # touch /etc/cron.allow
    # echo “root” > /etc/cron.allow
    View Code

     

记录一次php-fpm 进程数不足而发现的挖矿病毒

原文:https://www.cnblogs.com/bneglect/p/14461472.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!