mongoDB安全認證機制

爲了保證數據的安全性,mongodb提供了兩種方式的安全驗證機制:①賬號密碼認證 ②IP綁定


一、賬號密碼認證

       這個沒什麼好說的,和普通關係型的數據庫一樣,使用賬號密碼進行認證,並且,用戶有權限的概念,比如mysql中用戶細分可以管理哪些表。

       在mongodb中,用戶有兩種,一種是超級管理員用戶,一種是數據庫擁有者。

       切換至admin數據庫,在system.users集合中,我們可以看到本實例中所有的用戶,及其roel。如下:

       

       而後,在啓動mongoDB的時候,使用 -auth 表示需要用戶名賬號密碼驗證。

       可以使用db.addUser('userName','pwd')向本數據庫下添加用戶。

        在java中,驗證用戶賬號密碼身份:

db.authenticateCommand(username, password)
       在python中,驗證賬號密碼“:
db.authenticate('testAdmin','123')
     

二、ip地址綁定

      啓動mongodb的時候,使用 -bind_ip 192.168.20.21 表示啓動ip地址綁定,數據庫實例將只監聽192.168.20.21的請求。

     ip綁定是怎麼實現安全控制的呢?

     假設我們的mongodb安裝在一臺連接外網的服務器上,這臺服務器又和其他服務器處於局域網中。那麼這臺服務器將有三個ip地址:127.0.1.1,內網ip,外網ip。爲了保證安全,我們只能只用127.0.0.1或者內網ip。

    如果使用127.0.0.1,那麼連接mongoDB的應用就必須在mongodb的服務器上。這樣肯定能實現安全保證。

    如果使用內網ip,應用在連接mongodb的時候,必須MongoClient client = new MongoClient("192.168.20.114", 27017);這個ip必須是一個內網ip,外部網絡的服務器就不能訪問mongodb服務器。從而實現安全。

   


    總結:爲了儘可能保證安全,我們一般使用兩種方式的結合體,既綁定ip又使用賬號密碼認證機制。

   


     另外,mongodb的默認端口是27017,一般也需要更改這個默認端口,來儘可能提高安全性。如何更改默認端口呢?只需要在啓動mongodb的時候加上  -port參數就OK了。




    


   



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章