温馨提示×

centos怎样保护redis

小樊
50
2026-08-18 15:43:51
栏目: 云计算

在CentOS上保护Redis,核心目标是防止未授权访问、降低被入侵风险。下面按推荐优先级给你一套完整、可落地的方案(适用于生产环境)。


一、最基础(必须做)

1️⃣ 设置 Redis 密码(最重要)

Redis 默认无密码,必须设置。

编辑配置文件:

vim /etc/redis.conf

设置密码:

requirepass your_strong_password

重启 Redis:

systemctl restart redis

登录验证:

redis-cli
AUTH your_strong_password

这是防止 Redis 未授权访问的第一道防线


二、网络访问控制(强烈推荐)

2️⃣ 绑定本地 IP(禁止外网访问)

bind 127.0.0.1

如果是多服务访问:

bind 127.0.0.1 192.168.1.10

❌ 不要:

bind 0.0.0.0

3️⃣ 修改默认端口

port 6379

改为:

port 16379

减少被扫描风险。


三、禁用高危功能

4️⃣ 重命名或禁用危险命令

防止被利用执行系统命令(如 FLUSHALLCONFIG)。

rename-command FLUSHALL ""
rename-command CONFIG ""
rename-command SHUTDOWN ""
rename-command KEYSD ""

或重命名:

rename-command FLUSHALL "FLUSHALL_abc123"

四、防火墙 & 安全组(非常重要)

5️⃣ 使用 firewalld 限制访问

只允许指定 IP 访问 Redis:

firewall-cmd --permanent --add-rich-rule='
rule family="ipv4"
source address="192.168.1.20"
port protocol="tcp" port="6379" accept'
firewall-cmd --reload

❌ 不要直接开放 6379 到公网


五、以低权限用户运行

6️⃣ 不要使用 root 运行 Redis

检查 Redis 用户:

ps -ef | grep redis

Redis 默认使用 redis 用户,如不是:

useradd -r -s /sbin/nologin redis
chown -R redis:redis /var/lib/redis

六、保护系统层面

7️⃣ 禁用 Redis 执行系统命令

确保 Redis 配置文件中有:

protected-mode yes

并且 不要 开启:

# 禁止
# enable-module-cache yes

七、防止被写入 SSH 公钥(经典攻击)

8️⃣ 禁止 Redis 写入文件

# 禁止持久化(如不需要)
save ""

或限制目录权限:

chmod 700 /var/lib/redis
chown redis:redis /var/lib/redis

八、生产环境推荐架构

最佳实践

应用服务器 → 内网 → Redis(无公网IP)

✅ 如果是云服务器:

  • 安全组 拒绝 6379 公网
  • Redis 只监听内网 IP

九、快速安全检查清单 ✅

检查项 是否完成
设置 requirepass
bind 127.0.0.1
修改默认端口
禁用危险命令
防火墙限制 IP
非 root 运行
protected-mode yes

十、如果你愿意,我可以帮你:

  • ✅ 检查你当前的 redis.conf
  • ✅ 针对 公网 / 内网 / 集群 给定制方案
  • ✅ 排查是否已经被入侵

你可以直接贴出:

redis-cli CONFIG GET *

0