MongoDB パッケージの整合性の検証
MongoDB リリースチームは、特定の MongoDB パッケージが有効で、改変されていない MongoDB リリースであることを証明するために、すべてのソフトウェア パッケージにデジタル署名しています。MongoDB をインストールする前に、提供されている PGP 署名か SHA-256 チェックサム値を使ってパッケージを検証する必要があります。
PGP 署名は、改ざんを防止するためにファイルの信頼性と整合性の両方をチェックすることで、最も強力な保証を提供します。
暗号化チェックサム値は、ネットワーク伝送エラーを防ぐために、ファイルの整合性のみを検証します。
Linux/macOS パッケージの検証
PGP/GPG の使用
MongoDB は、各リリース ブランチに異なる PGP キーで署名します。各リリース ブランチの公開キー ファイルは、テキスト形式 .asc
とバイナリ形式 .pub
の両方でキー サーバーからダウンロードできます。
MongoDB のインストール ファイルをダウンロードします。
環境に応じて、MongoDB ダウンロード センターからバイナリをダウンロードします。
たとえば、shell 経由で macOS 用の 6.0.17
リリースをダウンロードするには、次のコマンドを実行します。
curl -LO https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-6.0.17.tgz
キー ファイルをダウンロードしてインポートします。
MongoDB 6.0 公開鍵をダウンロードしてインポートしていない場合は、次のコマンドを実行します。
curl -LO https://pgp.mongodb.com/server-6.0.17.asc gpg --import server-6.0.17.asc
PGP は、次の応答を返す必要があります。
gpg: key 4B7C549A058F8B6B: "MongoDB 6.0 Release Signing Key <packaging@mongodb.com>" imported gpg: Total number processed: 1 gpg: imported: 1
MongoDB インストール ファイルを検証します。
次のコマンドを実行します。
gpg --verify mongodb-macos-x86_64-6.0.17.tgz.sig mongodb-macos-x86_64-6.0.17.tgz
GPG は次の応答を返す必要があります。
gpg: Signature made Wed Jun 5 03:17:20 2019 EDT gpg: using RSA key 4B7C549A058F8B6B gpg: Good signature from "MongoDB 6.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
SHA-256 を使用する
MongoDB のインストール ファイルをダウンロードします。
環境に応じて、MongoDB ダウンロード センターからバイナリをダウンロードします。
たとえば、shell 経由で macOS 用の 6.0.17
リリースをダウンロードするには、次のコマンドを入力します。
curl -LO https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-6.0.17.tgz
Windows パッケージの検証
これにより、MongoDB バイナリが SHA256 キーに対して検証されます。
Download the installer.
MongoDB .msi
インストーラーをダウンロードします。たとえば、MongoDB コミュニティ エディション の最新バージョンをダウンロードするには、次の手順を実行します。
➤ MongoDB Community ダウンロード センター
[ Versionドロップダウンで、[
6.0.17 (current release)
] を選択します。Platform のドロップダウンで、[Windows] を選択します。
Package のドロップダウンで、[msi] を選択します。
[Download] をクリックして、ファイルをダウンロード フォルダーに保存します。
公開署名ファイルを取得します。
MongoDB バージョンの公開署名ファイルを取得します。
たとえば、最新バージョンの MongoDB コミュニティ エディション の SHA256 署名の場合は次のようになります。
https://fastdl.mongodb.org/windows/mongodb-windows-x86_64-6.0.17-signed.msi.sha256 からコンテンツをコピーします。
コンテンツをダウンロード フォルダー内のファイル
mongodb-windows-x86_64-6.0.17-signed.msi.sha256
に保存します。
署名ファイルを MongoDB インストーラー ハッシュと比較します。
署名ファイルと MongoDB バイナリのハッシュを比較するには、次の Powershell スクリプトを呼び出します。
$sigHash = (Get-Content $Env:HomePath\Downloads\mongodb-windows-x86_64-6.0.17-signed.msi.sha256 | Out-String).SubString(0,64).ToUpper(); ` $fileHash = (Get-FileHash $Env:HomePath\Downloads\mongodb-windows-x86_64-6.0.17-signed.msi).Hash.Trim(); ` echo $sigHash; echo $fileHash; ` $sigHash -eq $fileHash
C777DF7816BB8C9A760FDEA782113949408B6F39D72BE29A2551FA51E2FE0473 C777DF7816BB8C9A760FDEA782113949408B6F39D72BE29A2551FA51E2FE0473 True
このコマンドは、次の 3 行を出力します。
MongoDB から直接ダウンロードした
SHA256
ハッシュ。MongoDB からダウンロードした MongoDB バイナリから計算された
SHA256
ハッシュ。ハッシュが一致するかどうかに応じて、
True
またはFalse
の結果が返されます。
ハッシュが一致すると、MongoDB バイナリが検証されます。