Redis绑定IP防护,简单几步提升安全,避免外部入侵风险
- 问答
- 2026-01-26 15:14:33
- 9
Redis绑定IP防护,简单几步提升安全,避免外部入侵风险
很多人安装好Redis后,发现用起来很方便,就直接放到服务器上用了,但你知道吗?如果什么都不设置,你的Redis数据库就像一间没锁门的金库,任何人都能从网络上来连接它、查看甚至清空你的数据,这几年,因为Redis没设防而导致数据被删除、被勒索,或者服务器被当成“矿机”挖矿的事情非常多,下面这几步,你照着做,就能把大门牢牢锁上。
第一步:别让Redis监听所有网卡,把它“绑”在内部地址上 这是最重要、最基础的一步,Redis安装后的默认配置,是监听服务器上所有的网络接口(专业术语叫“绑定0.0.0.0”),这意味着,不仅你的内部程序能连上它,公网上任何一个人,只要知道了你的服务器IP地址,都能尝试连接你的Redis端口(默认是6379)。
怎么做呢?你需要找到Redis的配置文件,通常名字叫 redis.conf,用文本编辑器打开它,找到一行写着 bind 0.0.0.0 或者 bind 127.0.0.1 的地方,根据Redis官方文档的说明,你应该把它改成只绑定本地回环地址,最安全的做法是改成:
bind 127.0.0.1
这样,Redis就只允许本机上的应用程序连接它,如果你的应用程序(比如网站程序)和Redis在同一台服务器上,这就足够了,如果应用程序在另一台服务器上,你需要绑定到内网IP,bind 192.168.1.100 127.0.0.1(假设你的内网IP是192.168.1.100),多个IP用空格隔开。绝对不要绑定到公网IP,也尽量不要使用 bind 0.0.0.0,除非你非常清楚后果。
改完之后,必须重启Redis服务才能生效,你可以用 sudo systemctl restart redis 或 sudo service redis restart 这样的命令来重启。

第二步:给Redis加上一个强密码
光绑定IP还不够,万一有内部其他机器被攻破呢?所以必须设密码,在同一个 redis.conf 配置文件里,找到 # requirepass foobared 这一行,这行开头的 表示注释,是无效的,你需要去掉 ,并把 foobared 换成一个非常复杂的密码,比如改成:
requirepass YourSuperStrongPassword123!@#
密码要尽量长,包含字母、数字和特殊符号,不要用常见的单词或简单数字。
设置密码后,所有连接Redis的客户端(包括你自己管理时),都必须先用 AUTH 命令提供密码才能操作,否则,会提示“NOAUTH Authentication required”,这个步骤参考了众多安全实践指南,是防止未授权访问的核心手段。
第三步:改变默认的监听端口
Redis的默认端口是6379,这就像告诉小偷“我家门牌号是6379”一样,虽然这不是绝对安全,但可以避免被网络上自动扫描常见端口的脚本一眼盯上,在 redis.conf 里找到 port 6379 这一行,把它改成一个不常用的端口号,port 6380,注意,改了端口之后,你的应用程序连接Redis时,也需要相应修改连接配置,指明新的端口号。

第四步:使用防火墙,建立最后一道防线 操作系统层面的防火墙是最后一道屏障,即使Redis配置有疏忽,防火墙也能挡住外部连接,根据服务器系统的不同(如Linux的iptables或firewalld),设置规则,只允许特定的、可信的服务器IP地址访问你的Redis端口(比如你刚才改过的6380端口),拒绝其他所有来源的访问,在firewalld中可以添加一条规则,仅允许你的应用服务器IP访问本机的6380端口,对于云服务器(如阿里云、腾讯云),还要去控制台设置“安全组”规则,道理是一样的:只放行必要的IP和端口。
第五步:以非特权用户运行Redis,并禁用高危命令
默认情况下,Redis可能以root用户运行,这很危险,你应该创建一个专门用于运行Redis的普通用户(比如叫redis),并在配置文件中指定它,在 redis.conf 中找到并设置 user redis(具体用户管理方式可能因版本而异,可参考官方文档)。
一些Redis命令非常危险,FLUSHALL 可以清空所有数据,CONFIG 可以让客户端直接修改服务器配置,你可以在配置文件的 SECURITY 部分,使用 rename-command 指令给这些命令改名,甚至禁用它们。
rename-command FLUSHALL "" (禁用清空命令)
rename-command CONFIG someverylongrandomname (将config命令改成一个难以猜测的名字)
这样,即使有人通过某种方式连接上了,也无法轻易搞破坏。
别忘了检查效果
做完以上设置后,一定要从外部网络测试一下,你可以用另一台不在允许列表里的电脑,用 telnet 你的公网IP 你的Redis端口 命令试试,应该完全连接不上,而在你自己的应用服务器上,连接时需要提供密码和新端口,才能正常操作。
这些步骤并不复杂,但能极大地提升Redis的安全性,把绝大多数自动化攻击脚本挡在门外,根据网络安全社区的普遍共识,上述配置是Redis安全加固的基线要求,花上十分钟配置一下,就能避免未来巨大的数据损失和安全风险,非常值得,数据库安全无小事,千万别抱着“我的服务器小,没人会盯上”的侥幸心理。
本文由帖慧艳于2026-01-26发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:https://pucd.haoid.cn/wenda/86229.html
