温馨提示×

Debian Redis安全配置有哪些要点

小樊
49
2026-01-09 15:04:38
栏目: 云计算

Debian 上部署 Redis 的安全配置要点

一 基础网络与访问控制

  • 将服务仅绑定在内网接口,避免暴露在公网;如仅需本机访问,使用:bind 127.0.0.1。必要时仅开放给内网网段,例如:bind 192.168.1.100
  • 保持或启用protected-mode yes,在未设置绑定地址或密码时阻止外部访问。
  • 通过防火墙限制端口访问(以 ufw 为例):仅允许可信来源访问 6379/tcp,例如:sudo ufw allow from 192.168.1.0/24 to any port 6379 proto tcp;如确需公网访问,务必叠加 TLS 与强认证。
  • 配置文件路径通常为:/etc/redis/redis.conf

二 身份与命令安全

  • 设置强密码并妥善保存:在 redis.conf 中配置 requirepass <强密码>;客户端连接后需执行 AUTH <密码> 或在连接串中提供密码。
  • 重命名或禁用高危命令,降低误操作与滥用风险:
    • 示例:rename-command FLUSHALL ""rename-command CONFIG ""rename-command SHUTDOWN "SHUTDOWN_PROD"
  • 启用基于用户的细粒度权限控制(Redis ≥ 6.0):
    • 只读用户:ACL SETUSER reader on >reader123 allkeys +get +scan +ping
    • 读写用户:ACL SETUSER writer on >writer123 allkeys +set +get +del

三 传输加密与系统权限

  • 启用 TLS/SSL 加密传输,保护数据在网络中的机密性与完整性:
    • 配置示例:
      • tls-port 6379
      • tls-cert-file /path/to/cert.pem
      • tls-key-file /path/to/key.pem
      • tls-ca-cert-file /path/to/ca.crt
  • 禁止以 root 身份运行 Redis,创建专用系统用户并交由 systemd 托管:
    • 创建用户:sudo adduser --system --group --no-create-home redis
    • /etc/redis/redis.conf 中设置:user redis(若版本/包支持),并确保服务以 systemd 管理:supervised systemd

四 持久化、内存与运行监控

  • 合理设置内存上限与淘汰策略,防止 OOM:
    • 例如:maxmemory 2gbmaxmemory-policy allkeys-lru
  • 启用 AOF 持久化并平衡性能与安全:
    • 例如:appendonly yesappendfsync everysec
  • 配置日志以便审计与故障排查:
    • 例如:logfile /var/log/redis/redis-server.logloglevel notice;Debian 上默认日志路径通常为 /var/log/redis/redis-server.log
  • 运行维护:
    • 及时更新:sudo apt update && sudo apt upgrade redis-server
    • 定期备份关键数据目录(如 /var/lib/redis)。

五 快速核查清单

检查项 期望状态/示例
绑定地址 仅内网:bind 127.0.0.1bind 192.168.1.100
端口与防火墙 仅放通可信网段访问 6379/tcp(ufw/云安全组)
认证 已设置 requirepass,客户端可 AUTH 成功
危险命令 已重命名/禁用(如 FLUSHALL/CONFIG/SHUTDOWN)
加密传输 已启用 TLS/SSL(证书与 CA 配置正确)
运行账户 非 root,使用 redis 系统用户,systemd 托管
日志与监控 日志路径 /var/log/redis/redis-server.log,定期查看异常
版本与备份 包为最新,定期备份 /var/lib/redis 与配置

0