apt
が複数のパッケージ入手先にアクセスできることはセキュリティ脆弱性に繋がる可能性があります。Joe Random Hacker の
gargleblast
パッケージをインストールするために、Joe
が公開しているパッケージアーカイブをあなたの sources.list
ファイルに追加すると仮定しましょう。しかし Joe のアーカイブには、libc6
や
ssh
などのパッケージの、彼の「カスタム」バージョンも――あなたに気付かれずに――含まれている可能性があります。……あなたの個人情報を盗んだりシステムにバックドアを開けたりするバージョンです!
もしこれらのパッケージのバージョン番号が正規の Debian パッケージのバージョン番号よりも大きかったら、apt
は次の更新時に軽率にもこれらをシステムにインストールしてしまい、Joe が汚い仕事を気付かれずに行うのを可能にしてしまうでしょう。Joe
はまた、あなたの Debian アーカイブのミラーに侵入し、含まれている正規のソフトウェアを彼が細工したバージョンに置き換えてしまうかもしれません。
幸いにも、このマニュアルが対象としているような新しいバージョンの apt
や aptitude
には、このような種類の攻撃を打ち負かす手助けとなる内蔵の防御機能が備わっています。apt
は、Debian 公式ミラーで配布されているパッケージが
Debian 開発者がアップロードしたパッケージと同一であることを検証するのに、有名な暗号化ソフトウェア GPG に基づいた強力なセキュリティ機構を使用しています。その結果
aptitude は、Debian 以外の入手先からパッケージをインストールしようとしたり、Debian の入手先からインストールしたパッケージを
Debian 以外の入手先に由来するバージョンに更新しようとしたりすると、警告を発します。
警告 | |
---|---|
信頼できる入手先のみからソフトウェアをインストールするようにすることは、悪意のあるパッケージに対する有力な防御になります。しかし、それでも、ソフトウェアのインストールにつきものの危険性をすべて取り除けるわけではありません。 |
apt
allows the administrator of an archive to provide a
signature of the archive's index. This signature,
which (for all practical purposes) cannot be forged, indicates that the
package files listed in the index are the same files that the administrator
intended to place in the archive: ie, that the contents of the archive have
not been tampered with since it was created.[9] The signature can be validated by checking that it corresponds to
the administrator's public key. The public key of
the Debian archive is distributed with apt
, typically on your Debian CD.
aptitude は、アーカイブのインデックスをダウンロードする際に、インデックスが適切に署名されているか調べます。署名がなされていない場合、aptitude はそのアーカイブから入手するパッケージファイルを信頼しません (その意味については、以下の情報を参照してください)。インデックスに署名があってもそれが間違っているか検証できない場合は、aptitude は警告を表示し、そのアーカイブから入手するパッケージを信頼することを拒否します。
後でインストールの実行を行うときに、aptitude はパッケージが信頼できる入手先からのものか調べます。信頼されていないパッケージをインストールしようとしている場合、またはパッケージを信頼されているバージョンから信頼されていないバージョンに更新しようとしている場合は、警告が表示され、ダウンロードを中断する機会が与えられます。
Debian のメインアーカイブに加えて追加のアーカイブを apt
が信頼するようにできると便利だと感じるでしょう。追加のアーカイブを apt
に信頼させるには、信頼させたい各アーカイブのパッケージインデックスの署名に使用する公開鍵を取得しなければなりません。公開鍵は通常、名前が
.asc
で終わるテキストファイルで、おそらくサイトの管理者によって配布されているか、公開鍵サーバからダウンロード可能です。公開鍵の意味や取得方法についてさらに詳しく知りたい場合は、GPG のウェブページを参照してください。
apt が信頼する鍵の一覧は鍵輪ファイル
/etc/apt/trusted.gpg
に格納されています。GPG 鍵を取得したら、コマンド
gpg --no-default-keyring --keyring /etc/apt/trusted.gpg --import
newkey.asc
を実行すると鍵をこの鍵輪ファイルに追加できます。すると
aptitude は、newkey.asc
に含まれている鍵で署名されているあらゆるアーカイブを信頼するようになります。
警告 | |
---|---|
APT の鍵輪に追加されると、アーカイブの鍵は Debian のメインミラー自体と完全に同様に信頼されます! 鍵輪への追加は、追加しようとしている鍵が正しく、かつ鍵を所持する個人が信頼に値する有能な人物であるときちんと確信している場合にのみ行うべきです。 |