redis存的数据设置了有效期,没到有效期自动删除的问题解决历程

博客讲述了作者在项目中遇到Redis数据莫名删除的问题,发现是由于Redis未设置密码导致的木马攻击。攻击者通过未授权访问执行恶意脚本,包括关闭防火墙、设置SSH免密、下载矿机等。解决方法是为Redis设置密码,并详细介绍了设置过程。提醒读者注意Redis的安全配置,防止类似攻击。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

描述:项目中用到了redis,存的数据设置了有效期为一天,但是没过一会儿redis中存的该数据莫名其妙的就删除了。我用的是docker容器,下面是找问题以及解决问题的过程。

1,进到redis容器

docker exec -it 容器ID /bin/bash

2,链接reids

redis-cli

3,进入到 redis 监控模式

monitor

也可以把监控信息输出到文件中:redis-cli monitor >/data/logs/redis/log0326.txt

然后就看到了输出了日志如下,可以看到居然执行了flushall命令 

因为redis没有设置密码,是受到了木马的攻击,阔怕(其实也是小场面)。

此木马脚本分为三个部分:init.sh、is.sh、rs.sh,首先黑客拿到我们的 Redis 链接,因为没有密码直接就连接到了 Redis,然后利用 Redis 未授权访问漏洞执行 Redis 命令:

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

  • is.sh 主要功能是:下载masscan扫描器、下载pnscan扫描器、安装 redis 用于创建 redis 未授权访问的漏洞、执行 rs.sh。

  • rs.sh 主要功能是:开放 6379 端口、自动化利用redis未授权写入定时任务、利用 pnscan 扫描b段IP 6379 端口、利用 masscan 进行扫描端口。

这个漏洞只危害安装了Redis并且没有设置密码的机器

所以我就把redis设置了密码

1,进到redis容器

docker exec -it 容器ID /bin/bash

2,链接redis客户端

redis-cli

3,查看现有的redis密码:

config get requirepass

4,设置 redis 密码:

config set requirepass ****(****为你要设置的密码)

5,设置完密码之后再执行第3步查看密码可能会报以下错,则使用 auth 密码 来认证密码

(error) NOAUTH Authentication required.错误
auth 你的密码

设置完之后就完美解决了;

参考

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值