MongoDB北大綠卡之安全建議

  1. 啓用安全認證
    請開啓安全認證,生成root用戶和數據庫對應的readWrite用戶。
  2. 不要把生產環境的數據庫暴露在互聯網上
  3. 使用防火牆
    防火牆的使用可以限制允許哪些實體連接MongoDB服務器。最佳的措施就是僅僅允許你自己的應用服務器訪問數據庫。如果你把服務部署在亞馬遜web服務 (AWS)上,你可以使用"安全組“功能限制訪問權限。如果你把服務部署在不支持防火牆功能的提供商的主機上,那麼你可以親自使用"iptables"對 服務器進行簡單的配置。請參考mongodb的文檔,實現對你所面對的具體環境配置iptables。
  4. 使用key文件建立複製服務器集羣
    指定共享的key文件,啓用複製集羣的MongoDB實例之間的通信。如下給配置文件中增加keyfile參數。複製集羣裏的所有機器上的這個文件的內容必須相同。
  5. 禁止HTTP狀態接口
    默認情況下Mongodb在端口28017上運行http接口,以提供“主”狀態頁面。在生產環境下推薦不要使用此接口,最好禁止這個接口。使用"nohttpinterface"配置設置可以禁止這個http接口。
  6. 禁止REST接口
    在生產環境下建議不要啓用MongoDB的REST接口。這個接口不支持任何認證。默認情況下這個接口是關閉的。如果你使用的"rest"配置選項打開了這個接口,那麼你應該在生產系統中關閉它。
  7. 配置bindip
    如果你的系統使用的多個網絡接口,那麼你可以使用"bind
    ip"選項限制mongodb服務器只在與該配置項關聯的接口上偵聽。默認情況下mongoDB綁定所有的接口。
  8. 啓用SSL
    如果你沒有使用SSL,那麼你在MongoDB客戶端和MongoDB服務器之間的傳輸的數據就是明文的,容易受到竊聽、篡改和“中間人”攻擊。如果你是通過像internet這樣的非安全網絡連接到MongoDB服務器,那麼啓用SSL就顯得非常重要。
  9. 基於角色進行認證
    MongoDB支持基於角色的認證,這樣你就可以對每個用戶可以執行的動作進行細粒度的控制。使用基於角色的認證組建可以限制對數據庫的訪問,而不是所有的用戶都是管理員。更多的信息請參考有關角色的文檔。
  10. 企業級MongoDB與kerberos
    企業級MongoDB繼承了kerberos認證。有關這方面的更多信息請參考mongodb文檔。基於用戶名/密碼的系統本身就是不安全的,因此如果可能的話,請使用基於kerberos的認證。
  11. baby獨家建議

  1. 現在很多安全廠商都支持安全組的概念,建議在生成環境下給MongoDB服務器加個只允許內網訪問的安全組即可。

原文地址:

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