悪意のあるサードパーティがDebianミラーのコードのセキュリティをハッキング/侵害するのを防ぐため、または取得したパッケージが実際にメンテナが考えているものであることを確認するために、どのようなセキュリティシステムとプロセスが導入されていますか?
ミラーの内容は、PGPキーを使用して直接または間接的に署名されます。 Debianディストリビューションの「ルート」から始めます。
Release
、 Release.gpg
で切り離された署名で署名され、すべてのパッケージインデックスとインストーラーのハッシュ(MD5、SHA1、SHA256)が含まれていますハッシュ( InRelease
2つを組み合わせる);binary-AMD64
)には、パッケージのハッシュ(MD5およびSHA256)が含まれます。ハッシュと署名は、システムに保存されているPGPキー(apt-get
によって管理されている)を使用して、apt-key
などのツールによってチェックされます。受信システムが正常である限り、デフォルトでは、アーカイブPGPキーによって(間接的に)署名されていない場合、Debianアーカイブからパッケージをインストールすることはできません。ミラー上の侵入者は、関連するPGPキーも制御できない場合、バイナリを置き換えることはできません。
これは、アーカイブを危険にさらすだけでは、エンドユーザーシステムを実際に危険にさらすのに十分ではないことを意味します。また、それらのシステムがすでに信頼しているPGP鍵を危険にさらす必要があります。 (これの当然の結果として、Debianシステムにキーを追加することは軽視されるべきものではありません。)アーカイブのセキュリティはそれほど重要ではないので、これはある程度最初の質問に対処します。それにもかかわらず、重要なシステム(署名が行われる場所)は厳密に監視および監視されており、それらにアクセスできる人はほとんどいません。
パッケージが「実際にメンテナが考えているもの」であることを確認することは、もう少し複雑です。これは、パッケージがたどるパスです。
メンテナがパッケージソースと一緒にバイナリをアップロードする場合、これらは最終的に提供されるファイルです(当面の間)。バイナリのアップロードはオプションになっているため、それらをスキップすることがますます一般的になり、最終的にアップロードされたバイナリは削除されます。 (これはUbuntuでは常に当てはまります。)他のバイナリがメンテナの期待に一致するかどうかは、構築されたネットワークによって異なります。そのため、ビルドも重要なシステムであり、厳密な監視下にあり、人間のアクセスはほとんどありません。すべてのアーティファクトが署名されているため、ファイルの整合性を常に検証できます。最初にメンテナのキーに対して、次にビルドのキーに対して、最後にアーカイブのキーに対してです。
plugwash で指摘されているように、元の署名はミラーで使用できず、どのDDでも欠落しているバイナリをアップロードできます。元の署名は debian-devel-changes アーカイブから取得できます。
要約すると、現在のシステムは完全ではありませんが、ミラーからダウンロードできるすべてのファイルのトレーサビリティを提供します。状況を改善するための多くの取り組みがあります: 再現可能なビルド (公開されたソースへのバイナリの対応の独立した検証を可能にします)、メンテナ提供のバイナリを削除します...