このジェネレーターについて
このプリセットは、MongoDBアプリケーションユーザー向けのランダムなデータベース認証情報を作成します。PwdGenはMongoDBから独立しており、Atlasに接続したり、生成された値を受信したりしません。
このプリセットはcharactersモードで開始し、一度に10個の独立した結果を生成します。表示されているすべての設定は調整可能で、生成された値はPwdGenに送信されません。
使用するタイミング
- この特定のユースケース向けの新しい認証情報を作成する
- 再利用または脆弱なパスワードを置き換える
- 安全な保存の前にローカルで値を生成する
アルファベットサイズ、エントロピー、ブルートフォースの前提
理論上のエントロピーの上限は H = L × log2(A) で計算されます。ここでLは生成された長さ、Aは現在許可されている文字数です。
| 長さ | アルファベット | 探索空間 | エントロピーの上限 | 100億回/秒の平均 |
|---|---|---|---|---|
| 24 | 68 | 6824 | 146.1 ビット | 1.51e26 years |
重要: これらは一様ランダムな値に対する数学的な推定値です。必須の位置、制限された数、繰り返しパスワード、辞書パターン、漏洩した認証情報、実際のパスワードハッシュコストによって結果は大幅に変わる可能性があります。この数値はセキュリティを保証するものではありません。
MongoDB認証情報のデプロイガイダンス
アプリケーション、管理者、バックアップ、自動化用に個別のデータベースユーザーを作成してください。各IDに必要なロールのみを付与し、認証情報をソースコードの外部に保存してください。
Node.jsを使用してURLセーフな値を生成
node -e "console.log(require('crypto').randomBytes(24).toString('base64url'))" - MONGODB_URIをシークレットマネージャーまたは保護された環境変数に保存してください。
- 接続文字列URIで必要な場合、ユーザー名とパスワードのコンポーネントをパーセントエンコードしてください。
- 認証にはSCRAM-SHA-256を、トランスポート保護にはTLSを使用してください。一方が他方を代替するものではありません。
- 認証情報をAtlas IPアクセスリストまたは同等のネットワーク制御と組み合わせてください。
- 漏洩が疑われる場合は認証情報をローテーションし、古い認証情報が無効化されていることを確認してください。
結果を安全に使用する方法
- 宛先の現在のパスワードルールを確認する
- 一意の結果を使用し、利用可能な場合はMFAを有効にする
- リカバリーコードをパスワードとは別に保存する
生成とプライバシーの方法
このプリセットは、ランダム選択にブラウザのWeb Crypto APIを使用します。再生成、設定変更、選択、コピーを行っても、生成された認証情報がPwdGenに送信されることはありません。パスワードのクラック時間推定もローカルで実行され、推定値であり保証ではありません。
MongoDBパスワード生成 FAQ
MongoDBパスワードを接続文字列に直接入れてもいいですか?
ハードコーディングは避けてください。接続文字列はシークレットマネージャーまたは保護された環境変数に保存し、URI形式で必要な場合はユーザー名やパスワードの文字をパーセントエンコードしてください。
SCRAM-SHA-256はTLSを代替しますか?
いいえ。SCRAMはデータベースユーザーを認証し、TLSは転送中のトラフィックを保護します。本番環境では通常、両方に加えて適切なネットワークアクセス制御が必要です。
すべてのMongoDBアプリケーションは別々のデータベースユーザーを使用すべきですか?
はい。アプリケーション、管理者、バックアップ、自動化の各アイデンティティを分離することで、最小権限ロール、監査、認証情報のローテーションを強制しやすくなります。