2021-08-27 18:00:28
在CentOS系统中为Redis设置密码可通过修改配置文件(推荐)或命令行临时设置两种方式实现,具体步骤如下:
方法一:修改配置文件(持久生效,推荐生产环境使用)定位配置文件Redis默认配置文件路径为/etc/redis/redis.conf,若自定义路径需根据实际位置调整。
编辑配置文件使用文本编辑器(如vi或nano)打开文件:
sudo vi /etc/redis/redis.conf设置密码
查找requirepass字段(若不存在则手动添加),取消注释并修改为强密码:requirepass YourStrongPassword123!
密码要求:长度至少8位,包含大小写字母、数字及特殊符号(如!@#$%^&*)。
保存并退出编辑器
vi:按Esc后输入:wq保存退出。
nano:按Ctrl+O保存,Ctrl+X退出。
重启Redis服务
sudo systemctl restart redis验证密码
连接Redis:redis-cli -h localhost -p 6379
输入密码验证:AUTH YourStrongPassword123!若返回OK,则密码设置成功。
连接Redis
redis-cli -h localhost -p 6379动态设置密码
CONFIG SET requirepass YourTempPassword456!验证密码
执行任意命令(如SET test_key "value"),若提示需认证,则密码生效。
输入AUTH YourTempPassword456!完成验证。
备份配置文件修改前备份原文件,避免误操作导致服务异常:
sudo cp /etc/redis/redis.conf /etc/redis/redis.conf.bak限制访问权限
防火墙规则:仅允许可信IP访问Redis端口(默认6379):sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="6379" accept'sudo firewall-cmd --reload
绑定本地IP:在redis.conf中设置bind 127.0.0.1,禁止外部直接访问。
禁用危险命令在配置文件中通过rename-command禁用高危命令(如FLUSHALL):
rename-command FLUSHALL ""rename-command CONFIG ""定期更新密码每3-6个月更换密码,并同步更新所有依赖Redis的应用配置。
密码未生效:
检查配置文件是否保存成功,重启服务是否报错(journalctl -u redis --no-pager)。
确认客户端连接时未遗漏-a参数(如redis-cli -a YourPassword,但此方式不安全,建议手动AUTH)。
连接拒绝:
若启用bind 127.0.0.1,需从本地连接;若需远程访问,需添加服务器IP或注释该行。
检查防火墙是否放行Redis端口。
通过上述步骤,可安全地为CentOS上的Redis服务设置密码,并结合其他安全措施降低数据泄露风险。生产环境务必使用配置文件方式设置密码,避免临时方案导致的安全隐患。