NGINX Plus, NGINX Amplify 또는 nginx.org 의 사전 빌드된 NGINX 오픈 소스 바이너리를 사용하는 경우 지금 NGINX 소프트웨어의 GPG 키를 업데이트해야 할 수도 있습니다.
일부 NGINX 소프트웨어의 키(자세한 내용은 아래 설명)는 8월 17일 수요일에 만료되며 키를 업데이트하기 전까지는 소프트웨어 서명을 확인할 수 없습니다. NGINX, Inc. 이외의 공급업체(예: 운영 체제 배포판)로부터 NGINX 오픈 소스를 얻은 경우에는 이 공지 사항이 적용되지 않습니다.
GPG 키는 Gnu Privacy Guard 또는 GnuPG의 일부입니다. GnuPG는 PGP로 널리 알려진 OpenPGP 표준의 무료 구현입니다. GPG 키는 리포지토리에 있는 패키지가 키 소유자에 의해 작성되었는지 확인하는 데 사용됩니다.
NGINX, Inc.에서는 RPM 패키지와 Debian/Ubuntu 저장소에서 GPG 키를 사용하여 다운로드한 패키지의 무결성과 출처를 확인할 수 있습니다. 많은 GPG 키 사용자는 키가 주기적으로 만료되도록 설정하고 있으며, NGINX, Inc.의 GPG 키는 오는 8월 17일에 만료됩니다. 다음과 같은 경우 GPG 키를 업데이트해야 합니다.
다음과 같은 NGINX 오픈 소스를 사용하는 경우 GPG 키를 업데이트할 필요가 없습니다.
gpg
--verify
명령을 사용하여 소스 패키지 서명을 직접 확인할 수 있습니다.업데이트된 키로 전환하려면 키를 다시 가져와서 다시 가져오기만 하면 됩니다. 이 프로세스는 운영 체제에 따라 다릅니다.
키를 잘못 구성한 경우 apt-get
update를
실행할 때 다음 오류 중 하나가 표시됩니다.
nginx/x86_64/signature | 2.9 kB 00:00:10 !!!http://nginx.org/packages/mainline/centos/7/x86_64/repodata/repomd.xml: [Errno -1] repomd.xml 서명을 nginx에서 검증할 수 없습니다.
nginx/x86_64/signature | 2.9 kB 00:00:00 !!!http://nginx.org/packages/mainline/centos/7/x86_64/repodata/repomd.xml: [Errno -1] Gpg 키를 가져오지 못함, repo nginx에 대한 repomd.xml을 확인할 수 없음
키를 업데이트하려면 새 GPG 키를 다운로드하고 이전 키를 덮어쓰세요.
# curl -O https://nginx.org/keys/nginx_signing.key && apt-key를 추가하여 ./nginx_signing.key를 추가합니다.
새 키의 만료 날짜를 확인하려면 apt-key
list를
실행하세요.
# apt-key list ... pub 2048R/7BD9BF62 2011-08-19 [만료: 2024-06-14] uid nginx 서명 키 ...
저장소가 GPG 키를 확인 및 검증하도록 구성되어 있는지 확인하세요. 기본적으로 NGINX 및 NGINX Plus 저장소에서는 확인이 비활성화되지만 NGINX Amplify 저장소에서는 확인이 활성화됩니다. /etc/yum.repos.d 에 있는 yum 저장소 파일에 다음 줄이 포함되어 있으면 검사가 비활성화됩니다.
0으로 체크하세요
다음은 검사가 비활성화된 샘플 저장소 파일 /etc/yum.repos.d/nginx.repo 입니다.
[nginx]
이름=nginx 리포
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
활성화됨=1
이 경우에는 아무런 조치도 필요하지 않습니다. (체크를 비활성화하면 새로운 패키지를 설치할 때 경고가 표시되지만 설치는 여전히 성공합니다.)
GPG 검사를 명시적으로 구성한 경우 키를 교체해야 합니다.
rpm
-K
명령을 실행하면 로컬에 다운로드한 패키지의 진위 여부를 확인할 수 있습니다.
키가 없으면 다음 오류가 표시됩니다.
# rpm -K nginx-1.11.3-1.el7.ngx.x86_64.rpm nginx-1.11.3-1.el7.ngx.x86_64.rpm: RSA sha1 ((MD5) PGP) md5 NOT OK(키 누락: (MD5) PGP#7bd9bf62)
키가 올바르게 구성된 경우 다음 메시지가 표시됩니다.
# rpm -K nginx-1.11.3-1.el7.ngx.x86_64.rpm nginx-1.11.3-1.el7.ngx.x86_64.rpm: rsa sha1 (md5) pgp md5 확인
GPG 키를 업데이트하려면 다음 단계를 수행하세요.
현재 NGINX GPG 키가 설치되어 있는지 확인하세요.
# rpm -qi gpg-pubkey-7bd9bf62-*
키가 설치된 경우 출력에는 릴리스 번호와 빌드 날짜가 포함됩니다.
...
풀어 주다 : 5762b5f8
...
빌드 날짜 : 2011년 8월 19일 금요일 오전 5시 52분 34초 EDT
...
설치되지 않은 경우 다음 메시지가 나타납니다.
패키지 gpg-pubkey-7bd9bf62-*가 설치되지 않았습니다
현재 NGINX GPG 키를 제거합니다.
# rpm -e --allmatches gpg-pubkey-7bd9bf62-*
새로운 키를 다운로드하고 설치하세요:
# curl -O https://nginx.org/keys/nginx_signing.key # rpm --import ./nginx_signing.key
(이 플랫폼에서는 확인 가능한 출력이 없습니다.)
새로운 GPG 키에 대한 릴리스 및 빌드 날짜 정보를 확인하세요:
# rpm -qi gpg-pubkey-7bd9bf62-* ...
풀어 주다 : 4e4e3262 ...
빌드 날짜 : 목 16 6월 2016 오전 10:21:44 EDT
FreeBSD 패키지 관리 시스템은 GPG 키를 사용하지 않으므로 아무런 조치가 필요하지 않습니다.
또한 다운로드한 GPG 키의 진위 여부를 확인할 수 있습니다. GPG는 "신뢰의 웹" 개념을 사용합니다. 즉, 키는 다른 사람의 키로 서명될 수 있고, 이 키는 다시 다른 키로 서명될 수 있습니다.
이러한 접근 방식을 사용하면 임의의 키와 개인적으로 알고 신뢰하는 사람의 키 사이에 체인을 구축하여 체인의 첫 번째 키의 진위성을 확인할 수 있습니다. 이 개념은 GPG Mini Howto 에 자세히 설명되어 있습니다. NGINX, Inc.의 키는 충분한 서명이 있으므로 진위 여부를 비교적 쉽게 확인할 수 있습니다.
GPG 키를 업데이트하는 동안 지원을 받으려면:
"이 블로그 게시물에는 더 이상 사용할 수 없거나 더 이상 지원되지 않는 제품이 참조될 수 있습니다. 사용 가능한 F5 NGINX 제품과 솔루션에 대한 최신 정보를 보려면 NGINX 제품군을 살펴보세요. NGINX는 이제 F5의 일부가 되었습니다. 이전의 모든 NGINX.com 링크는 F5.com의 유사한 NGINX 콘텐츠로 리디렉션됩니다."