MongoDB 패키지의 무결성 확인
이 페이지의 내용
MongoDB 릴리스 팀은 모든 소프트웨어 패키지의 디지털 서명을 통해 특정 MongoDB 패키지가 유효하고 변경되지 않은 MongoDB 릴리스임을 증명합니다. MongoDB를 설치하기 전에 제공된 PGP 서명 또는 SHA-256 체크섬을 사용하여 패키지의 유효성을 검증합니다.
PGP 서명은 변조를 방지하기 위해 파일의 신뢰성과 무결성을 모두 검사하여 가장 강력한 보증을 제공합니다.
암호화 체크섬은 네트워크 전송 오류를 방지하기 위해 파일 무결성만 검증합니다.
Linux/macOS 패키지 확인
PGP/GPG 사용
MongoDB는 각 릴리스 브랜치에 다른 PGP 키를 사용합니다. 각 릴리스 브랜치에 대한 공개 키 파일은 키 서버에서 텍스트 .asc
및 바이너리 .pub
형식으로 다운로드할 수 있습니다.
MongoDB 설치 파일을 다운로드합니다.
사용자 환경에 따라 MongoDB 다운로드 센터에서 바이너리를 다운로드합니다.
예를 들어 셸을 통해 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 다운로드 센터에서 바이너리를 다운로드합니다.
예를 들어 셸을 통해 macOS에 6.0.17
릴리스를 다운로드하려면 다음 명령을 입력합니다.
curl -LO https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-6.0.17.tgz
Windows 패키지 확인
이렇게 하면 SHA256 키와 비교하여 MongoDB 바이너리가 확인됩니다.
공개 서명 파일을 가져옵니다.
MongoDB 버전에 대한 공개 서명 파일을 받습니다.
예를 들어, MongoDB Community Edition 최신 버전의 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
이 명령은 세 줄을 출력합니다.
MongoDB에서 직접 다운로드한
SHA256
해시입니다.MongoDB에서 다운로드한 MongoDB 바이너리에서 계산한
SHA256
해시입니다.해시 일치 여부에 따른
True
또는False
결과
해시가 일치하면 MongoDB 바이너리가 확인된 것입니다.