提高redis cluster集群的安全性,增加密码验证

前言

 

为了安全性,想redis cluster这种缓存服务最好在限制IP访问的同时,也要设置密码验证。

 

节点设置密码

 

1、修改配置文件

 

在配置文件里面增加密码选项,一定要加上masterauth,不然Redirected的时候会失败。

 

masterauth redispassword

 

requirepass redispassword

 

修改后需要重启redis节点。

 

2、动态修改

 

连接redis节点进行配置设置,然后config rewrite 将配置同步到配置文件中,不需要重启节点。

 

redis-cli -p 8001 -c

 

config set masterauth redispassword

 

config set requirepass redispassword

 

config rewrite

 

注意:每个节点的密码需要保持一致,不然Redirected的时候会失败。

 

第二种方式不需要重启服务比较快,同时也修改了配置文件 。

 

添加密码后登陆redis cluster集群需要加 -a 参数和密码   ./bin/redis-cli -c -h 192.168.0.168 -p 7001 -a 'pass!123456'

 

 

集群工具设置密码

 

默认集群管理工具redis-trib.rb是没有密码的,也没有通过参数可以设置密码。但是这个ruby脚本是调用ruby的redis模块,因此我们只需要找到ruby的client.rb文件,在这个脚本里面修改配置就可以了。

 

如果使用gem安装一般是可以在家目录下找到client.rb这个脚本。具体可以使用find查找一下:find / -name 'client.rb'

 

 

class Client

DEFAULTS = {

:url => lambda { ENV["REDIS_URL"] },

:scheme => "redis",

:host => "127.0.0.1",

:port => 6379,

:path => nil,

:timeout => 5.0,

:password => "redispassword",

:db => 0,

:driver => nil,

:id => nil,

:tcp_keepalive => 0,

:reconnect_attempts => 1,

:inherit_socket => false

}

 

注意:这个修改之后,本机其他ruby脚本调用默认也是这个密码。

posted @ 2020-02-13 09:56  kuroniko  阅读(580)  评论(0编辑  收藏  举报