我是靠谱客的博主 壮观蜗牛,最近开发中收集的这篇文章主要介绍Redis故障排查故障一:Redis被攻击导致数据消失,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

故障一:Redis被攻击导致数据消失

排查故障: 查看redis.log文件

25078:M 29 Jan 2022 14:26:25.663 # Failed opening the RDB file crontab (in server root dir /etc) for saving: Permission denied
25078:M 29 Jan 2022 14:26:25.852 # Failed opening the RDB file crontab (in server root dir /etc) for saving: Permission denied
25078:M 29 Jan 2022 14:26:27.080 # Failed opening the RDB file authorized_keys (in server root dir /etc) for saving: Permission denied

故障原因: RDB文件存储位置/etc保存权限被拒绝,主要原因是由于允许全网访问以及redis密码设置过于简单导致rdb存储目录被攻击更改导致redis重启数据无法恢复被清空
故障处理

  • 步骤1:检查redis配置 rdb存储目录是否被修改
127.0.0.1:6379> config get dir
1) "dir"
2) "/etc"
#被修改
  • 步骤2:配置正确的目录 绝对路径
127.0.0.1:6379> config set dir /www/server/redis
  • 步骤3:修改 向全服开放的配置

bind 空或者0.0.0.0
protected-mode no
requirepass 空或者123456
以上配置过于简单容易被其他不法分子利用进行数据篡改

# 正确配置
# 绑定固定的IP地址或者本地IP,多个IP用英文逗号隔开即可
bing 127.0.0.1
# 设置模块保护
protected-mode yes
# 设置复杂度高 位数大于12位的密码,可以参考[密码随机生成器](https://suijimimashengcheng.bmcx.com/)
requirepass dNs%&8S%$vX$qO5m
  • 步骤4:隐藏或者禁用危险命令

隐藏命令规则: 设置"" ; 重命名规则: 设置英文单词
下面配置的命令规则是为redis安全保证,防止Redis被攻击而删除数据。

# 方式1:重命名Config命令
rename-command config ldconfig
rename-command eval ldeval
# 方式2:禁用命令
## 禁用配置命令
rename-command CONFIG ""
## 禁用使用 Lua 解释器执行脚本
rename-command EVAL ""
## 删除所有库中的key
rename-command FLUSHALL ""
## 删除当前库中所有的key
rename-command FLUSHDB ""
## 禁用查看所有key
rename-command KEYS ""
  • 步骤5:重启Redis服务

最后

以上就是壮观蜗牛为你收集整理的Redis故障排查故障一:Redis被攻击导致数据消失的全部内容,希望文章能够帮你解决Redis故障排查故障一:Redis被攻击导致数据消失所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部