个人大脑被挖矿代码搞的不能好好思考了

我被攻击了

我的服务器去年末最后两天被攻击了,由于一些事情拖着没来得及处理,今天实在忍不住了,记录一下被攻击后发现以及修复的过程。html

2019-12-30 23:39:44 云盾预警访问恶意IP 178.170.189.5
这一次预警中有一个关键字“kdevtmpfsi”redis

2019-12-31 04:19:19 云盾预警矿池通讯行为 178.170.189.5 kdevtmpfsidocker

如何找到根源

kdevtmpfsi 假装的挺好,由于它和一个系统进程的名字很是类似 kdevtmpfs ,一不当心研究的重心就偏移了。我如今的程序是以 docker 运行的,宿主机若是被攻击了问题就严重了。安全

由于自己不是专业运维,排雷全靠猜想。云盾感知的 cms 可能存在安全漏洞,代码扫描后没有发现异常,到这里我感受问题可能就更严重了。bash

容器存在漏洞?容器也就运行了 nmp,会是哪个容器出现问题了呢?有些手足无措。cpu 占用高,docker 查看一下容器的 cpu 占用呢?服务器

top

使用 top 命名直接能够查看到下图,kdevtmpfsi 差很少100%的CPU占用,致使服务器彻底被恶意程序占用,我自己的服务难以正常运行。markdown

container

cpu 被 kdevtmpfsi 挖矿程序占用 100%。按照上面的定位到容器的问题,使用命令查看容器状态 docker stats 得到下图。运维

看到是 redis 容器被利用了,使用命令 docker exec -it 容器ID /bin/bash 进入内部看看具体问题呢?CTRL+P+Qoop

使用命令 ls -lrt 能够看到最先下载的 kinsing 文件是去年30日,与最先告警时间也基本在同一天。经过搜索学习到这个文件是挖矿程序的手续进程,后续须要清理掉。学习

按照云盾报警的状况咱们看下文件是否存在 /tmp/kdevtmpfsi ,若是存在也须要清理掉才行。文件确定是存在的,我还干了一件事情就是 kill -9 ID,CPU 占用明显就降下来了 ,而后手动运行了一下这个程序,发现 CPU 直接就飙升了

它是如何作到的

问题找到了,只要杀掉当前进程以及守护进程,问题也就暂时解决了。没有找到根源,问题仍是可能被利用,继续写入挖矿程序,咱们先思考一下漏洞在哪里呢?

上面分析出来是由于 redis 的漏洞致使的?想一下咱们的 redis 是如何安装的,我当初测试一个须要登陆才能使用的应用程序,登陆的方式是关注公众号,而后获取受权码去解锁使用。就使用 redis 存放了临时 token ,安装 redis 的时候直接就是裸奔在空气中,没有密码。

能够使用命令检测一下,例如个人公网 IP 是 110.110.110.110。 只须要使用命令 redis-cli -h 110.110.110.110 -p 6379 就直接能够连上个人 redis 服务了。

经过云盾安全预警查看到《【漏洞预警】Redis 4.x/5.x 远程命令执行高危漏洞》,解决这个问题的关键能够设置仅内网访问 redis,特殊对外的 IP 使用密码策略。

version: '3'
services:

  # 使用 command 命令设置一下密码
  redis:
    image: redis:5.0.7
    command: ["redis-server", "--requirepass", "yourpassword"]
    hostname: redis
    networks:
      - redis-net
    volumes:
      - redis-data:/data

networks:
  redis-net:

volumes:
  redis-data:
复制代码

安全放心上

长呼一口气以后,想起了《亡羊补牢》的故事。

相关文章
相关标签/搜索