Docs Menu
Docs Home
/
MongoDBマニュアル
/ /

MongoDB パッケージの整合性の検証

項目一覧

  • Linux/macOS パッケージの検証
  • Windows パッケージの検証

MongoDB リリースチームは、特定の MongoDB パッケージが有効で、改変されていない MongoDB リリースであることを証明するために、すべてのソフトウェア パッケージにデジタル署名しています。MongoDB をインストールする前に、提供されている PGP 署名か SHA-256 チェックサム値を使ってパッケージを検証する必要があります。

PGP 署名は、改ざんを防止するためにファイルの信頼性と整合性の両方をチェックすることで、最も強力な保証を提供します。

暗号化チェックサム値は、ネットワーク伝送エラーを防ぐために、ファイルの整合性のみを検証します。

MongoDB は、各リリース ブランチに異なる PGP キーで署名します。各リリース ブランチの公開キー ファイルは、テキスト形式 .asc とバイナリ形式 .pub の両方でキー サーバーからダウンロードできます。

1

環境に応じて、MongoDB ダウンロード センターからバイナリをダウンロードします。そのページでは、さまざまなプラットフォームとバージョンを選択できます。 Copy link をクリックし、その URL を次の手順で使用します。

たとえば、shell 経由で macOS 用の 8.0.0 リリースをダウンロードするには、次のコマンドを実行します。

curl -LO https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-8.0.0.tgz

shell 経由で Linux 用の 8.0.0 リリースをダウンロードするには、次のコマンドを実行します。

curl -LO https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2204-8.0.0.tgz
2

MacOS の場合は、次のコマンドを実行します。

curl -LO https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-8.0.0.tgz.sig

Linux の場合は、次のコマンドを実行します。

curl -LO https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2204-8.0.0.tgz.sig
3

MongoDB 8.0 公開キーをダウンロードしてインポートしていない場合は、次のコマンドを実行します。

curl -LO https://pgp.mongodb.com/server-8.0.asc
gpg --import server-8.0.asc

PGP は、次の応答を返す必要があります。

gpg: key 4B7C549A058F8B6B: "MongoDB 8.0 Release Signing Key <packaging@mongodb.com>" imported
gpg: Total number processed: 1
gpg: imported: 1
4

MacOS の場合は、次のコマンドを実行します。

gpg --verify mongodb-macos-x86_64-8.0.0.tgz.sig mongodb-macos-x86_64-8.0.0.tgz

Linux の場合は、プラットフォームに適したファイル名を使用して、次のコマンドを実行します。

gpg --verify mongodb-linux-x86_64-ubuntu2204-8.0.0.tgz.sig mongodb-linux-x86_64-ubuntu2204-8.0.0.tgz

GPG は次の応答を返す必要があります。

gpg: Signature made Wed Jun 5 03:17:20 2019 EDT
gpg: using RSA key 4B7C549A058F8B6B
gpg: Good signature from "MongoDB 8.0 Release Signing Key <packaging@mongodb.com>" [unknown]

パッケージが適切に署名されているが、ローカルの trustdb の署名キーを現在信頼していない場合、gpg は次のメッセージも返します。

gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: E162 F504 A20C DF15 827F 718D 4B7C 549A 058F 8B6B

次のエラー メッセージが表示される場合は、正しい公開キーをインポートしたことを確認してください。

gpg: Can't check signature: public key not found
1

環境に応じて、MongoDB ダウンロード センターからバイナリをダウンロードします。そのページでは、さまざまなプラットフォームとバージョンを選択できます。Click Copy のリンクをクリックし、その URL を次の手順で使用します。

たとえば、shell 経由で macOS 用の 8.0.0 リリースをダウンロードするには、次のコマンドを入力します。

curl -LO https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-8.0.0.tgz

shell 経由で Linux 用の 8.0.0 リリースをダウンロードするには、次のコマンドを実行します。

curl -LO https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2204-6.0.8.tgz
2

shell 経由で macOS 用の SHA256 ファイルをダウンロードするには、目的の URL に .sha256 を指定して次のコマンドを実行します。

curl -LO https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-8.0.0.tgz.sha256

shell 経由で Linux 用の SHA256 ファイルをダウンロードするには、目的の URL に .sha256 を指定して次のコマンドを実行します。

curl -LO https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2204-6.0.8.tgz.sha256
3

ダウンロードしたパッケージ ファイルのチェックサム値を計算します。

shasum -c mongodb-macos-x86_64-8.0.0.tgz.sha256

チェックサム値がダウンロードしたパッケージと一致した場合は、次の結果が返されます。

mongodb-macos-x86_64-8.0.0.tgz: OK

次の手順では、MongoDB バイナリを SHA256 キーに対して検証します。

1

MongoDB .msi インストーラーをダウンロードします。例えば、MongoDB Community Edition の最新版をダウンロードするには、MongoDB Community Download Centerをご覧ください。

  1. Version のドロップダウンで、[8.0.0 (current release)] を選択します。

  2. Platform のドロップダウンで、[Windows] を選択します。

  3. Package のドロップダウンで、[msi] を選択します。

  4. [Download] をクリックして、ファイルをダウンロード フォルダーに保存します。

2

MongoDB バージョンの公開署名ファイルを取得します。

たとえば、最新バージョンの MongoDB コミュニティ エディション の SHA256 署名の場合は次のようになります。

  1. https://fastdl.mongodb.org/windows/mongodb-windows-x86_64-8.0.0-signed.msi.sha256 からコンテンツをコピーします。

  2. コンテンツをダウンロード フォルダー内のファイル mongodb-windows-x86_64-8.0.0-signed.msi.sha256 に保存します。

3

署名ファイルと MongoDB バイナリのハッシュを比較するには、次の Powershell スクリプトを呼び出します。

$sigHash = (Get-Content $Env:HomePath\Downloads\mongodb-windows-x86_64-8.0.0-signed.msi.sha256 | Out-String).SubString(0,64).ToUpper(); `
$fileHash = (Get-FileHash $Env:HomePath\Downloads\mongodb-windows-x86_64-8.0.0-signed.msi).Hash.Trim(); `
echo $sigHash; echo $fileHash; `
$sigHash -eq $fileHash
C777DF7816BB8C9A760FDEA782113949408B6F39D72BE29A2551FA51E2FE0473
C777DF7816BB8C9A760FDEA782113949408B6F39D72BE29A2551FA51E2FE0473
True

このコマンドは、次の 3 行を出力します。

  • MongoDB から直接ダウンロードした SHA256 ハッシュ。

  • MongoDB からダウンロードした MongoDB バイナリから計算された SHA256 ハッシュ。

  • ハッシュが一致するかどうかに応じて、True または False の結果が返されます。

ハッシュが一致すると、MongoDB バイナリが検証されます。

戻る

シャーディングされたクラスター