近日安全團隊經檢測發現部分阿里雲使用者存在MongoDB資料庫未授權訪問漏洞,漏洞危害嚴重,易導致資料庫泄密。為保證您的業務和應用的安全,請廣大使用者儘快修複漏洞。
具體事宜如下所示:
1、漏洞危害
開啟MongoDB服務時不添加任何參數時,預設是沒有許可權驗證的,登入的使用者可以通過預設連接埠無需密碼對資料庫任意操作而且可以遠端存取資料庫!
2、漏洞成因
在剛安裝完畢的時候MongoDB都預設有一個admin資料庫,此時admin資料庫是空的,沒有記錄許可權相關的資訊!當admin.system.users一個使用者都沒有時,即使mongod啟動時添加了--auth參數,如果沒有在admin資料庫中添加使用者,此時不進行任何認證還是可以做任何操作(不管是否是以--auth 參數啟動),直到在admin.system.users中添加了一個使用者。加固的核心是只有在admin.system.users中添加使用者之後,mongodb的認證,授權服務才會生效!
3、漏洞加固方案(僅供參考)
方法一:
可以修改連接埠和指定訪問ip
具體根據實際情況來設定,也可以直接在伺服器防火牆上做。
方法二:
在admin.system.users中添加使用者,啟動認證。
#在admin 資料庫中建立使用者!supper 密碼為sup(此處均為舉例說明)
[mongodb@rac3 bin]$ ./mongo 127.0.0.1:27017
MongoDB shell version: 2.0.1
connecting to: 127.0.0.1:27017/test
> use admin
switched to db admin
>
> db.addUser("supper", "sup")
{ "n" : 0, "connectionId" : 4, "err" : null, "ok" : 1 }
{
"user" : "supper",
"readOnly" : false,
"pwd" : "51a481f72b8b8218df9fee50b3737c44",
"_id" : ObjectId("4f2bc0d357a309043c6947a4")
}
> db.auth("supper","sup")
1
> exit