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

Redis密码要换了,安全得加强下,教你怎么改设置密码步骤

你需要知道Redis本身默认是没有设置密码的,这就像你买了个新保险箱,但出厂时密码是空的,谁都能打开,非常不安全,给Redis设置一个强密码是保护数据安全的第一步,也是最关键的一步,这个操作主要涉及到修改Redis的配置文件,然后重启Redis服务让它生效,下面我们一步步来。

第一步:找到Redis的配置文件

Redis的所有设置都集中在一个叫 redis.conf 的文件里,你得先找到这个文件在哪,它的位置因安装方式不同而不同。

  • 如果你是用Linux系统的包管理器安装的(比如用 apt-get install redis 在Ubuntu上,或者 yum install redis 在CentOS上),这个文件通常会在 /etc/redis/redis.conf
  • 如果你是自己下载源码编译安装的,那这个文件就在你解压Redis源代码的那个目录里。
  • 如果你是Mac上用Homebrew安装的,位置可能在 /usr/local/etc/redis.conf

(来源:基于Redis官方文档中关于配置文件路径的常见约定)

你可以使用命令行工具来找它,比如输入 find / -name redis.conf 2>/dev/null 命令来搜索整个系统。

第二步:修改配置文件,设置密码

找到 redis.conf 文件后,你需要用文本编辑器打开它进行修改,建议使用像 vimnano 这样的命令行编辑器,这里以 nano 为例:

  1. 打开终端(Terminal)。
  2. 输入命令(可能需要sudo权限才能修改):sudo nano /etc/redis/redis.conf
  3. 在打开的文件里,你需要找到关于密码设置的那一行,你可以用编辑器的搜索功能来找,通常按 Ctrl + W,然后输入 requirepass 来搜索。
  4. 你会找到一行看起来像这样的内容:
    # requirepass foobared

    这一行最开头的 符号表示这一行是注释,也就是说这个设置目前是无效的。foobared 是Redis给出的一个示例密码。

  5. 你要做两件事:
    • 删除行首的 号,取消注释,让这行配置生效。
    • foobared 换成你自己想设置的、足够强大的密码,密码最好是大小写字母、数字和特殊符号的组合,并且长度足够长,比如改成:
      requirepass MySuperStrongPassword123!

      (来源:Redis官方配置文件中 requirepass 指令的示例和说明)

重要提示: 确保你记住这个新密码,因为以后任何客户端(比如你的应用程序)要连接Redis,都必须提供这个密码才行,否则会被拒绝访问。

第三步:重启Redis服务让新密码生效

只是修改了配置文件还不够,必须让Redis服务重新启动,它才会去读取新的配置,重启服务的方法也因系统而异。

  • 在大多数Linux系统上使用systemd的(如Ubuntu 16.04及以上、CentOS 7及以上):
    sudo systemctl restart redis

    或者有些系统可能是 redis-server

    sudo systemctl restart redis-server
  • 在较老的Linux系统上使用init.d脚本的
    sudo service redis-server restart
  • 在Mac上使用Homebrew的
    brew services restart redis

(来源:常见操作系统下管理Redis服务的方法)

第四步:验证新密码是否生效

重启之后,你需要测试一下密码是不是真的设置成功了。

  1. 用Redis命令行客户端 redis-cli 连接上去,直接在终端输入:
    redis-cli
  2. 连接成功后,你会看到提示符变成 0.0.1:6379>,这时,你尝试执行任何一个命令,比如最简单的 ping 命令(这个命令本来应该返回 PONG):
    0.0.1:6379> ping
  3. 如果密码已生效,你会收到一个错误信息:(error) NOAUTH Authentication required. 这意味着Redis现在要求你先认证(输入密码)才能执行操作。
  4. 使用 AUTH 命令来输入你刚才设置的密码:
    0.0.1:6379> AUTH MySuperStrongPassword123

    如果密码正确,它会返回 OK

  5. 认证成功后,你再试一下 ping 命令,这时就应该能正常返回 PONG 了。

(来源:Redis官方文档中关于 AUTH 命令用法的描述)

另一种在连接时就输入密码的方法是:redis-cli -a YourPassword,但这种方法可能会在历史命令中留下密码痕迹,不太安全,所以更推荐上面那种先连接再认证的方式。

第五步:更新你的应用程序配置

这是非常非常重要的一步,很多人改了密码却忘了这里,导致程序无法运行,你需要在所有连接到这个Redis服务的应用程序中,更新它们的连接配置,把新密码填进去,这个地方因程序而异,可能是某个配置文件(如 .envconfig.json),也可能是代码里的一个变量,找到它,把旧的密码(如果是空就留空)替换成你刚设的新密码,然后重启你的应用程序,否则,你的程序会因为认证失败而无法连接Redis。

额外安全建议:

  1. 防火墙:除了设密码,最好配置服务器的防火墙(如iptables, ufw),只允许你信任的特定IP地址访问Redis的端口(默认是6379),不要让Redis服务暴露在公网上。
  2. 定期更换:像所有重要密码一样,考虑定期更换Redis密码。
  3. 备份配置文件:在修改任何重要配置文件之前,最好先备份一下原文件,比如复制一份叫 redis.conf.backup,万一改错了还能恢复。

核心步骤就是:找配置文件 -> 修改 requirepass 那一行设置强密码 -> 重启Redis服务 -> 测试验证 -> 更新所有应用的连接配置,一步一步来,操作完记得检查,就能安全地加强你的Redis了。

Redis密码要换了,安全得加强下,教你怎么改设置密码步骤