redis沒(méi)有實(shí)現(xiàn)訪問(wèn)控制這個(gè)功能挂脑,但是它提供了一個(gè)輕量級(jí)的認(rèn)證方式欲侮,可以編輯redis.conf配置來(lái)啟用認(rèn)證崭闲。
1威蕉、初始化Redis密碼:
在配置文件中有個(gè)參數(shù): requirepass 這個(gè)就是配置redis訪問(wèn)密碼的參數(shù);
比如 requirepass test123韧涨;
(Ps:需重啟Redis才能生效)
redis的查詢速度是非常快的虑粥,外部用戶一秒內(nèi)可以嘗試多大150K個(gè)密碼;所以密碼要盡量長(zhǎng)(對(duì)于DBA 沒(méi)有必要必須記住密碼)娩贷;
2第晰、不重啟Redis設(shè)置密碼:
在配置文件中配置requirepass的密碼(當(dāng)redis重啟時(shí)密碼依然有效)育勺。
redis 127.0.0.1:6379> config set requirepass test123
查詢密碼:
redis 127.0.0.1:6379> config get requirepass
(error) ERR operation not permitted
密碼驗(yàn)證:
redis 127.0.0.1:6379> auth test123
OK
再次查詢:
redis 127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "test123"
PS:如果配置文件中沒(méi)添加密碼 那么redis重啟后,密碼失效涧至;
3桑包、登陸有密碼的Redis:
在登錄的時(shí)候的時(shí)候輸入密碼:
redis-cli -p 6379 -a test123
先登陸后驗(yàn)證:
redis-cli -p 6379
redis 127.0.0.1:6379> auth test123
OK
AUTH命令跟其他redis命令一樣南蓬,是沒(méi)有加密的;阻止不了攻擊者在網(wǎng)絡(luò)上竊取你的密碼赘方;
認(rèn)證層的目標(biāo)是提供多一層的保護(hù)。如果防火墻或者用來(lái)保護(hù)redis的系統(tǒng)防御外部攻擊失敗的話窄陡,外部用戶如果沒(méi)有通過(guò)密碼認(rèn)證還是無(wú)法訪問(wèn)redis的。