web-dev-qa-db-ja.com

MongoDBが正しく構成されておらず、一般にアクセス可能であることの証明

Mongoデータベースが www.Shodan.io に表示されている場合、それらが一般にアクセス可能であることの明確な証拠ですか?

実際にサーバーに接続せずにリスクがあることを疑いなく証明する方法はありますか? (このshodanブログ https://blog.shodan.io/its-still-the-data-stupid/ には役立つ情報がありますが、MongoDBについては本当に知りません)。

2
DomBat

一般に公開されており、認証されていない場合は、 MongoDB管理クライアント を使用し、サーバーの詳細を接続して接続するだけです。クライアントの応答に応じて、それが決定的であることを証明します。

これこそ正ダンがしていることです。彼らはすべてのものとの接続を作るインターネットをスパイダーします。そして、彼らがデータベースに入れることができるあらゆる情報をダンプしようとします。このプロセス中に、MongoDBクライアントとしてサーバーへの接続を試行し、クライアントが正常に応答した場合、DB、サイズ、サーバー情報ダンプなどのデータを収集します。

3
Bacon Brad

MongoDBの場合、シェルでの認証の欠如は仕様によるものであることに注意してください。非認証で任意のMongoDBシェルに接続することが可能です。ただし、mongoのバージョン番号と、接続しているノードがプライマリかセカンダリかを確認できるだけです。特定のデータベースに対する権限を持つユーザーアカウントとして認証しない限り、クエリを実行したり、操作を実行したりすることはできません。 mongoシェルへのアクセスは、データベースが「正しく構成されていない」ことを示す十分な証拠ではありません。

もちろん、これがMongoDBの設計上の欠陥であるかどうかを論じることができ、特定のインスタンスで操作を実行するために必要な認証のレベルに関係なく、すべてのMongoインスタンスが接続するIPアドレスをホワイトリストに登録する必要があることは確かです。

2
pandemic