2011-11-21 3 views
4

mongodbとそれに接続しているWindowsサービスを同じマシンにインストールする予定です。 そのマシンは独立したネットワークになります。mongoDBをパスワードなしで使用するのはいいですか?

私たちはそれを好きにします。 ローカルのmongodbをパスワードなしで接続してもよろしいですか?

私の計画の特性は次のようになります...二つのオプション

private MongoDatabase _db; 
public MongoDatabase DB 
{ 
    get 
    { 
     if (_db == null) 
     { 
      var mongoServer = MongoServer.Create(); 
      _db = mongoServer.GetDatabase("myStatistics"); 
     } 
     return _db; 
    } 
} 

private MongoCollection _collection; 
public MongoCollection Collection 
{ 
    get { return _collection ?? (_collection = DB.GetCollection("myStats")); } 
} 

答えて

2

あります

  1. パスワードレス信頼できる環境で

を保護

  • パスワードがそれです信頼できるネットワークでauthを無効にしてMongoDBを使用しても構いません。 MongoDb開発者recommend認証オプションに焦点を当てるのではなく、信頼できる環境でデータベースを実行しています。

  • 0

    同じマシン、独立したネットワーク。私ははいと言うだろう。私は私が取り組んでいるシステムでも同じことをしています。 ネットワークに接続されている他のコンピュータがインターネットに接続されていて、セキュリティで保護されていない(ウイルス対策、ファイアウォールなどがない)場合のみ、問題が発生します。

    0

    私にとっては、パスワードなしで実行するとどうなりますか?

    信頼できる環境で動作している場合でも、パスワードを使用するには本当にコストがかかりますか?信頼できる環境が侵害されるべきではありませんが、完全に安全なものは何もなく、パスワードを追加することで、防御層を追加します。誰かがあなたのサーバーを侵害した場合、自動的にデータベースにアクセスすべきではありません。

    ユーザーパスワードがデータベースに格納されているときと同じ理由で、ユーザーパスワードを暗号化/ハッシュします。誰かがあなたのサーバーを侵害した場合、自動的にすべてのものにアクセスすることはありません。

    このアプローチは、深い防御と呼ばれます。

    +0

    これは単なる統計サービスなのでパスワードが不要です...私はあなたの懸念を理解しています。私のマシンに到達できる人がいれば、その統計を簡単に見てください。 – Serdar

    0

    システムが分離されている場合は、実行できます。将来的にはあなたのプロジェクトの将来像を考えてみてください。アクセス制限のあるユーザーには、ユーザーの役割が必要な場合があります。可能性が高い場合は、その方向に向かって考えることを開始し、これはまた、あなたのdbのセキュリティにもう1つのレイヤーを追加します。

    +0

    あなたのポイントは正しいです。私の状況では、私はアプリを書き換えます。私はそれをパスワード無しでしたいと思っています... – Serdar

    +0

    その場合、あなたは何をしたいかを行うことができます。しかし、あなたがいくつかのPOCを行っている場合や、プロダクションモードでの認証を使用するよりも、このツールを習得しているだけであれば、それを使用する必要があります。 – gsagrawal

    関連する問題