web-dev-qa-db-ja.com

リポジトリリストは安全ですか? HTTPSバージョンはありますか?

リポジトリの更新は安全ですか?

開発者側の小さな頭脳として、リポジトリリストがhttp://security.ubuntu.comであり、他のhttp(セキュアでない)サイトが/etc/apt/sources.listにリストされている理由を理解できません。証明書チェーンの一致がない場合、これは「ubuntu.comサイトを尋ねる...」ではなく、「更新するパッケージのリストをレスポンダーに尋ねる」と表示されます。

どのネットワークでも更新サイトのなりすましを選択できますか?これは、ローカルにキャッシュされ、吟味されたコピーを提供する一般的な方法ですか?

24
Charles Merriam

要するに、はい、ファイルに署名するために使用される公開キー暗号化のため、それらは安全です。

APTによってダウンロードされたすべてのファイルには、ダウンロードされたファイルを、UbuntuおよびUbuntuのみによって署名されたコンピューターに保存されている公開キーに対して検証できる署名があります。これにより、受け取ったファイルがUbuntuによって何らかの段階で承認され、それ以降変更または改ざんされていないことが確認されます。

これがどのように機能するかの技術的な説明が利用可能です buntuから (および Debianから は同じシステムを使用します)。

HTTPSの代わりにHTTPを使用しているため、盗聴者はダウンロードしているファイルを確認できますが、この場合、プライバシーが懸念されることはほとんどありません。パッケージを変更して有害なコードを挿入しようとする中間者の試みは、署名メカニズムを破壊するため、依然として失敗します。

この署名メカニズムで考えられることの1つは、パッケージの最新バージョンを取得していることを保証しないことです(実際、ミラーの更新が遅い場合があります)。この問題を軽減するために、署名済みリリースファイルには「有効期限」の日付が含まれています。この日付を過ぎると、参照するすべてのファイルが古くなったと見なされます。中間者がこの有効期限までにアーカイブを変更されていない以前のバージョンのアーカイブに置き換え、APTに更新がないと信じさせる可能性があります。しかし、彼らはパッケージにarbitrary意的な変更を加えることも、特定の時点を過ぎて時間を遡ることもできません。

署名メカニズムは、ファイルがUbuntuによって制御されていない多くのサーバーにミラーリングされるこの種の分散環境で、HTTPSよりもはるかに優れたセキュリティを提供します。本質的には、ミラーではなく、Ubuntuのみを信頼する必要があるため、ファイルが元々Ubuntuから来たものであり、変更されていないことを証明する必要があります。ミラーのIDを確認する必要はありません。

PPAなどの非公式リポジトリをソースリストに追加すると、Ubuntuによって署名されていないファイルを受け取ることに注意してください。 APTは、これについて警告する必要があります。これは、Ubuntuの許可に従って、コンピューターにインストールされている公開キーのいずれかと一致する証明書によって署名されていないためです。

30
thomasrutter

ここで最も評価の高い回答は明らかに時代遅れです。それ以来、バグのあるパッケージ検証のために、aptで2つの深刻なリモートコード実行エクスプロイトが見つかりました。セキュリティ情報 here および here

これは、プライバシー/情報漏洩および古いパッケージバージョンに関する懸念よりもはるかに悪いものです。これにより、ルートとしての任意のコード実行が可能になり、完全なセキュリティ障害が発生します。そして、問題は、httpの代わりにhttpsが使用された場合、これらの攻撃が阻止されたことです。

これは、 深層防御 の原則が他のどこでも適用されることを証明しています。これらのエクスプロイトで示されているように、httpsはaptのコンテキストでセキュリティ上の利点をまったく提供しないか、最小限に抑えるという多くの主張は単に間違っています。

質問は、キャッシング、オーバーヘッドの増加などの面でhttpsのセキュリティ上の利点がコストに見合うかどうかになります。それには答えられませんが、少なくとも、Ubuntu/Canonical/Launchpadはリポジトリにオプションのhttpsエンドポイントを提供する必要があると思います。

8
Niklas Holm

重要な補足:実際、オンラインでのアップグレードおよび初期インストールのダウンロードには大量のトラフィックが必要であり、これらのトラフィックのソース、つまりバイナリおよびテキストコードストリームは再現可能です。そのため、インターネットには多数のゲートウェイとキャッシュデバイスがあります。かなりの数のISPが、エクスポート帯域幅を節約するためにhttpプロトコルに基づいてキャッシュを設定しており、httpsプロトコルは透過キャッシュとして存在できません。

もう1つの理由は、httpベースのミラーリングプログラムがはるかに単純であり、tls-ssl証明書を検証する必要がなく、証明書の無効化やWebサーバー構成の問題を心配する必要がないことです。

インターネットが始まった20年ほど前の、HTTPSとインターネットトラフィックはまだ非常に高価なゲームプレイでした。したがって、httpにはFTPプロトコルも含まれていました。これは、ソフトウェアパッケージをオンラインで配布するためのインストールおよび更新を提供する主な方法として、ほぼ廃止されています。

同様に、Microsoft WindowsとOfficeもhttpを使用してアップグレードされます。通常、Microsoftのサーバーからダウンロードしたインストールパッケージではなく、ISPの自己構築キャッシュサーバーであることがわかります。

2
J.Z