Google Cloud Compute MongoDB デプロイメントのセキュリティ問題と keyFile の問題

Google Cloud Compute MongoDB デプロイメントのセキュリティ問題と keyFile の問題

今日、非常に厄介な問題に遭遇しました。

基本的に、私は GCP Marketplace の提供を利用して MongoDB データベースをセットアップしました。プライマリ ノード、セカンダリ ノード、アービターをセットアップします。これは非常に便利です。セキュリティは実現していません。まったく実現していません。そのため、当然ながら自分でセットアップする必要がありました。さて、20 時間経ち、自分の顔に何度かパンチを食らった後も、まだ実行するのに苦労しています。

基本的に、これが私の部分的な構成です:

security:
  authorization: enabled
  keyFile: '/etc/mongodKey'

コメントアウトするとkeyFileインスタンスは実行されます。しかし、セキュリティが有効になっているため、他のノードに接続できません。また、無効にすることもできません。おかしいですか?

ただし、keyFile については... 私の理解では、mongod開くことができないため、起動しません。/etcそこに置くのに適切な場所ではないと思います。他のフォルダーを試しましたが、役に立ちませんでした。何も機能しません。

また、同僚が Robo 3T を使用してデータベースに接続する必要があるため、セキュリティ対策が必要です。したがって、外部 IP アドレスを削除することは問題外です。

何が間違っているのでしょうか? 髪の毛を抜いてしまいそうなので、助けてください。

これは次の出力ですsudo service mongod status:

● mongod.service - MongoDB Database Server
   Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Wed 2019-08-21 15:28:08 UTC; 4min 29s ago
     Docs: https://docs.mongodb.org/manual
  Process: 1024 ExecStart=/usr/bin/mongod --config /etc/mongod.conf (code=exited, status=1/FAILURE)
 Main PID: 1024 (code=exited, status=1/FAILURE)
Aug 21 15:28:08 m-vm-0 systemd[1]: Started MongoDB Database Server.
Aug 21 15:28:08 m-vm-0 systemd[1]: mongod.service: Main process exited, code=exited, status=1/F
Aug 21 15:28:08 m-vm-0 systemd[1]: mongod.service: Unit entered failed state.
Aug 21 15:28:08 m-0 systemd[1]: mongod.service: Failed with result 'exit-code'.

編集:

を確認しましたmongod.log。はい、権限の問題です。解決できません。

やってみましたsudo chmod 400 /etc/mongodKeyが、何も起こりません。mongodb で読み取り可能なキー ファイルをどこに置けばよいか教えてください。これは非常に重要です。

答え1

レプリケーションを設定できる「MongoDB」という名前の GCP MongoDB マーケットプレイス デプロイメントを使用する場合は、次の点に注意してください。

初期構成ではセキュリティが設定されていないため、次の 2 つのオプションがあります。

  1. 外部IPをオフにする
  2. 認証を有効にするmongod.conf

最初の解決策を選択した場合、他の外部ソースからデータベースに簡単に接続できなくなります。

2 番目の解決策を選択する場合は、次の操作を行う必要があります。

  1. キーを生成します。プロセス全体はここで確認できます:https://docs.mongodb.com/manual/tutorial/enforce-keyfile-access-control-in-existing-replica-set/

  2. ファイルの内容をコピーする

  3. すべての Compute Engine インスタンスに SSH で接続する
  4. ディレクトリを選択
  5. sudo touch <path to key>
  6. sudo nano <path to key>
  7. 生成したキーをコンピュータに貼り付けて保存します
  8. sudo chmod 600 <path to key>
  9. sudo chown mongodb: <path to key>
  10. 下記のアップデートmongod.confをご覧ください/etc/mongod.conf
  11. コメント解除security、、authorizationkeyFile
  12. keyFileキーファイルへのパスをキーの下に指定します
  13. すべてのインスタンスを停止して再起動します

これで MongoDB はキーファイルにアクセスできるようになりました。

悪夢です。chmod 400 <path to key>ドキュメントに指定されているとおりに動作しませんでした。 に設定する必要がありましたchmod 600 <path to key>

関連情報