背景
我们知道,redis默认是不配置密码的,这就造成只要有redis的IP+Port就可以无需验证,登陆redis。如果恰巧你的redis是开放在公网上的,很容易就被黑客入侵,获取你的系统权限,经常被黑去当成了矿机。
redis的安全,配置防火墙当然是一种方法,但是,给redis配置一个密码,也是一个不错的选择。
环境
redis:
192.168.1.227:6379(master)
192.168.1.227:6380(slave)
192.168.1.227:6381(slave)
redis Sentinel:
192.168.1.227:26379
192.168.1.227:26380
192.168.1.227:26381
注:该文章中的redis和哨兵配置均为密码验证所需的部分配置。
redis的密码是直接配置在配置文件中的,如下:
1
2
3
<code>----192.168.1.227:6379(redis Master)</code>
<code># vi /path/to/conf/6379.conf</code>
<code>requirepass 123456 -----配置redis Master密码为123456</code>
4
<code>----192.168.1.227:6380、192.168.1.227:6381(redis Slave)</code>
<code>requirepass 123456 -----配置redis Slave密码为123456</code>
<code>masterauth 123456 -----由于slave需要和master交互,在slave上需配置master的密码验证</code>
开启redis:
<code>#/path/to/redis/bin/redis-server /path/to/conf/6379.conf</code>
<code>#/path/to/redis/bin/redis-server /path/to/conf/6380.conf</code>
<code>#/path/to/redis/bin/redis-server /path/to/conf/6381.conf</code>
测试密码验证
5
6
7
8
9
10
11
12
13
14
15
16
<code>----不提供密码,连接redis查看信息,提示需要验证</code>
<code># /path/to/redis/bin/redis-cli -h 192.168.1.227 -p 6379 info Replication </code>
<code>NOAUTH Authentication required.</code>
<code>----提供密码,连接redis查看信息,正常显示,slave连接正常</code>
<code># /path/to/redis/bin/redis-cli -h 192.168.1.227 -p 6379 -a 123456 info Replication </code>
<code># Replication</code>
<code>role:master</code>
<code>connected_slaves:2</code>
<code>slave0:ip=192.168.1.227,port=6380,state=online,offset=35215766,lag=1</code>
<code>slave1:ip=192.168.1.227,port=6381,state=online,offset=35215780,lag=1</code>
<code>master_repl_offset:35216203</code>
<code>repl_backlog_active:1</code>
<code>repl_backlog_size:1048576</code>
<code>repl_backlog_first_byte_offset:34167628</code>
<code>repl_backlog_histlen:1048576</code>
redis Sentinel
如果系统中使用了redis 哨兵集群,由于在切换master的时候,原本的master可能变成slave,故也需要在原本redis master上配置masterauth:
<code>masterauth 123456</code>
在哨兵的配置中,也需要填入获取到的master密码:
<code># vi /path/to/conf/sentinel.conf</code>
<code>sentinel auth-pass master 123456 ----master为你的自定义哨兵集群master字符串</code>
<code></code>
本文转自 icenycmh 51CTO博客,原文链接:http://blog.51cto.com/icenycmh/2067611,如需转载请自行联系原作者