web-dev-qa-db-ja.com

MongoDBワイヤプロトコルはどの程度安全ですか?

私はJavaFX 2.0スタンドアロンアプリケーション(.exeとして配布されます)を構築していて、MongoDBインスタンスへの接続を開きます。接続は、Mongoワイヤプロトコルを使用した標準のMongo接続にすぎません。

Mongoワイヤプロトコルは安全ですか十分、またはユーザーはそれを調べてデータがやり取りされることを確認できますか?

Mongoデータベース接続は将来のある時点でSSLを使用できるようになりますが、それはまだ利用できません。

代わりに、REST WebサービスをSSLでのデータアクセスに使用する必要がありますか?データベースへの直接接続はかなり高速であるため、それを維持できればすばらしいですが、大きなセキュリティもありません。問題。

5
Jon Onstott

ご参考まで。クライアント側アプリケーションで直接データベース接続を提供することは悪い考えです。正しい認証と入力検証を可能にするRESTfulインターフェースを構築します。これにより、アプリケーションがアクセスできるものをより厳密に制御できます。

問題は、現在MongoDBがSSLカプセル化を提供していないことです。これは、それ自体で、ワイヤプロトコルが盗聴される可能性があることを意味します(プロトコルを介して送信されたデータは公開されます)。したがって、このプロトコルをローカルではない(ネットワーク全体で)実行している場合、はい安全ではないですが、プロトコルitselfは安全ではありませんが、カプセル化がないため、実装では機密性や整合性を保証できません。

ただし、プロトコルyourselfをカプセル化することでこれを修正できます。プロトコルがSSLを提供しない場合は、最初にトンネルを作成し、そのトンネルを介してプロトコルを送信します。たとえば、WebサーバーとMongoDBの間に暗号化されたVPNを作成し、このVPNを介してワイヤープロトコル接続を送信します(安全なVPNプロトコルを使用する必要があることに注意してください)。エンドポイント暗号化を使用できるように、これを実装することをお勧めします。

これにより、盗聴者が有線接続を盗聴することを禁止します。

5
Lucas Kauffman

Mongoデータベース接続は将来のある時点でSSLを使用できるようになりますが、それはまだ利用できません。

これについてのより最近のリファレンスを書くため。

https://docs.mongodb.org/manual/tutorial/configure-ssl/ から

バージョン3.0の新機能:ほとんどのMongoDBディストリビューションには、SSLのサポートが含まれています。

...

MongoDBの特定のディストリビューションには、SSLのサポートが含まれていません。 SSLを使用するには、SSLをサポートするパッケージを選択してください。

OS /ディストリビューションのMongoDBが here からSSLをサポートしているかどうかを確認できます。

4
Ali Ok