GPGキー
クライアントではGPGキーを使用して、ソフトウェアパッケージをインストールする前にパッケージ認証の確認が行われます。 信頼されているソフトウェアのみクライアントにインストールできます。
ほとんどの場合、クライアントにソフトウェアをインストールできるようにGPG設定を調整する必要はありません。
RPMパッケージに直接署名することはできますが、Debianベースのシステムではメタデータにのみ署名し、チェックサムのチェーンを使用してパッケージを保護します。 RPMベースのほとんどのシステムでは、署名されたパッケージに加え、署名されたメタデータも使用します。
1. クライアントでGPGキーを信頼する
オペレーティング システムは、独自のGPGキーを直接信頼するか、少なくとも最小限のシステムでインストールされて出荷されます。 ただし、別のGPGキーで署名されたサードパーティのパッケージは手動で処理する必要があります。 クライアントは、GPGキーを信頼していなくても正常にブートストラップできます。 ただし、キーが信頼されるまで、新しいクライアントツールパッケージをインストールしたり、更新したりできません。
Saltクライアントは、ソフトウェアチャンネル用に入力されたGPGキー情報を使用して、信頼できるキーを管理するようになりました。 GPGキー情報を持つソフトウェアチャンネルがクライアントに割り当てられると、チャンネルが更新されるか、このチャンネルから最初のパッケージがインストールされるとすぐに、キーが信頼されます。
ソフトウェアチャンネルページのGPGキーのURLには、「空白」で区切られた複数のキーのURLを含めることができます。 ファイルURLの場合は、ソフトウェアチャンネルを使用する前に、GPGキーファイルをクライアントに配備する必要があります。
Red Hatベースのクライアントのクライアントツールチャンネル用GPG キーは、クライアントの/etc/pki/rpm-gpg/
に配備され、ファイルURLで参照できます。 拡張サポートクライアントの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キー
-
SUSE Managerサーバのコマンドプロンプトで、
/srv/www/htdocs/pub/
ディレクトリの内容を確認します。 このディレクトリには、使用できるすべての公開鍵が含まれています。 登録クライアントに割り当てるチャンネルに適用するキーをメモします。 -
関連するブートストラップスクリプトを開き、
ORG_GPG_KEY=
パラメータを見つけて、必要なキーを追加します。 次に例を示します。uyuni-gpg-pubkey-0d20833e.key
以前保存したキーを削除する必要はありません。
クライアントのセキュリティにとってGPGキーを信頼することは重要です。 必要かつ信頼できるキーを決定するのは管理者のタスクです。 GPGキーが信頼されていない場合、ソフトウェアチャンネルをクライアントに割り当てることはできません。 |