共計 782 個字符,預計需要花費 2 分鐘才能閱讀完成。
redis 沒有實現訪問控制這個功能,但是它提供了一個輕量級的認證方式,可以編輯 redis.conf 配置來啟用認證。
1、初始化 Redis 密碼
在配置文件中有個參數:requirepass 這個就是配置 redis 訪問密碼的參數;
比如 requirepass test123;
(注意:需重啟 Redis 才能生效)
redis 的查詢速度是非常快的,外部用戶一秒內可以嘗試多大 150K 個密碼;所以密碼要盡量長(對于 DBA 沒有必要必須記住密碼);
2、不重啟 Redis 設置密碼
在配置文件中配置 requirepass 的密碼(當 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"
```
注意:如果配置文件中沒添加密碼,那么:redis 重啟后,密碼失效;
3、登陸有密碼的 Redis
在登錄的時候的時候輸入密碼:
redis-cli -p 6379 -a test123
先登陸后驗證:
redis-cli -p 6379
```
redis 127.0.0.1:6379> auth test123
OK
```
AUTH 命令跟其他 redis 命令一樣,是沒有加密的;阻止不了攻擊者在網絡上竊取你的密碼;
認證層的目標是提供多一層的保護。如果防火墻或者用來保護 redis 的系統防御外部攻擊失敗的話,外部用戶如果沒有通過密碼認證還是無法訪問 redis 的。
正文完
發表至: Redis
2023-05-11