リポジトリがどのキーで署名されたか(またはその逆)をどうやって知ることができますか?

リポジトリがどのキーで署名されたか(またはその逆)をどうやって知ることができますか?

signed-by/etc/apt/trusted.gpg.dのキーの代わりに/usr/share/keyringsを指す/etc/apt/sources.list.d/debian.sourcesのすべてのリポジトリでこのオプションを使用したいと思います。このディレクトリを見れば、この古い慣行は安全ではないことが私が理解したことです。これがサードパーティのリポジトリにのみ適用されるかどうかはわかりませんが、後悔するよりも安全な方が良いです。

しかしsigned-by、オプションを追加すると、キー名がリポジトリと一致しないため、どのキーがどのリポジトリに接続されているかがわからないことがわかりました。

debian-archive-bullseye-automatic.gpg
debian-archive-bullseye-security-automatic.gpg
debian-archive-bullseye-stable.gpg
debian-archive-buster-automatic.gpg
debian-archive-buster-security-automatic.gpg
Debian -archive-buster-stable.gpg
debian-archive-keyring.gpg
debian-archive-removed-keys.gpg
debian-archive-stretch-automatic.gpg
debian-archive-stretch-security-automatic.gpg
debian-archive-stretch-安定したGPG

私の/etc/apt/sources.list.d/debian.sourcesは次のとおりです。

タイプ: deb
URI:https://deb.debian.org/debian/
コレクション: Busterコンポーネント
: main
署名者: /usr/share/keyrings/debian-archive-buster-stable.gpg

タイプ: deb-src
URI:https://deb.debian.org/debian/
コレクション: Busterコンポーネント
: main
署名者: /usr/share/keyrings/debian-archive-buster-stable.gpg

タイプ: deb
URI:https://security.debian.org/debian-security
スイート:バスター/アップデートコンポーネント
:メイン
署名者:/usr/share/keyrings/debian-archive-buster-security-automatic.gpg

タイプ: deb-src
URI:https://security.debian.org/debian-security
スイート:バスター/アップデートコンポーネント
:メイン
署名者:/usr/share/keyrings/debian-archive-buster-security-automatic.gpg

タイプ: deb
URI:https://deb.debian.org/debian/
パッケージ: Buster-updates
コンポーネント: main
署名者: /usr/share/keyrings/debian-archive-buster-automatic.gpg

タイプ: deb-src
URI:https://deb.debian.org/debian/
パッケージ: Buster-updates
コンポーネント: main
署名者: /usr/share/keyrings/debian-archive-buster-automatic.gpg

タイプ: deb
URI:https://deb.debian.org/debian
パッケージ: Buster-backports
コンポーネント: main
署名者: /usr/share/keyrings/debian-archive-buster-automatic.gpg

これによりエラーは発生せず、ソフトウェアをインストールできますが、推測することなく各リポジトリのオプションapt updateにどのキーを関連付けるべきかを決定し、質問を残す方法を知りたいです。signed-by

わかりました。apt-key listしかし、情報はほぼ同じです。 「Debian Secure Archive Auto-Signing Key」は、アップデートの中断とバックポートの中断に署名したことをどのように伝えますか?複数のパッケージに対して1つのキーが署名されるのは正常ですか?スイートごとに鍵が欲しかったです。

また、逆に、主なフラグが何であるかをどうやって知ることができますか? /usr/share/keyringsに役に立たないキーがないか、悪意のあるストレージに署名していることをどうやって知ることができますか?

ベストアンサー1

これに関連して、サードパーティのリポジトリの現在のベストプラクティスが文書化されています。Debian Wiki ページのサードパーティ製リポジトリの使用に関する情報そして「aptを使用してサードパーティのDebianリポジトリ署名キーを正しく使用する方法」ブログ投稿。結局のところ、Debian 独自のリポジトリに拡張する必要があります。この問題例えば。

現在の設定を信頼していると仮定すると、署名に使用されているキーを一覧表示して、署名されたアーカイブバージョンファイルをキーにマッピングできます。

$ gpgv /var/lib/apt/lists/security.debian.org_dists_buster_updates_InRelease
gpgv: Signature made Mon 07 Jun 2021 23:03:07 CEST
gpgv:                using RSA key 379483D8B60160B155B372DDAA8E81B4331F7F50
gpgv: Can't check signature: No public key
gpgv: Signature made Mon 07 Jun 2021 23:03:07 CEST
gpgv:                using RSA key 5237CEEEF212F3D51C74ABE0112695A0E562B32A
gpgv: Can't check signature: No public key

Debian 10セキュリティアップデートは、RSAキー379483D8B60160B155B372DDAA8E81B4331F7F50および5237CEEEF212F3D51C74ABE0112695A0E562B32Aで署名されているとマークされています。 「Debian セキュリティアーカイブ自動署名キー (9/stretch)」と「Debian セキュリティアーカイブ自動署名キー (10/buster)」です。確信するそれ/usr/share/keyrings、次のコマンドを使用して、その中の個々のキーリングを確認してくださいfor file in /usr/share/keyrings/*.gpg; do echo $file; gpg --list-keys --no-default-keyring --with-subkey-fingerprint --keyring $file; done

これは理想的ではありません。より権威のある使用情報を取得するには、次の規則を適用できます。

  • 「安定」キー(例えばその安定記憶域で使用するための「Debian安定リリースキー(10 / buster)」)
  • Autokey は、お知らせメールに記載されているとおりに使用されます。例えば バスターキーそしてブルスアイキー

リポジトリインデックスは通常、いくつかの重複を許可するために2つのキーで署名されます。

個人に興味を持ってはいけない文書次に/usr/share/keyrings、そこでファイルを提供するパッケージ(もちろんパッケージが提供しないファイル)に関するものです。ただし、上記のマップでは、設定で使用されなくなったキーも見つけることができます。

APT 2.4からは、以下が可能になります。.sourcesフラグメントに署名キーを割り当てる例えば

URIs: https://deb.debian.org
Suites: stable
Components: main contrib non-free
Signed-By:
 -----BEGIN PGP PUBLIC KEY BLOCK-----
...
 -----END PGP PUBLIC KEY BLOCK-----

おすすめ記事