zoukankan      html  css  js  c++  java
  • 服务器由于redis漏洞导致被挖矿怎么办?

    最近在使用阿里云的云服务器时,经常会收到下面这种信息。

    云盾态势感知系统检测到您的服务器:x.x.x.x出现了紧急安全事件:Redis蠕虫对外发起网络扫描 ,建议您立即登录云盾-态势感知控制台查看详情和处理。

    您的云服务器(x.x.x.x)由于被检测到对外攻击,已阻断该服务器对其它服务器端口(TCP:6379)的访问,阻断预计将在2018-08-06 16:01:23时间内结束,请及时进行安全自查。

    于是登录查看了监控,明明没起什么服务,但是cpu使用率却飙到%90多,网络消耗也一直有。查看了cpu的使用情况:

    可以看到有两个进程占用了几乎全部的cpu,我们把它kill掉,然后把tmp下的两个文件也rm掉,cpu使用率马上就下降了,但是不一会cpu使用率又上了,Xsheel又卡了。。。看了一下这两个进程居然还在这。

    我们先看一下服务器上运行了哪些定时任务:

    /etc/crontab

    /etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本,进入后发现除了有redis aof的数据恢复命令以外,还有两行代码,问题的根源就在这两行上,它会从一个美国的地址下载文件。我们需要把它删了。

     

    /var/spool/cron/ 这个目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名,比如tom建的crontab任务对应的文件就是/var/spool/cron/tom。一般一个用户最多只有一个crontab文件。进入root用户的任务发现有以下任务,果然就是它。

    关于定时任务可以查看这篇博文:https://www.cnblogs.com/MrSong97/p/12626284.html

    现在已经知道问题了,因为redis没有设置密码或密码太过简单缘故,导致被写入密钥,在cron的文件里被写入了命令。

    解决方法:

    1,redis设置复杂一点的密码,更改默认的端口。

    2,服务器设置防火墙,禁用ip

    3,清除掉被写入的脚本,或直接停掉cron服务

  • 相关阅读:
    当Django模型迁移时,报No migrations to apply 问题时
    django--各个文件的含义
    django--创建项目
    1013. Battle Over Cities (25)
    1011. World Cup Betting (20)
    1009. Product of Polynomials (25)
    1007. Maximum Subsequence Sum (25)
    1006. Sign In and Sign Out (25)
    1008. Elevator (20)
    1004. Counting Leaves (30)
  • 原文地址:https://www.cnblogs.com/MrSong97/p/12626276.html
Copyright © 2011-2022 走看看