天天看點

Mongodb安全性初探

<a href="http://www.phpweblog.net/GaRY/archive/2011/08/18/Mongodb_secuirty_anaylze.html">http://www.phpweblog.net/GaRY/archive/2011/08/18/Mongodb_secuirty_anaylze.html</a>

Author: wofeiwo&lt;wofeiwo#80sec.com&gt;

Date: 2011-08-18

Mongodb,這麼火的玩意其實早就想好好研究一下了。之前一直沒空仔細學學新的東西,總是感覺精力不足。這次趁着買了一本書,就零零散散地在VPS上搭建、測試、看實作代碼。感覺也蠻有意思的一個資料庫。雖然感覺它非常簡單,尤其是看代碼的時候更是感覺如此。但這不也是另一個KISS的典範麼,還是簡單但是實用的東西最能流行。

既然都看了其實作,也不能不産出點什麼。正好多年沒更新博文,就簡單分析一下mongodb的安全性,湊個數先。

在預設情況下,mongod是監聽在0.0.0.0之上的。而任何用戶端都可以直接連接配接27017,且沒有認證。好處是,開發人員或dba可以即時上手,不用擔心被一堆配置弄的心煩意亂。壞處是,顯而易見,如果你直接在公網伺服器上如此搭建mongodb,那麼所有人都可以直接通路并修改你的資料庫資料了。

預設情況下,mongod也是沒有管理者賬戶的。是以除非你在admin資料庫中使用db.addUser()指令添加了管理者帳号,且使用--auth參數啟動mongod,否則在資料庫中任何人都可以無需認證執行所有指令。包括delete和shutdown。

我試着花了一個晚上掃描了國内一個B段,國外一個B段。結果是國外開了78個mongodb,而國内有60台。其中我随意挑選了10台嘗試連接配接,而隻有一台機器加了管理者賬戶做了認證,其他則全都是不設防的城市。可見其問題還是比較嚴重的。

hash,也沒法簡單的從彩虹表中查出原始密碼。