问题
目前redis集群是无密码,不需要认证的;任何一个client只要知道应用名,就可以连接到对应的redis集群,随意操作 ...
Solution
因此 考虑redis增加一层auth认证。
Redis 的 auth认证
-
configset requirepass ****
-
configset masterauth ****
线上升级
过程
初始状态:client无密码,redis无密码
最终状态:client有密码,redis有密码
变更过程:需要注意不能存在redis加了密码,但是client用无密码的方式登录
1. 生成密码
2. client加密码 restart
3. check所有clients(监控)
4,redis加密码
详细步骤
-
- 生成密码,比如sha1
-
- 集群负责人在console上查看该密码
-
2.1 console查看该应用下的所有clients
-
2.2 修改clients配置,增加密码
-
2.3 restart clients
-
2.4 console确认所有客户端密码和该密码相同
(加个密码监控项,目前client监控有ip、版本、createtime等)
-
- 将密码下发至redis
- 3.1 config set requirepass 密码
- 3.2