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 ユーザーとして次のコマンドを使用して、キー リング (システム上の信頼済み鍵のデータベース)にインポートします。
~]# 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) [output truncated]
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