時間:2024-02-09 10:40作者:下載吧人氣:15
前言
最近在生產環境中MongoDB已經使用有一段時間了,但對于MongoDB的數據存儲一直沒有使用到權限訪問(MongoDB默認設置為無權限訪問限制),最近在酷殼網看了一篇技術文章(https://coolshell.cn/?s=從+MONGODB+“贖金事件”+看安全問題&from=timeline&isappinstalled=0)介紹的mongodb未開啟權限認證導致數據被黑客竊取,要比特幣贖回的事件,考慮到數據安全的原因特地花了一點時間研究了一下,我現在用的版本是MongoDB3.4.2,在Linux系統上進行的驗證,我在win8上也是類似操作方式開啟。
和其它數據庫一樣,權限的管理都差不多一樣。
但不同的是mongodb的用戶是跟數據庫相關聯的,具體的數據庫,還是需要有對應的用戶,也就是說哪怕是超級管理員也不能操作其他數據庫的。
mongodb存儲所有的用戶信息在admin 數據庫的集合system.users中,保存用戶名、密碼和數據庫信息。
mongodb默認不啟用授權認證,只要能連接到該服務器,就可連接到mongod。若要啟用安全認證,需要更改配置文件參數–auth。
下面來介紹下開啟權限認證的步驟。
一、非授權方式創建用戶
1、先以非授權方式(即不帶–auth參數)登錄創建系統管理員用戶
2、進入到mongodb的安裝bin目錄下
3、客戶端登錄
4、切換到admin數據庫
5、為admin數據庫創建用戶了
6、查看用戶
使用db.system.users.find()命令就可以查看我們剛剛創建的用戶了
最后將殺掉mongodb進程,以授權方式啟動
二、授權方式啟動
1、添加–auth參數授權啟動
2、登錄并切換到admin數據庫
3、再查看數據庫,會發現沒有權限
這時就是使用db.auth(‘hehaitao’,’hehaitao’)啟用auth認證
會看到返回的值為1,這就表示啟動成功了,然后我們再使用命令查看數據庫
發現就可以使用查看了
本篇文章到此結束,如果您有相關技術方面疑問可以聯系我們技術人員遠程解決,感謝大家支持本站!
網友評論