当前位置:首页 > 问答 > 正文

Redis安全 用户认证:Redis设置和管理登录密码的常用命令解析

Redis安全 | 用户认证:Redis设置和管理登录密码的常用命令解析

最新动态(2025年8月)
全球多个云服务商报告了因Redis未配置密码导致的未授权访问事件,攻击者利用漏洞窃取了部分用户数据,安全专家再次强调,为Redis启用认证机制是防止此类风险的基础措施。


为什么Redis需要设置密码?

Redis默认安装后不启用任何认证机制,这意味着只要知道服务器IP和端口,任何人都能直接访问你的Redis数据,想象一下,如果你的缓存里存了用户会话、临时敏感信息,甚至业务数据,被恶意修改或删除会是什么后果?

给Redis加个密码,就像给你的家门上锁一样必要。


如何为Redis设置密码?

方法1:通过配置文件(永久生效)

  1. 找到Redis的配置文件(通常是redis.conf),用文本编辑器打开:

    sudo nano /etc/redis/redis.conf
  2. 搜索requirepass,去掉注释(删掉),并在后面设置你的密码:

    Redis安全 用户认证:Redis设置和管理登录密码的常用命令解析

    requirepass your_strong_password_123
  3. 重启Redis服务使配置生效:

    sudo systemctl restart redis

注意:密码别用太简单的,比如123456password,分分钟被破解。


方法2:临时通过命令行设置(重启失效)

如果只是想临时测试,可以直接在Redis客户端里设置密码:

redis-cli
127.0.0.1:6379> CONFIG SET requirepass "temp_password"
OK

但这种方式重启Redis后密码会丢失,适合临时调试用。


连接Redis时如何输入密码?

设置了密码后,每次操作前需要先认证,有两种方式:

Redis安全 用户认证:Redis设置和管理登录密码的常用命令解析

方式1:连接时直接认证

redis-cli -a your_password

注意:这种方式密码会暴露在命令历史中,不安全,建议用完立刻清理历史记录。

方式2:连接后手动认证

redis-cli
127.0.0.1:6379> AUTH your_password
OK

认证成功后,才能执行其他操作,否则会报错:

(error) NOAUTH Authentication required.

其他实用命令

查看当前是否设置了密码

0.0.1:6379> CONFIG GET requirepass
1) "requirepass"
2) "your_password"  # 这里显示密码

移除密码(不推荐,仅测试环境用)

0.0.1:6379> CONFIG SET requirepass ""

安全建议

  1. 定期更换密码:像改Wi-Fi密码一样,别一个密码用几年。
  2. 限制访问IP:通过防火墙只允许可信IP连接Redis。
  3. 禁用高危命令:比如FLUSHALL(清空所有数据),可以在redis.conf里配置:
    rename-command FLUSHALL ""
  4. 别用默认端口6379:改成其他端口能减少被自动化工具扫描的风险。

给Redis设密码是基础中的基础,操作简单但能避免大部分低级安全问题,花5分钟配置一下,总比数据泄露后加班补救强!

最后提醒:配置文件里存了密码,记得限制访问权限(比如chmod 600 redis.conf),别让无关人员随便看。

发表评论