漏洞描述:
方案一
修复原理: 为 Redis 设置密码,密码会以明文方式保存在 Redis 配置文件中。
修复风险
1.修改配置后,必须使用认证密码连接 Redis
2.需要连接 Redis 数据库的业务代码,也必须同步修改连接方式。
方案二
修复原理: 修改 Redis 的默认端口 6379
修复风险: 连接 Redis 需要指定新端口
方案三
修复原理: 修改 rename-command 配置项 重命名 config 命令,这样即使存在未授权访问,也 能够给攻击者使用 config 指令加大难度。
修复风险: 必须通过别名使用 config 指令
建议 优先考虑使用方案一
7.1.1、方案一(设置密码)
方案描述 为 Redis 设置密码,密码会以明文方式保存在 Redis 配置文件中。
修复流程 修改配置文件 > 重启 Redis > 完成
风险概述
1. 修改配置后,必须使用认证密码连接 Redis
2. 需要连接 Redis 数据库的业务代码,也必须同步修改连接方式。
操作前提 确定所有连接此 Redis 的业务代码,修改其连接方式
具体步骤如下:
修改配置文件
vim /etc/redis/6379.conf
requirepass password 找到 # requirepass ,取消注释并在后面加上密码
systemctl status redis_6379.service #重启redis
7.1.2、方案二(修改端口)
方案描述 修改 Redis 的默认端口 6379。
修复流程 修改配置 > 重启 Redis > 完成
风险概述 连接 Redis 需要指定新端口
修复依据 根据漏洞原理修复
操作前提 确定所有连接此 Redis 的业务代码,修改其连接端口
具体步骤如下:
修改配置文件
vim /etc/redis/6379.conf
port 6379 # 将 6379 修改为其他端口,需要确保新端口未被占用
systemctl status redis_6379.service #重启redis
7.1.3、方案三(重命名 config 命令)
方案描述 修改 rename-command 配置项 重命名 config 命令,这样即使存在未授权访问,也能够给攻击 者使用 config 指令加大难度。
修复流程 修改配置 > 重启 Redis > 完成
风险概述 必须通过别名使用 config 指令
修复依据 根据漏洞原理修复
操作前提 无
具体操作如下:
修改配置文件
vim /etc/redis/6379.conf
# rename-command CONFIG 取消注释,并将 改成 CONFIG 的别名
如:rename-command CONFIG bachkehhh
systemctl status redis_6379.service #重启redis