温馨提示×

Ubuntu Redis配置防火墙规则技巧

小樊
31
2025-12-08 20:01:55
栏目: 云计算

Ubuntu 上 Redis 的防火墙规则配置技巧

一、前置检查与端口确认

  • 确认 Redis 正在运行并监听正确端口(默认 6379):
    • 服务状态:sudo systemctl status redis
    • 监听端口:ss -atpn | grep 6379sudo netstat -tulpen | grep 6379
  • 如需远程访问,检查配置文件 /etc/redis/redis.conf 中的 bindport 项;若仅本机访问,保持 bind 127.0.0.1 更安全。修改配置后重启:sudo systemctl restart redis

二、UFW 常用规则模板

  • 放行本机回环(默认已存在,可核验):sudo ufw allow from 127.0.0.1 to any port 6379
  • 放行单个 IP 访问 Redis:sudo ufw allow from **203.0.113.10** to any port **6379**
  • 放行内网网段:sudo ufw allow from **192.168.1.0/24** to any port **6379**
  • 仅放行某来源的 IPv6:sudo ufw allow from **2001:db8::/32** to any port **6379**
  • 查看与启用:
    • 状态与规则:sudo ufw status verbose
    • 启用防火墙:sudo ufw enable
  • 提示:UFW 规则自上而下匹配,命中即停止继续匹配,建议将更具体的来源规则写在前面

三、iptables 精细化控制

  • 放行指定来源访问 6379/tcp
    • sudo iptables -I INPUT -p tcp -s **203.0.113.10** --dport **6379** -j ACCEPT
  • 对未匹配的来源统一拒绝(放在 ACCEPT 规则之后):
    • sudo iptables -A INPUT -p tcp --dport **6379** -j DROP
  • 持久化(避免重启后丢失):
    • Debian/Ubuntu 常用:sudo apt-get install iptables-persistent 并在提示时保存,或手动保存/恢复规则
  • 校验:sudo iptables -L -n -v | grep 6379

四、云服务器与多防线安全建议

  • 云上“安全组/防火墙”与系统防火墙需同时配置,优先采用“白名单”策略(仅放行业务所需来源 IP),切勿对 0.0.0.0/0 开放 6379
  • 配合 Redis 自身安全项:
    • 设置强口令:requirepass yourStrongPassword
    • 禁用高危命令(可选):rename-command FLUSHALL ""rename-command CONFIG ""rename-command SHUTDOWN ""
    • 如启用公网访问,建议开启 TLS/SSL 对传输加密(Redis 6.0+ 支持)
  • 集群或哨兵场景,除 6379 外,还需关注 16379(集群总线)与 26379(Sentinel)端口的放通与白名单策略

五、快速验证与排错

  • 本机连通性:redis-cli -h **127.0.0.1** -p **6379** ping(应返回 PONG
  • 远程连通性:redis-cli -h **服务器IP** -p **6379** ping,必要时使用 -a <密码> 验证鉴权
  • 端口与进程核验:
    • 监听状态:ss -atpn | grep **6379**
    • 服务状态:sudo systemctl status redis
  • 防火墙规则核验:
    • UFW:sudo ufw status verbose
    • iptables:sudo iptables -L -n -v | grep **6379**
  • 若仍不通,按顺序排查:安全组/防火墙是否放行 → Redis 是否监听正确端口与接口 → 是否启用密码/保护模式 → 客户端网络与路由是否可达

0