個人部落格原文位址:http://www.ltang.me/2017/02/20/redis-accident-record/
經過
- 今天早上生産出現事故,所有到網站的請求nginx報500錯誤,檢視背景日志,發現連不上redis了;
- 進入伺服器,可以連上redis, 但是所有操作提示需要登陸,當時沒有重視,隻是紀錄并重新開機redis;
- 下午再次出現相同情況。檢視連接配接到redis端口的日志,發現了不屬于公司伺服器的IP,懷疑是被阿裡雲内網機器腳本掃描并攻擊端口。
- 修改了阿裡雲的安全政策,由允許内網通路(當時沒考慮到阿裡雲的其它内網機器也可能進行攻擊)修改為隻允許安全組内機器通路,再次重新開機,之後一直正常。
- 然後重新開機後發現,生産上的一些緩存元件查不到資料。折騰了很久,檢視啟動日志也正常,後來才想到,可能是redis-slave沒有重新開機,不會自動重連(寫操作在redis-master,讀操作在redis-slave),重新開機redis-slave,解決問題。
問題
- 不知道攻擊者是如何通過連接配接redis,修改配置,使得正常的請求無法連接配接,需要了解redis配置;
- 不知道redis-slave不會自動重連,需要了解redis叢集配置以及注意事項。
補充
//todo