docker Redis 被任意链接 导致被 kdevtmpfsi 挖矿记录

发现问题

1585050453066

top看到了kdevtmpfsi进程一直在吃cpu。

最后发现是dockerredis的容器被挖矿了。

问题产生

我是用自己编写的https://gitee.com/lyxxxh/lnmp编译镜像的。

redis监听的是0.0.0.0 映射宿主机的6379端口。

没有设置密码 被随意链接

我防火墙没有开放6379端口 怎么会可以连接呢?

[root@VM_0_2_centos lnmp]# firewall-cmd --list-all
    ...
      ports: 20/tcp 21/tcp 22/tcp 80/tcp 8888/tcp 39000-40000/tcp 12121/tcp 12121/udp 13131/tcp     13131/udp 443/tcp 4000/tcp 4000/udp 8081/tcp 8081/udp 4443/tcp 4443/udp

可以看到 6379端口没有开放


[root@VM_0_2_centos lnmp]# iptables -nL
...
DNAT       tcp  --  anywhere             VM_0_2_centos        tcp dpt:6379 to:172.18.0.2:6379


原因就是这里,将本地的6379映射到容器的6379

它不会经过防火墙的,直接映射的 ! 

解决

.env修改配置

  1. REDIS_PORT=6379改成REDIS_PORT=127.0.0.1:6379 //只有本地才可以链接了

  2. docker-compose up --build

当然也可以配置密码 监听主机等方式解决

为什么被链接就会挖矿

其他博主的文章
Redis挖矿原理及防范

有点奇怪的是

dockerredis没有装ssh,也没有/root/.ssh目录的
不用ssh 他怎么放病毒的?我让他再进入一次把,看看他是怎么放病毒的。

redis-cli -h 134.175.80.215 就可以链接到我的redis了

本作品采用《CC 协议》,转载必须注明作者和本文链接
专心学习不瞎搞
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 3

本地映射到容器就不会经过防火墙,对于这句不能理解。
一般来说,用的都是云主机,阿里云或者腾讯云,在那里设置的哪些端口开放,哪些端口关闭。

4年前 评论

我的腾讯云,被注入好多次挖矿KV了。目前给redis 设置个密码

4年前 评论

@L学习不停

我宿主机firewall 6379端口没开启

redis-cli -h 主机ip 宿主机经过iptables映射 直接访问到我的容器6379端口了

我是用宝塔开启端口的 宝塔的安全就是操作firewall

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
87
粉丝
105
喜欢
480
收藏
717
排名:109
访问:8.7 万
私信
所有博文
社区赞助商