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


24

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

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

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

回答:


30

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

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

この仕組みの技術的な説明は、Ubuntu(および同じシステムを使用するDebian)から入手できます。

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

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

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

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


1
すばらしいです!したがって、短いバージョンは「トランスポート層は安全ではありませんが、各パッケージは署名されています。既存のセキュリティ問題に対する利用可能な更新およびパッチの安全なリストはありません。」
チャールズメリアム

2
「利用可能な更新プログラムの安全なリストはありません」という意味がわかりませんが、リリースファイルとパッケージリスト署名されています。ミラーが最新であることを確認しないだけです。
-thomasrutter

3
Er、ミラーまたはメインサイトが最新であることを確認する方法がない場合、利用可能な更新プログラム、セキュリティ更新プログラムなどがあるかどうかを知る方法はありません。つまり、利用可能なアップデートの安全なリストはありません。
チャールズメリアム

4
アリスはUbuntuを実行しています。ボブはアリスのインターネット接続を制御します。ボブは、各パッケージが署名されているため、アリスのインストールに不良パッケージを入れることはできません。Ubuntuには、いくつかの大きなセキュリティ上の欠陥があります。アリスは更新されたパッケージを見つけようとしますが、ボブはパッケージのすべての言及をアリスの更新チェックから削除します。アリスはsysadminを強打し、HTTPSを介してubuntu.comから更新チェックをプルし、安全なリンクを介して実際のWebサイトに接続されていることを確認します。これで、アリスはセキュリティ更新プログラムを確認し、ボブはそれを隠すことができません。
チャールズメリアム

3
これはもちろん正しい答えです。しかし、私が奇妙に感じるのは、既知の攻撃を標的にするために、アップデートしたパッケージとインストールしていないパッケージなど、インストールしたすべてのパッケージのリストを盗聴者がコンパイルすることを心配している人はいないということですそれらのパッケージのセキュリティ脆弱性。
-Teekin

8

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

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

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

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


1
また、セキュリティはプライバシーに関するものであり、HTTPSは、少なくとも、実行しているパッケージとバージョンを把握するのがはるかに困難です。
l0b0

ただし、apt自体に問題がない限り、httpは問題ありません。ただし、httpsは、gpgセキュリティ(またはそれをより正確に使用する方法)が失敗した場合に備えてバックアップを提供します。
RoundDuckMan

2

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

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

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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.