Debian Redis安全设置怎么做
导读:Debian 上 Redis 的安全设置清单 一 网络与访问控制 仅监听必要接口:在 /etc/redis/redis.conf 设置 bind 127.0.0.1 -::1(仅本机),如确需对外,改为内网地址(如 bind 192.16...
Debian 上 Redis 的安全设置清单
一 网络与访问控制
- 仅监听必要接口:在 /etc/redis/redis.conf 设置 bind 127.0.0.1 -::1(仅本机),如确需对外,改为内网地址(如 bind 192.168.1.100),避免暴露在公网。必要时可设置 bind-source-addr 10.0.0.1 规范出站源地址。
- 保护模式:保持 protected-mode yes,在未设置密码且允许远程连接时,仅放行 127.0.0.1/::1/Unix socket,降低误暴露风险。
- 端口与协议:默认端口 6379;如启用 TLS,可配置 tls-port 6379 并指定证书,否则建议仅在内网使用。
- 防火墙:使用 ufw/iptables 限制来源,例如仅允许 192.168.1.0/24 访问 6379/tcp:
- ufw:sudo ufw allow from 192.168.1.0/24 to any port 6379 proto tcp
- 或仅本地:sudo ufw deny 6379/tcp
- 本地套接字:如启用 unixsocket /run/redis.sock,将权限设为 unixsocketperm 700,仅 redis 用户可读写。
二 身份与命令安全
- 强口令认证:设置 requirepass < 强密码> (示例:Complex@Pass2024),客户端需 AUTH 后才能执行命令。
- 危险命令重命名/禁用:通过 rename-command 隐藏或禁用高危命令,例如:
- rename-command FLUSHALL “”
- rename-command CONFIG “”
- 精细化权限(Redis ≥ 6.0):使用 ACL 为不同应用分配最小权限,例如只读用户:
- ACL SETUSER reader on > reader123 allkeys +get +scan +ping
- 写入用户:ACL SETUSER writer on > writer123 allkeys +set +get +del
- 连接示例:redis-cli -h -p -a (生产环境避免命令行明文密码,可用配置文件或凭据管理)。
三 传输与持久化安全
- 加密传输:启用 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
注意:Redis 启用 TLS 需在编译时加入 BUILD_TLS=yes 并安装 libssl-dev。
- 持久化与目录安全:将 dir 指向受限目录(如 /var/lib/redis),并确保运行用户对该目录拥有独占权限;避免将 dir 指向 Web 可写目录,防止被写入恶意 .rdb 文件导致代码执行。
四 系统与运维安全
- 最小权限运行:确保 Redis 以 redis 系统用户运行(Debian 包通常默认如此),不要以 root 运行。
- 文件权限收紧:
- chmod 700 /etc/redis/redis.conf
- chmod 700 /var/lib/redis
- chown -R redis:redis /etc/redis /var/lib/redis
- 更新与补丁:定期执行 sudo apt update & & sudo apt upgrade redis-server,及时获取安全修复。
- 监控与备份:定期查看日志与慢查询,制定 RDB/AOF 备份与恢复演练,确保可快速回滚。
五 快速检查清单与示例配置
-
快速检查清单
- [ ] 仅内网监听(bind/防火墙/必要时 Unix socket)
- [ ] 已设置强口令或启用 ACL
- [ ] 已禁用/重命名 FLUSHALL、CONFIG 等高危命令
- [ ] 对外通信已启用 TLS(或明确仅内网明文)
- [ ] 运行用户为 redis,配置与数据目录权限为 700
- [ ] 定期更新与备份策略到位
-
最小安全示例(/etc/redis/redis.conf 片段)
- bind 127.0.0.1 -::1
- protected-mode yes
- port 6379
- requirepass Complex@Pass2024
- rename-command FLUSHALL “”
- rename-command CONFIG “”
- unixsocket /run/redis.sock
- unixsocketperm 700
- dir /var/lib/redis
- logfile /var/log/redis/redis-server.log
-
使配置生效
- sudo systemctl restart redis-server
- 验证:redis-cli ping → 返回 PONG(如配置了密码,先 AUTH)
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian Redis安全设置怎么做
本文地址: https://pptw.com/jishu/751760.html
