redis沒有實現(xiàn)訪問控制這個功能捍歪,但是它提供了一個輕量級的認(rèn)證方式衔掸,可以編輯redis.conf配置來啟用認(rèn)證透揣。
1婴渡、初始化Redis密碼:
在配置文件中有個參數(shù): requirepass
這個就是配置redis訪問密碼的參數(shù)幻锁;
比如requirepass test123
;
(Ps:需重啟Redis才能生效)
redis的查詢速度是非潮呔剩快的哄尔,外部用戶一秒內(nèi)可以嘗試多大150K個密碼;所以密碼要盡量長(對于DBA 沒有必要必須記住密碼)柠并;
2岭接、不重啟Redis設(shè)置密碼:
在配置文件中配置requirepass的密碼(當(dāng)redis重啟時密碼依然有效)。
redis 127.0.0.1:6379> config set requirepass test123
查詢密碼:
redis 127.0.0.1:6379> config get requirepass
(error) ERR operation not permitted
密碼驗證:
redis 127.0.0.1:6379> auth test123
OK
再次查詢:
redis 127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "test123"
PS:如果配置文件中沒添加密碼 那么redis重啟后臼予,密碼失效鸣戴;
3、登陸有密碼的Redis:
在登錄的時候的時候輸入密碼:
redis-cli -p 6379 -a test123
先登陸后驗證:
redis-cli -p 6379
redis 127.0.0.1:6379> auth test123
OK
AUTH命令跟其他redis命令一樣粘拾,是沒有加密的窄锅;阻止不了攻擊者在網(wǎng)絡(luò)上竊取你的密碼;
認(rèn)證層的目標(biāo)是提供多一層的保護(hù)缰雇。如果防火墻或者用來保護(hù)redis的系統(tǒng)防御外部攻擊失敗的話入偷,外部用戶如果沒有通過密碼認(rèn)證還是無法訪問redis的。