Provided by: apt_2.7.14build2_amd64
名前
apt-secure - APT アーカイブ認証サポート
説明
Starting with version 0.6, APT contains code that does signature checking of the Release file for all repositories. This ensures that data like packages in the archive can't be modified by people who have no access to the Release file signing key. Starting with version 1.1 APT requires repositories to provide recent authentication information for unimpeded usage of the repository. Since version 1.5 changes in the information contained in the Release file about the repository need to be confirmed before APT continues to apply updates from this repository. 注意: apt-get(8)、aptitude(8)、synaptic(8) といった APT ベースのパッケージ管理フロントエン ドは全てこの新しい証明機能をサポートしています。この man ページでは単純化するためだけ に、その全てを参照するのに APT を使っています。
UNSIGNED REPOSITORIES
アーカイブに署名されていない Release ファイルがある、または Release ファイルが全くない場合 は、現在の APT バージョンは update 操作によるそこからのダウンロードをデフォルトで拒否 し、ダウンロードを強制した場合でも、インストール要求に証明されていないアーカイブからのパッ ケージが含まれる場合には apt-get のようなフロントエンドは明示的な確認を要求します。 設定オプション Acquire::AllowInsecureRepositories に true を設定するとどの APT クライアン トでも警告だけを出すように強制できます。sources.list(5) オプション allow-insecure=yes を使 うと個々のリポジトリについて安全でないことを許可するようにもできます。安全でないリポジトリ は全く勧められるものではなく、apt にそのサポート継続を強制させるオプションは全て最終的には 削除されることに注意してください。ユーザ側では警告についても無効化する Trusted オプション を利用することもできますが、sources.list(5) で述べているように、その影響を必ず理解してくだ さい。 以前は証明されていたけれども update 操作の結果その効力がなくなったリポジトリについては、安 全でないリポジトリの利用を許可あるいは禁止するオプションに関わらず、どの APT クライアント でもエラーを出します。追加で Acquire::AllowDowngradeToInsecureRepositories に true をセッ トするか sources.list(5) のオプション allow-downgrade-to-insecure=yes を個々のリポジトリに 設定することでこのエラーを無視させることもできます。
SIGNED REPOSITORIES
APT アーカイブからエンドユーザまでの信頼の輪は、いくつかのステップで構成されていま す。apt-secure は、この輪の最後のステップで、「アーカイブを信頼する」ということは、パッ ケージに悪意のあるコードが含まれていないことを信頼するということではなく、アーカイブメンテ ナを信頼するということを意味します。これは、アーカイブの完全性が保たれていることを保証する のは、アーカイブメンテナの責任だということです。 apt-secure はパッケージレベルの署名検証は行いません。そのようなツールが必要な場合 は、debsig-verify や debsign (debsig-verify パッケージと devscripts パッケージでそれぞれ提 供されています) を確認してください。 Debian における信頼の輪は、(例えば) 新しいパッケージやパッケージの新バージョンを、メンテナ が Debian アーカイブにアップロードすることから始まります。これが有効になるには、アップロー ドの際に、Debian メンテナキーリング (debian-keyring パッケージに収録) にあるメンテナのキー で署名する必要があります。メンテナのキーは、キーの所有者の ID を確保するため、事前に確立し た手続きの後で、他のメンテナに署名されています。同様の手順は、すべての Debian ベースのディ ストリビューションに存在します。 アップロードされたパッケージが検証されてアーカイブに格納されると、メンテナの署名を取り外 し、パッケージのチェックサムを計算して、Packages ファイルに格納します。その後、全 Packages ファイルのチェックサムを計算して、Release ファイルに格納します。Release ファイルは、その Ubuntu リリースのアーカイブキーで署名され、Ubuntu ミラーサイトでパッケージや Packages ファ イルとともに配布されます。このキーは、debian-archive-keyring パッケージに収録されてい る、Ubuntu アーカイブキーリングに含まれます。 エンドユーザは誰でも、Release ファイルの署名をチェックし、パッケージのチェックサムを抽出し て、手でダウンロードしたパッケージのチェックサムと比較できます。また、APT が自動的に行うの に任せることもできます。 以上は、パッケージごとの署名チェックとは違うことに注意してください。以下のように考えられる 2 種類の攻撃を防ぐよう設計されています。 • ネットワーク中間者攻撃。署名をチェックしないと、悪意あるエージェントがパッケージダウン ロードプロセスに割り込んだり、ネットワーク構成要素 (ルータ、スイッチなど) の制御や、悪 漢サーバへのネットワークトラフィックのリダイレクトなど (ARP スプーフィング攻撃や DNS スプーフィング攻撃) で、悪意あるソフトウェアを掴まされたりします。 • ミラーネットワーク感染。署名をチェックしないと、悪意あるエージェントがミラーホストに感 染し、このホストからダウンロードしたユーザすべてに、悪意あるソフトウェアが伝播するよう にファイルを変更できます。 しかしこれは、(パッケージに署名する) マスターサーバ自体の侵害や、Release ファイルに署名す るのに使用したキーの漏洩を防げません。いずれにせよ、この機構はパッケージごとの署名を補完す ることができます。
INFORMATION CHANGES
A Release file contains beside the checksums for the files in the repository also general information about the repository like the origin, codename or version number of the release. This information is shown in various places so a repository owner should always ensure correctness. Further more user configuration like apt_preferences(5) can depend and make use of this information. Since version 1.5 the user must therefore explicitly confirm changes to signal that the user is sufficiently prepared e.g. for the new major release of the distribution shipped in the repository (as e.g. indicated by the codename).
ユーザ設定
apt-key は、リポジトリを信頼するために APT が使用するキーリストを管理するプログラムで す。信頼されたキーのリストにキーを追加または削除するために使用することができます。キーが署 名することができるアーカイブは、sources.list(5) 中の Signed-By を介して制限可能です。 デフォルトのインストールでは、すでにデフォルトのリポジトリからセキュアにパッケージを取得す るためにすべてのキーが含まれていることに注意してください。そのため、サードパーティのリポジ トリを追加している場合は apt-key で操作する必要があります。 新しいキーを追加するためには、まずキーをダウンロードする必要があります (取得する際には、信 頼できる通信チャネルを使用するよう、特に留意してください)。取得したキーを、apt-key で追加 し、apt-get update を実行してください。以上により、apt は設定済みのアーカイブか ら、InRelease ファイルや Release.gpg ファイルをダウンロード・検証できるようになります。
REPOSITORY CONFIGURATION
あなたがメンテナンスしているアーカイブで、アーカイブ署名を提供したい場合、以下のようにして ください。 • 既に存在しているのでなければ、最上位 Release ファイルを作成してくださ い。apt-ftparchive release (apt-utils で提供) を実行すると、作成できます。 • 署名します。gpg --clearsign -o InRelease Release や gpg -abs -o Release.gpg Release を 実行して、署名してください。 • キーのフィンガープリントを公開します。これにより、ユーザは、アーカイブ内のファイルを認 証するためにインポートする必要があるキーを知るでしょう。これは、ディストリビューション のアップデートとキーの更新を後で自動的に行うことができる ubuntu-keyring を実行する Ubuntu のような独自のキーリングパッケージで鍵を公開するのが最善です。 • アーカイブとキーを追加する方法について説明します。ユーザがセキュアにキーを取得できない 場合は、上述の信頼の輪が壊れています。ユーザのキー追加を助けることができる方法は、アー カイブとすでに信頼のウェブを活用するように (ディストリビューションのデフォルトのリポジ トリのように) 設定している別のアーカイブユーザに含まれたあなたのキーリングパッケージを 持つまでは、アーカイブと対象者に依存します。 アーカイブの内容に変化がある場合 (新しいパッケージの追加や削除)、アーカイブメンテナは前述 の最初の 2 ステップに従わなければなりません。
関連項目
apt.conf(5), apt-get(8), sources.list(5), apt-key(8), apt-ftparchive(1), debsign(1), debsig-verify(1), gpg(1) 詳細な背景情報を検証するのなら、Securing Debian Manual (harden-doc パッケージにも収録) の Debian Security Infrastructure[1] 章や、V. Alex Brennen による Strong Distribution HOWTO[2] をご覧ください。
バグ
APT バグページ[3] をご覧ください。 APT のバグを報告する場合は、 /usr/share/doc/debian/bug-reporting.txt や reportbug(1) コマンドをご覧ください。
著者
APT は APT チーム <apt@packages.debian.org> によって書かれました。
マニュアルページ作者
このマニュアルページは Javier Fernández-Sanguino Peña, Isaac Jones, Colin Walters, Florian Weimer, Michael Vogt の作業を元にしています。
翻訳
倉澤 望 <nabetaro@debian.or.jp> (2003-2006,2009-2012), Takuma Yamada <tyamada@takumayamada.com> (2016), Debian JP Documentation ML <debian-doc@debian.or.jp> この翻訳文書には未訳部分が含まれている可能性があることに 注意してください。 翻訳がオリジナ ルに追従できていない場合、 内容を失わないようにこのようにしています。
著者
Gunthorpe Jason[FAMILY Given] [FAMILY Given]
注記
1. Debian Security Infrastructure http://www.debian.org/doc/manuals/securing-debian-howto/ch7 2. Strong Distribution HOWTO http://www.cryptnet.net/fdp/crypto/strong_distro.html 3. APT バグページ https://bugs.debian.org/src:apt