sql >> データベース >  >> NoSQL >> MongoDB

mongodbの--bindip構成オプションは何をしますか?

    bindIpについて

    127.0.0.1 慣例により、localhost のIPアドレスです。 ループバックインターフェイスにバインドされており、同じマシンからのみアクセスできます。

    このアドレスをデフォルトとして使用することは、サービスを誤って一般に公開することを防ぐため、ベストプラクティスです。サービスを公開するには、バインドIPを変更することを意識的に選択する必要があります。 確認した後にのみ行う必要があります 適切なセキュリティ対策を講じたこと。

    通常、マシンにはループバックインターフェイスと1つ以上の「実際の」ネットワークインターフェイスがあります。

    「内部」(同じネットワークに配置されているため、アプリケーションサーバーからのみアクセス可能)のネットワークインターフェイスが1つあり、「外部」(メンテナンス目的でパブリックインターネット経由でアクセス可能)のネットワークインターフェイスが1つあるとします。ここで、MongoDBインスタンスをすべてのインターフェースにバインドする場合(IPアドレス0.0を使用します。 0.0 そのためには、MongoDBインスタンスにパブリックインターネットからアクセスできますが、これはほとんど望ましい状況ではありません。攻撃者はパスワードをブルートフォースしようとし、最終的にMongoDBインスタンスにアクセスする可能性があります。公共のインターネットからのアクセスをまったく防ぐ方がよいでしょう。

    アプリケーションサーバーとそれが実行されているマシンからMongoDBインスタンスにアクセスできるようにしたいもの。したがって、MongoDBを両方のループバックインターフェイスのIP( 127.0.0.1)にバインドします。 )およびプライベートネットワークのIP。一般的には次のいずれかになります

    • 10.0.0.0からの範囲 10.255.255.255
    • 172.16.0.0からの範囲 172.31.255.255
    • 192.168.0.0からの範囲 192.168.255.255

    例を挙げて、アプリケーションサーバーとMongoDBインスタンスの両方が 192.168.X.Xの範囲のプライベートネットワークにあるとしましょう。 MongoDBインスタンスにIPアドレス192.168.0.1を指定しました 。したがって、 192.168.0.1を介してMongoDBインスタンスにアクセスできるようにする必要があります。 アプリケーションサーバーが127.0.0.1を介して通信できるようにします MongoDBが実行されるマシンから管理ツールを簡単に使用できます。

    したがって、YAML構成構文を使用すると、複数のIPを渡すことになります

    複数のIPでカンマの間にスペースを追加しないでください

    # WARNING!!! WARNING!!! WARNING!!!
    # DO NOT DO THIS UNLESS YOU HAVE CLIENT AUTHENTICATION ENABLED
    # (or you really, really, really know what you are doing)
    net:
      bindIp: 127.0.0.1,192.168.0.1
    

    警告について

    要するに、これはMongoDBの言い方です:

    「あなたが本当にしない限り」という暗黙の意味があります 何をしているのかを知ってください!」、iircであるため、クライアント認証をアクティブ化するか すると、警告は消えます。 bindIpを変更します。



    1. 公式のMongoDBC#ドライバーを使用して、BsonDocumentを厳密に型指定されたオブジェクトに変換するにはどうすればよいですか?

    2. MongoDBで同様のドキュメントを見つけるにはどうすればよいですか?

    3. MongoDB:コレクションをMongoDBからコンピューターに適切にエクスポートするにはどうすればよいですか?

    4. Node.jsとasync.queueを使用してMongoDBに大きなCSVを挿入する