Redis 忽然集體報錯 NOAUTH Authentication required

今天很奇怪,兩臺服務器上的redis毫無徵兆的集體報錯 NOAUTH Authentication required,一開始也沒有重視,重啓了下就行了,深更半夜老闆說又不能訪問了,纔開始重視。搜下了不少人都遇到了這種狀況包括紅薯大哥,並且狀況有點小嚴重。html

檢查下本身是否在裸奔

不管是否開啓了遠程訪問(畢竟阿里服務器份額佔多,區域也就這麼幾個,花個幾塊錢臨時用個幾小時作內網掃描了),都看下是否開啓了密碼訪問。redis

用redis-cli客戶端鏈接遠程服務器docker

./redis-cli -h 10.129.xx.xx:6379
10.129.xx.x:6379> keys *
(error) ERR operation not permitted

或者服務器

10.129.xx.x:6379> config get requirepass

若是沒有輸入祕密就能夠訪問,那麼說明你在裸奔,話很少說,先設置登陸祕密再說運維

首先肯定redis使用了那個redis.conf,而後修改requirepass(若是redis加入了service,在/etc/init.d裏面查看redis啓動命令)ide

入侵跡象

我檢查了兩天服務,因爲測試服是臨時搭建,確定是裸奔的,可是沒想的是生成服居然也是裸奔,讓我很驚訝,畢竟原來是這些是有專門的運維來管理的。測試

在檢查問題的過程當中裸奔的測試服被設置了密碼訪問,那麼能夠百分百確定測試服是被黑了ui

這種黑,比較簡單,畢竟他沒有拿到服務器的其餘權限,僅僅是經過redis-cli設置了臨時的登陸密碼而已,重啓以後,該設置就會失效(不是很肯定,因此下面用docker redis來驗證確認了).net

啓動redis實例code

root@aaa6982a00bb:/data# redis-cli
127.0.0.1:6379> keys *
1) "sysuser:1"
2) "sysuser:32"
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) ""
127.0.0.1:6379> config set requirepass 123456
OK
127.0.0.1:6379> config get requirepass
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> keys *
1) "sysuser:1"
2) "sysuser:32"

關閉redis實例,從新啓動,不須要輸入密碼也可訪問了

root@aaa6982a00bb:/data# redis-cli
127.0.0.1:6379> keys *
1) "sysuser:1"
2) "sysuser:32"
127.0.0.1:6379>
相關文章
相關標籤/搜索