MongoDB 3.6版本中bind_ip設定詳解
2017年下半年新發布的MongoDB 3.6版本在安全性上做了很大提升,主要歸結為兩點:
1.將bind_ip 預設值修改為了localhost;
2. 在db.createUser()
和 db.updateUser()
中添加了authenticationRestrictions 引數,可以用來控制Client端發來的請求源IP以及請求的Server端指定IP。
以下說明和測試主要是針對第一點。
以前的版本預設Mongo服務啟動後,使用Server IP 可以直接登入,但是3.6 已將服務啟動bind_ip的預設值限定為localhost。
因此,即使在Local Server使用ServerIP登入也會報錯。
<圖1>
只能使用localhost登入
<圖2>
修改方式,修改conf 配置檔案,調整bind_ip引數,將本地IP賦予此引數。賦予後使用Server IP登入可以,但此時使用localhost 失敗。為了同時相容2種登入方式,將引數的賦值調整為:
bind_ip=localhost,172.XXX.XXX.XXX
中間使用登號隔開。
<圖3>驗證說明採用上述引數配置後2種登入方式都可以。
<圖3>
說明:(1) 如果不想做IP限制,可以將bind_ip 賦值為0.0.0.0 或者 在配置檔案中啟用另外一個引數bind_ip_all,將其設定為true。
以上兩種設定都可以滿足localhost登入和指定ServerIP登入。 當指定bind_ip_all引數時,配置檔案中可以沒有bind_ip引數。
(2)登入預設的資料庫不同。在3.6 版本,預設的連線資料庫變成了test,而3.4/3.2 版本預設是admin庫。所以,在設定具有root許可權的管理員賬號時,請先轉至admin下操作(因為賬號的查詢,系統只有在admin才可以查詢,所以root許可權的賬號,建議在admin庫建立,使用者資料庫的賬號,轉到使用者資料庫下建立)。賬號的刪除一定要在歸屬庫下刪除。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對我們的支援。