&apt-docinfo;

apt-secure
8

# apt-secure

APT アーカイブ認証サポート

## 説明

バージョン 0.6 より、`apt` 全アーカイブに対する Release ファイルの署名チェックコードが含まれています。 Release ファイル署名キーにアクセスできない人が、 アーカイブのパッケージの変更が確実にできないようにします。

パッケージに署名されなかったり、apt が知らないキーで署名されていた場合、 アーカイブから来たパッケージは、信頼されていないと見なし、 インストールの際に重要な警告が表示されます。 `apt-get` は、 現在未署名のパッケージに対して警告するだけですが、 将来のリリースでは、全ソースに対し、 パッケージダウンロード前に強制的に検証される可能性があります。

&apt-get;, &aptitude;, &synaptic; といったパッケージフロントエンドは、 この新認証機能をサポートしています。

## 信頼済アーカイブ

apt アーカイブからエンドユーザまでの信頼の輪は、 いくつかのステップで構成されています。 `apt-secure` は、この輪の最後のステップで、 アーカイブを信頼することは、 パッケージに悪意のあるコードが含まれていないと信頼するわけではありませんが、 アーカイブメンテナを信頼すると言うことです。 これは、アーカイブの完全性を保証するのは、 アーカイブメンテナの責任だということです。

apt-secure はパッケージレベルの署名検証は行いません。 そのようなツールが必要な場合は、 `debsig-verify` や `debsign` (debsig-verify パッケージと devscripts パッケージでそれぞれ提供されています) を確認してください。

Debian における信頼の輪は、 新しいパッケージやパッケージの新しいバージョンを、 メンテナが Debian アーカイブにアップロードすることで始まります。 これは、Debian メンテナキーリング (debian-keyring パッケージにあります) にあるメンテナのキーで署名しなければ、アップロードできないということです。 メンテナのキーは、キーの所有者のアイデンティティを確保するため、 以下のような事前に確立した手段で、他のメンテナに署名されています。

アップロードされたパッケージごとに、検証してアーカイブに格納します。 パッケージは、メンテナの署名をはがされ、 MD5 sum を計算されて、 Packages ファイルに格納されます。 その後、全パッケージファイルの MD5 sum を計算してから、 Release ファイルに置きます。 Release ファイルは、アーカイブキーで署名されます。 アーカイブキーは年ごとに作成され、FTP サーバで配布されます。 このキーも Debian キーリングに含まれます。

エンドユーザは誰でも、Release ファイルの署名をチェックし、 パッケージの MD5 sum を抽出して、ダウンロードしたパッケージの MD5 sum と比較できます。 バージョン 0.6 以前では、ダウンロードした Debian パッケージの MD5 sum しか、 チェックしていませんでした。 現在では、MD5 sum と Release ファイルの署名の両方でチェックします。

以上は、パッケージごとの署名チェックとは違うことに注意してください。 以下のように考えられる 2 種類の攻撃を防ぐよう設計されています。

- `ネットワーク中間者攻撃` 署名をチェックしないと、 悪意あるエージェントがパッケージダウンロードプロセスに割り込んだり、 ネットワーク構成要素 (ルータ、スイッチなど) の制御や、 悪漢サーバへのネットワークトラフィックのリダイレクトなど (arp 経由や DNS スプーフィング攻撃) で、 悪意あるソフトウェアを掴まされたりします。

- `ミラーネットワーク感染`. 署名をチェックしないと、悪意あるエージェントがミラーホストに感染し、 このホストからダウンロードしたユーザすべてに、 悪意あるソフトウェアが伝播するようにファイルを変更できます。

しかしこれは、 (パッケージに署名する) Debian マスターサーバ自体の感染や、 Release ファイルに署名するのに使用したキーの感染を防げません。 いずれにせよ、この機構はパッケージごとの署名を補完することができます。

## ユーザの設定

`apt-key` は、 apt が使用するキーリストを管理するプログラムです。 このリリースのインストールでは、Debian パッケージリポジトリで使用する、 キーで署名するデフォルトの Debian アーカイブを提供しますが、 `apt-key` でキーの追加・削除が行えます。

新しいキーを追加するためには、まずキーをダウンロードする必要があります。 (取得する際には、信頼できる通信チャネルを使用するよう、特に留意してください) 取得したキーを、`apt-key` で追加し、 `apt-get update` を実行してください。 以上により、apt は指定したアーカイブから、`Release.gpg` ファイルをダウンロード・検証できるようになります。

## アーカイブの設定

あなたがメンテナンスしているアーカイブで、アーカイブ署名を提供したい場合、 以下のようにしてください。

- `上位 Release ファイルの作成` 既にこれが存在しているのでなければ、 `apt-ftparchive release` (apt-utils で提供) を実行して作成してください。

- `署名` `gpg -abs -o Release.gpg Release` を実行して、 署名してください。

- `キーの指紋を配布` これにより、アーカイブ内のファイル認証に、 どのキーをインポートする必要があるかを、 ユーザに知らせることになります。

アーカイブの内容に変化がある場合 (新しいパッケージの追加や削除)、 アーカイブメンテナは前述の最初の 1, 2 ステップに従わなければなりません。

## 関連項目

&apt-conf;, &apt-get;, &sources-list;, &apt-key;, &apt-ftparchive;, &debsign; &debsig-verify;, &gpg;

詳細な背景情報を検証するのなら、 the Securing Debian Manual (harden-doc パッケージにもあります) の Debian Security Infrastructure 章と、 V. Alex Brennen による Strong Distribution HOWTO をご覧ください。

&manbugs; &manauthor;

## マニュアルページ筆者

このマニュアルページは Javier Fernández-Sanguino Peña, Isaac Jones, Colin Walters, Florian Weimer, Michael Vogt の作業を元にしています。

&translator;