0

Linuxサーバーに展開されたMongoDbに接続するc#Webアプリがあります。アイデアは、Web アプリケーションに単一の指定された Linux アカウントを使用してログインし、MongoDb に接続することです。私が読んだことからわかるように、MongoDb はデフォルトでは統合セキュリティをまったくサポートしていません。パスワード付きの独自のユーザー データベースを持ち、役割も持たないはずですよね?もしそうなら、別のサードパーティのフレームワーク/ツール、または望ましいアプローチを使用するのに役立つ何かがあるのだろうか?

それ以外に、Web アプリケーションに Security for Mongo を実装するためのベスト プラクティス (ユーザーや暗号化されたパスワードを保存する場所と方法など) に関する優れたオンライン記事を知っている場合は、リンクを教えてください。

4

1 に答える 1

2
  • リンクを教えてください。

数か月前に MongoDB のセキュリティに関するドキュメントをいくつか作成しましたが、ここで見つけることができます。これが出発点になるはずです。

  • 私が読んだことからわかるように、MongoDb はデフォルトでは統合セキュリティをまったくサポートしていません。パスワード付きの独自のユーザー データベースを持ち、役割も持たないはずですよね?

MongoDB 2.2 までは、認証と認可はすべてローカルで行われていました。2.2 では、制限された RBAC (Role Based Access)、つまり「読み取り」と「書き込み」の 2 つの役割があり、「書き込み」はそのデータベースですべてを実行できます。管理者。

2.4 では、新しいロールによって状況が変わります。

name            description of privilege

read            ability to query data in any collection in the database, other than 'system.users', and also ability to run any command without an A or W attribute

readWrite       everything permitted by 'read' privilege, and also the ability to insert, update,
or remove documents or indexes in any collection other than 'system.users', and also the ability to run any command without an A attribute

userAdmin       ability to read and write the 'system.users' collection

dbAdmin         ability to run admin commands affecting a single database; see list below

serverAdmin     ability to run admin commands affecting the entire database server; Can only be set on admin database; see discussion

clusterAdmin    admin commands for a cluster of shards or a replica set; Can only be set on admin database

ここに記載されているとおり。この強化された RBAC は、2.3.2 (開発ビルド) および次の製品リリースである 2.4.0 以降のすべてのバージョンの MongoDB で利用できます。

MongoDB 2.4 では、認証に Kerberos を使用することもできますが、この委任された認証は、エンタープライズ ビルドでのみ使用できます。これには、商用サポート契約が必要です。

現在、MongoDB 内にはパスワードの複雑さを強制するものは何もありませんが、Kerberos を使用する 2.4 では明らかに KDC がこれを実行できます。ユーザーが複雑でないパスワードを使用し、複数のデバイスで同じパスワードを再利用することの問題を認識するように (内部のパスワード ポリシーなどを通じて) 手動で確認する必要があります。2.2 を実行していると仮定すると、MongoDB アクセスのすべてのログイン、パスワード、およびアクセス許可は、各データベースの system.users コレクションに格納されます。これは、あなたが読むべきドキュメントへの正確なリンクです。

于 2013-01-10T15:09:12.780 に答える