GPGキー

クライアントではGPGキーを使用して、ソフトウェアパッケージをインストールする前にパッケージ認証の確認が行われます。 信頼されているソフトウェアのみクライアントにインストールできます。

ほとんどの場合、クライアントにソフトウェアをインストールできるようにGPG設定を調整する必要はありません。

RPMパッケージに直接署名することはできますが、Debianベースのシステムではメタデータにのみ署名し、チェックサムのチェーンを使用してパッケージを保護します。 RPMベースのほとんどのシステムでは、署名されたパッケージに加え、署名されたメタデータも使用します。

1. クライアントでGPGキーを信頼する

オペレーティング システムは、独自のGPGキーを直接信頼するか、少なくとも最小限のシステムでインストールされて出荷されます。 ただし、別のGPGキーで署名されたサードパーティのパッケージは手動で処理する必要があります。 クライアントは、GPGキーを信頼していなくても正常にブートストラップできます。 ただし、キーが信頼されるまで、新しいクライアントツールパッケージをインストールしたり、更新したりできません。

クライアントは、ソフトウェアチャンネルに入力されたGPGキーの情報を使用して信頼済みのキーを管理するようになります。GPGキーの情報が含まれるソフトウェアチャンネルをクライアントに割り当てると、チャンネルを更新したとき、またはこのチャンネルから最初のパッケージをインストールしたときに、そのキーが信頼されます。

ソフトウェアチャンネルページのGPGキーのURLには、「空白」で区切られた複数のキーのURLを含めることができます。 ファイルURLの場合は、ソフトウェアチャンネルを使用する前に、GPGキーファイルをクライアントに配備する必要があります。

Red Hatベースのクライアントのクライアントツールチャンネル用GPG キーは、クライアントの/etc/pki/rpm-gpg/に配備され、ファイルURLで参照できます。

SUSE Liberty LinuxクライアントのGPGキーの場合も同様です。

ソフトウェアチャンネルがクライアントに割り当てられている場合にのみ、システムによってインポートされて信頼されます。

Debianベースのシステムはメタデータのみに署名するため、単一チャンネルに追加のキーを指定する必要はありません。 リポジトリメタデータの署名の「独自のGPGキーを使用する」で説明されているように、ユーザが独自のGPGキーを設定してメタデータに署名すると、そのキーの配備と信頼が自動的に実行されます。

1.1. ユーザ定義のGPGキー

ユーザは、クライアントに配備するカスタムのGPGキーを定義できます。

いくつかのpillarデータを提供し、SaltファイルシステムにGPGキーファイルを提供することで、自動的にクライアントに配備されます。

これらのキーは、RPMベースのオペレーティングシステムでは/etc/pki/rpm-gpg/に、Debianシステムでは/usr/share/keyrings/に配備されます。

キーを配備するクライアントのpillarキーcustom_gpgkeysを定義し、キーファイルの名前を一覧にします。

cat /srv/pillar/mypillar.sls
custom_gpgkeys:
  - my_first_gpg.key
  - my_second_gpgkey.gpg

さらに、Saltファイルシステムでは、gpgという名前のディレクトリを作成し、custom_gpgkeys pillarデータで指定された名前のGPGキーファイルを保存します。

ls -la /srv/salt/gpg/
/srv/salt/gpg/my_first_gpg.key
/srv/salt/gpg/my_second_gpgkey.gpg

キーは/etc/pki/rpm-gpg/my_first_gpg.keyおよび/etc/pki/rpm-gpg/my_second_gpgkey.gpgでクライアントに配備されます。

最後のステップでは、ソフトウェアチャンネルのGPGキーのURLフィールドにURLを追加します。 ソフトウェア  管理  チャンネルに移動し、変更するチャンネルを選択します。 [GPGキーのURL]に値file:///etc/pki/rpm-gpg/my_first_gpg.keyを追加します。

1.2. ブートストラップスクリプトのGPGキー

プロシージャ: ブートストラップスクリプトを使用してクライアントでGPGキーを信頼する
  1. SUSE Managerサーバのコマンドプロンプトで、/srv/www/htdocs/pub/ディレクトリの内容を確認します。 このディレクトリには、使用できるすべての公開鍵が含まれています。 登録クライアントに割り当てるチャンネルに適用するキーをメモします。

  2. 関連するブートストラップスクリプトを開き、ORG_GPG_KEY=パラメータを見つけて、必要なキーを追加します。 次に例を示します。

    uyuni-gpg-pubkey-0d20833e.key

    以前保存したキーを削除する必要はありません。

クライアントのセキュリティにとってGPGキーを信頼することは重要です。 必要かつ信頼できるキーを決定するのは管理者のタスクです。 GPGキーが信頼されていない場合、ソフトウェアチャンネルをクライアントに割り当てることはできません。