블로그 | NGINX

NGINX 제품에 대한 GPG 키 업데이트

NGINX-F5-수평-검정-유형-RGB의 일부
닉 샤드린 썸네일
닉 샤드린
2016년 8월 8일 게시

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 Plus를 사용하세요
  • NGINX Amplify를 사용하세요
  • NGINX, Inc.에서 제공하는 NGINX 오픈 소스 바이너리를 사용하세요.

다음과 같은 NGINX 오픈 소스를 사용하는 경우 GPG 키를 업데이트할 필요가 없습니다.

  • 운영 체제 패키지에서. 대부분의 운영체제는 저장소에 NGINX를 포함하고 있습니다.
  • 당신이 소스에서 편집했습니다. gpg --verify 명령을 사용하여 소스 패키지 서명을 직접 확인할 수 있습니다.

GPG 키 업데이트

업데이트된 키로 전환하려면 키를 다시 가져와서 다시 가져오기만 하면 됩니다. 이 프로세스는 운영 체제에 따라 다릅니다.

Debian/Ubuntu에서 키 업데이트

키를 잘못 구성한 경우 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 서명 키  ...

Amazon Linux, CentOS, Oracle Linux, RHEL 및 SLES에서 키 업데이트

저장소가 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 키를 업데이트하려면 다음 단계를 수행하세요.

  1. 현재 NGINX GPG 키가 설치되어 있는지 확인하세요.

    # rpm -qi gpg-pubkey-7bd9bf62-*

    키가 설치된 경우 출력에는 릴리스 번호와 빌드 날짜가 포함됩니다.

    ...
    풀어 주다     : 5762b5f8
    ...
    빌드 날짜 : 2011년 8월 19일 금요일 오전 5시 52분 34초 EDT
    ...

    설치되지 않은 경우 다음 메시지가 나타납니다.

    패키지 gpg-pubkey-7bd9bf62-*가 설치되지 않았습니다
  2. 현재 NGINX GPG 키를 제거합니다.

    # rpm -e --allmatches gpg-pubkey-7bd9bf62-*
  3. 새로운 키를 다운로드하고 설치하세요:

    # curl -O https://nginx.org/keys/nginx_signing.key # rpm --import ./nginx_signing.key

    (이 플랫폼에서는 확인 가능한 출력이 없습니다.)

  4. 새로운 GPG 키에 대한 릴리스 및 빌드 날짜 정보를 확인하세요:

    # rpm -qi gpg-pubkey-7bd9bf62-* ...
    풀어 주다 : 4e4e3262 ...
    빌드 날짜 : 목 16 6월 2016 오전 10:21:44 EDT

FreeBSD에서 키 업데이트

FreeBSD 패키지 관리 시스템은 GPG 키를 사용하지 않으므로 아무런 조치가 필요하지 않습니다.

GPG 키의 진위성 확인

또한 다운로드한 GPG 키의 진위 여부를 확인할 수 있습니다. GPG는 "신뢰의 웹" 개념을 사용합니다. 즉, 키는 다른 사람의 키로 서명될 수 있고, 이 키는 다시 다른 키로 서명될 수 있습니다.

이러한 접근 방식을 사용하면 임의의 키와 개인적으로 알고 신뢰하는 사람의 키 사이에 체인을 구축하여 체인의 첫 번째 키의 진위성을 확인할 수 있습니다. 이 개념은 GPG Mini Howto 에 자세히 설명되어 있습니다. NGINX, Inc.의 키는 충분한 서명이 있으므로 진위 여부를 비교적 쉽게 확인할 수 있습니다.

지원 받기

GPG 키를 업데이트하는 동안 지원을 받으려면:


"이 블로그 게시물에는 더 이상 사용할 수 없거나 더 이상 지원되지 않는 제품이 참조될 수 있습니다. 사용 가능한 F5 NGINX 제품과 솔루션에 대한 최신 정보를 보려면 NGINX 제품군을 살펴보세요. NGINX는 이제 F5의 일부가 되었습니다. 이전의 모든 NGINX.com 링크는 F5.com의 유사한 NGINX 콘텐츠로 리디렉션됩니다."