天天看點

redis的密碼驗證,及哨兵的相關配置

背景

    我們知道,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,如需轉載請自行聯系原作者

繼續閱讀