Redis安全设置要点如下:
- 认证授权
- 启用密码认证:通过
requirepass
设置强密码(含大小写字母、数字、特殊字符,长度≥12位),定期更换。
- 使用ACL细粒度权限控制(Redis 6.0+):创建用户并限制其可访问的键、命令类别(如只读
+@read
、可修改+@write
)。
- 网络访问控制
- 绑定内网IP:通过
bind
配置仅允许信任IP访问,关闭公网暴露。
- 配置防火墙:限制Redis端口(默认6379)的访问来源,仅允许可信IP。
- 修改默认端口:避免使用默认端口6379,降低被扫描风险。
- 命令与数据安全
- 禁用危险命令:通过
rename-command
禁用或重命名高危命令(如FLUSHALL
、CONFIG
、SAVE
等)。
- 数据加密:启用SSL/TLS加密传输(需配置证书),敏感数据可在客户端加密后存储。
- 资源与审计
- 限制最大连接数:通过
maxclients
防止资源耗尽攻击。
- 限制最大内存:通过
maxmemory
设置内存上限,避免溢出攻击,配合淘汰策略(如volatile-lru
)。
- 日志与监控:开启详细日志记录认证失败、异常命令等,结合监控工具(如ELK)分析异常行为。
- 系统与环境安全
- 以非root用户运行:避免使用root权限启动Redis服务。
- 保护配置文件:设置
redis.conf
权限为600,禁止未授权用户访问。
- 定期备份数据:通过RDB或AOF持久化机制备份数据,存储在安全位置。
参考来源:[1,2,3,4,5,6,7,8,9,10]