ブログ | NGINX

NGINX 製品の GPG キーの更新

ニック・シャドリン サムネイル
ニック・シャドリン
2016 年 8 月 8 日公開

NGINX Plus、NGINX Amplify、またはnginx.orgからビルド済みの NGINX オープンソースバイナリを使用している場合は、NGINX ソフトウェアの GPG キーを今すぐ更新する必要がある場合があります。

一部の NGINX ソフトウェアのキー(詳細は後述)は 8 月 17 日水曜日に期限切れとなり、キーを更新するまでソフトウェア署名を検証できなくなります。 NGINX, Inc. 以外のプロバイダーから NGINX Open Source を取得する場合 (たとえば、オペレーティング システムのディストリビューション)、このお知らせは影響しません。

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 signature could not be verified for 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 Keys not imported, cannot verify repomd.xml for repo nginx

キーを更新するには、新しい GPG キーをダウンロードして古いキーを上書きします。

# curl -O https://nginx.org/keys/nginx_signing.key && apt-key add ./nginx_signing.key

新しいキーの有効期限を確認するには、 apt-key listを実行します。

# apt-key list
...
pub   2048R/7BD9BF62 2011-08-19 [expires: 2024-06-14]
uid                  nginx signing key <signing-key@nginx.com>
...

Amazon Linux、CentOS、Oracle Linux、RHEL、SLES でのキーの更新

リポジトリが GPG キーをチェックおよび検証するように設定されているかどうかを確認します。 デフォルトでは、NGINX および NGINX Plus リポジトリではチェックは無効になっていますが、NGINX Amplify リポジトリではチェックが有効になっています。 /etc/yum.repos.d内の yum リポジトリ ファイルに次の行が含まれている場合、チェックは無効になります。

gpgcheck=0

チェックが無効になっているサンプル リポジトリ ファイル/etc/yum.repos.d/nginx.repoを次に示します。

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1

この場合、何もする必要はありません。 (チェックを無効にすると、新しいパッケージをインストールするときに警告が表示されますが、インストールは成功します。)

GPG チェックを明示的に構成している場合は、キーを置き換える必要があります。

rpm -Kコマンドを実行すると、ローカルにダウンロードしたパッケージの信頼性を確認できます。

  • キーが見つからない場合は、次のエラーが表示されます。

    # rpm -K nginx-1.11.3-1.el7.ngx.x86_64.rpmnginx-1.11.3-1.el7.ngx.x86_64.rpm: RSA sha1 ((MD5) PGP) md5 NOT OK (MISSING KEYS: (MD5) PGP#7bd9bf62)
  • キーが正しく構成されている場合は、次のメッセージが表示されます。

  • # rpm -K nginx-1.11.3-1.el7.ngx.x86_64.rpmnginx-1.11.3-1.el7.ngx.x86_64.rpm: rsa sha1 (md5) pgp md5 OK

GPG キーを更新するには、次の手順を実行します。

  1. 現在 NGINX GPG キーがインストールされているかどうかを確認します。

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

    キーがインストールされている場合、出力にはリリース番号とビルド日が含まれます。

    ...
    Release     : 5762b5f8
    ...
    Build Date  : Fri 19 Aug 2011 05:52:34 AM EDT
    ...

    インストールされていない場合は、次のメッセージが表示されます。

    package gpg-pubkey-7bd9bf62-* is not installed
  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-*...
    Release     : 4e4e3262
    ...
    Build Date  : Thu 16 Jun 2016 10:21:44 AM EDT

FreeBSD でのキーの更新

FreeBSD パッケージ管理システムは GPG キーを使用しないため、何もする必要はありません。

GPG キーの信頼性の検証

さらに、ダウンロードした GPG キーの信頼性を確認することもできます。 GPG は「信頼のウェブ」という概念を使用します。つまり、あるキーを別の人のキーで署名し、そのキーがさらに別のキーで署名される、というように繰り返します。

このアプローチにより、任意のキーと、個人的に知り合いで信頼している誰かのキーとの間にチェーンを構築し、チェーンの最初のキーの信頼性を検証することが可能になることがよくあります。 この概念については、 GPG Mini Howtoで詳しく説明されています。 NGINX, Inc. のキーには十分な署名があるため、その信頼性を確認するのは比較的簡単です。

サポートを受ける

GPG キーの更新中にサポートを受けるには:


「このブログ投稿には、入手できなくなった製品やサポートされなくなった製品が参照されている場合があります。 利用可能な F5 NGINX 製品およびソリューションに関する最新情報については、 NGINX 製品ファミリーをご覧ください。 NGINX は現在 F5 の一部です。 q。"