1.5.2. 署名パッケージの検証

Red Hat Enterprise Linux のパッケージはすべて、Red Hat GPG 鍵を使って署名されています。GPG は GNU Privacy Guard または GnuPG の略で、配信ファイルの信頼性を保証するために使用されるフリーソフトウェアのパッケージです。例えば、秘密鍵 (シークレットキー) はパッケージをロックし、公開鍵はパッケージのロックを解除し、パッケージを検証します。RPM の検証時に、Red Hat Enterprise Linux が配信する公開鍵が秘密鍵と一致しなければ、パッケージは改ざんされている可能性があるので信頼できません。
Red Hat Enterprise Linux 6 内の RPM ユーティリティは、RPM パッケージのインストール前に、GPG 署名の検証を自動的に試行します。Red Hat GPG 鍵がインストールされていない場合は、Red Hat インストール CD-ROM または DVD などの安全で静的な場所からインストールしてください。
ディスクが /mnt/cdrom にマウントされていると仮定すると、root ユーザーとして以下のコマンドを使用して keyring (システム上の信頼できるキーのデータベース) にインポートすることができます。
~]# rpm --import /mnt/cdrom/RPM-GPG-KEY
これで Red Hat GPG 鍵が /etc/pki/rpm-gpg/ ディレクトリに置かれます。
RPM の検証用にインストールされたすべてのキーを一覧表示するには、次のコマンドを実行します。
~]# rpm -qa gpg-pubkey*
gpg-pubkey-db42a60e-37ea5438
特定のキーに関する詳細を表示するには、以下の例のように、先のコマンドの出力の前に rpm -qi コマンドを使用します。
~]# rpm -qi gpg-pubkey-db42a60e-37ea5438
Name        : gpg-pubkey                   Relocations: (not relocatable)
Version     : 2fa658e0                          Vendor: (none)
Release     : 45700c69                      Build Date: Fri 07 Oct 2011 02:04:51 PM CEST
Install Date: Fri 07 Oct 2011 02:04:51 PM CEST      Build Host: localhost
Group       : Public Keys                   Source RPM: (none)[出力は省略されています]
RPM ファイルのインストール前に、そのファイルの署名を検証してパッケージの元のソースからの改ざんされていないことを確認することは極めて重要です。ダウンロードしたパッケージすべてを一度に検証するには、以下のコマンドを実行します。
~]# rpm -K /root/updates/*.rpm
alsa-lib-1.0.22-3.el6.x86_64.rpm: rsa sha1 (md5) pgp md5 OK
alsa-utils-1.0.21-3.el6.x86_64.rpm: rsa sha1 (md5) pgp md5 OK
aspell-0.60.6-12.el6.x86_64.rpm: rsa sha1 (md5) pgp md5 OK
それぞれのパッケージについて GPG 鍵が問題なく検証されると、このコマンドは gpg OK を返します。検証に失敗した場合は、コンテンツのソースを検証するほか、Red Hat の適切な公開鍵を使用していることを確認してください。GPG 検証に失敗したパッケージは、第三者によって改ざんされている可能性があるためにインストールしないでください。
GPG 鍵を検証し、エラータレポートに関連する全パッケージをダウンロードした後に、シェルプロンプトで root としてこれらのパッケージをインストールします。
または、Yum ユーティリティを使って、署名されたパッケージを検証することもできます。Yum は、すべてのパッケージリポジトリ (つまりパッケージソース) または個別のリポジトリに対し、GPG 署名されたパッケージの GPG 署名検証を有効にして、セキュアなパッケージ管理を可能にします。署名の検証を有効にすると、Yum は該当リポジトリの適切な鍵を使って GPG 署名されていないパッケージのインストールを拒否します。つまりこれにより、システムにダウンロードし、インストールできる RPM パッケージは Red Hat のような信頼できるソースからのものであり、転送時に変更されるていないことが確信できます。
Yum を使ったパッケージのインストールまたは更新の際に GPG 署名の自動検証を有効にするには、/etc/yum.conf ファイルの [main] セクション下に以下のオプションが定義されていることを確認します。
gpgcheck=1