Ubuntu Redis安全设置怎样做
小樊
41
2025-12-28 11:48:00
Ubuntu 上 Redis 的安全设置清单
一 基础防护配置
- 绑定与网络
- 仅本地访问:在 /etc/redis/redis.conf 设置 bind 127.0.0.1 ::1,禁止外网直连。
- 必须远程时:改为内网地址(如 bind 192.168.1.10),并确保外层网络与主机防火墙已限制来源。Redis 设计用于受信任环境,默认不应直接暴露在公网。
- 认证与保护模式
- 强密码:取消注释 requirepass,设置足够长且随机的密码(示例生成方式:echo “phrase” | sha256sum)。
- 保护模式:保持 protected-mode yes,仅当绑定到 127.0.0.1 或已设置密码且来源受限时才更安全。
- 防火墙与端口
- 使用 UFW 仅允许可信网段访问 6379/tcp:sudo ufw allow from TRUSTED_IP to any port 6379;默认拒绝其他来源。
- 如需全网开放,应先完成身份认证、来源限制与加密后再评估风险。
- 危险命令
- 禁用或重命名高危命令(在 redis.conf 的 SECURITY 段):
- rename-command FLUSHDB “”
- rename-command FLUSHALL “”
- rename-command CONFIG “xxxxxxxx_CONFIG”
- 可按需禁用/重命名 DEBUG、SHUTDOWN、KEYS 等。
二 系统与服务加固
- 运行身份与最小权限
- 确认以 redis 用户运行:ps aux | grep redis;必要时调整服务单元或配置文件的用户/组权限,避免使用 root。
- 配置文件与目录权限
- 限制配置与数据目录:chmod 600 /etc/redis/redis.conf;确保 /var/lib/redis 仅 redis 可写。
- 日志与监控
- 启用日志并定期审计:logfile /var/log/redis/redis-server.log;结合监控工具观察 connected_clients、used_memory、instantaneous_ops_per_sec 等指标。
- 补丁与版本
- 定期更新:sudo apt update && sudo apt upgrade,及时修复已知漏洞。
三 远程访问与加密传输
- 最小化暴露面
- 优先通过应用侧或内网代理访问;若必须远程,仅开放给受控来源 IP,并配合强认证与命令重命名。
- TLS 加密(Redis 6+)
- 生成证书并启用 TLS(示例):
- 生成自签名证书:
- sudo mkdir -p /etc/redis/ssl
- sudo openssl req -x509 -newkey rsa:4096 -keyout /etc/redis/ssl/redis.key -out /etc/redis/ssl/redis.crt -days 365 -nodes
- 配置 redis.conf:
- port 6380
- tls-port 6380
- tls-cert-file /etc/redis/ssl/redis.crt
- tls-key-file /etc/redis/ssl/redis.key
- tls-auth-clients no(或配置 CA/客户端证书以双向认证)
- 客户端连接:redis-cli --tls -h HOST -p 6380 -a PASSWORD。
- 端口与协议
- 不建议仅依赖更换默认端口(如 6380)来“隐蔽”服务,应与 TLS、来源限制、认证共同使用。
四 备份与高可用
- 持久化与备份
- 根据业务选择 RDB/AOF 或两者并用;定期备份 /var/lib/redis 到隔离位置,并验证可恢复性。
- 高可用与故障切换
- 生产环境建议部署 Redis Sentinel 或集群模式,提供故障检测、自动切换与读写分离能力。
五 快速验证与回滚
- 本地连通与认证
- redis-cli
- AUTH YOUR_PASSWORD
- PING(应返回 PONG)
- SET/GET 测试读写
- 远程与加密
- 非 TLS:redis-cli -h SERVER_IP -p 6379 -a PASSWORD
- TLS:redis-cli --tls -h SERVER_IP -p 6380 -a PASSWORD
- 监听与来源
- ss -lntp | grep 6379(或 6380);确认仅监听预期地址与端口。
- 回滚预案
- 保留旧配置备份;变更后用 sudo systemctl restart redis-server 生效,异常立即恢复配置并审计日志。