apt-get
HTTPSまたは暗号化のいずれかの種類を使用できますか?それを使用するように設定する方法はありますか?
apt-get
HTTPSまたは暗号化のいずれかの種類を使用できますか?それを使用するように設定する方法はありますか?
回答:
apt-get
(および同じAPTライブラリへのフロントエンドである他のパッケージ操作コマンド)は、HTTP、HTTPS、およびFTP(およびマウントされたファイルシステム)を使用できます。およびでhttps://
URL を指定する/etc/apt/sources.list
と/etc/apt/sources.list.d/*
、APTはHTTPSを使用します。
APTはパッケージの署名を検証します。そのため、データ認証を提供する交通手段を用意する必要はありません。攻撃者がダウンロードしているファイルを変更すると、これに気づくでしょう。署名検証を使用すると、HTTPS接続を使用するよりも優れています。転送中の攻撃だけでなく、ダウンロード元のサーバーに対する攻撃を検出できるためです。
より正確には、パッケージの(簡略化された)データフローは次のとおりです。
HTTPSにより、ステップ4が正しく実行されます。パッケージの署名により、手順2〜4が正しく実行されるようになります。
実際、ステップ4のHTTPSには1つの小さな利点があります。パッケージの署名は、パッケージが本物であることを保証するだけです。ステップ4の攻撃者は、正当なサーバーになりすまして、古いバージョンのパッケージを提供する可能性があります。たとえば、攻撃者がセキュリティ更新プログラムをダウンロードできないようにすることで、攻撃のためではない場合に修正プログラムを適用するマシンの脆弱性を悪用する可能性があります。アクティブな攻撃者を必要とするため(これはインターネット接続を制御する誰かである必要があります)、これはあまり現実的なシナリオではありませんが、原則として発生する可能性があります。
HTTPSのもう1つの利点は、ネットワーク接続で索している誰かからUbuntuパッケージをダウンロードしているという事実を隠そうとしている場合です。その場合でも、盗聴者は接続しているホストを確認できます。Ubuntuミラーに接続して数百メガバイトをダウンロードした場合、Ubuntuパッケージをダウンロードしていることは明らかです。盗聴者は、ファイルのサイズからダウンロードしているパッケージをほとんど把握することもできます。したがって、HTTPSは、同様のサイズの他のファイルも提供するサーバーからダウンロードする場合にのみ役立ちます。サードパーティのパッケージを除いて、非常に珍しい状況でのみポイントが表示されません。
繰り返しになりますが、HTTPSの通常の利点は、実際のサーバーに接続していることを知っていることですが、Ubuntuパッケージをダウンロードしているときには役に立ちません。パッケージの署名検証は、HTTPSが提供できるものよりも強力な保証を提供します。
apt-get update
しようとしましたが、リンクがアクセスしようとしたときにエラーが報告されるだけで機能しませんでした。PPAの場合:同じ。誰か試してみましたか?
archive.ubuntu.com
はしません。あなたはディレクトリのリストを取得する場合など、// URLにして見て:サーバーがサポートする場合は、それが接頭辞httpsをして、ブラウザで確認することができます
APTを使用する場合、通常、より重要なのは、接続が暗号化されていることではなく、受信しているファイルが改ざんされていないことです。
APTには、これを保証するための組み込みの署名検証があります。
暗号化は盗聴者があなたがダウンロードしているものを見ることができないようにしますが、実際にダウンロードしている(そして要求している)ことはかなり議論の余地がありません:それは他の何千人ものUbuntuユーザーがダウンロードしているものと同じであり、ファイルには何も含まれていません」多くのサーバーで自由に利用できます。それでも、特にダウンロードするパッケージについてプライバシーが必要な場合は、HTTPSを使用できます(sources.listで指定します)。
APTに組み込まれている署名検証により、受け取ったファイルが改ざんされていないことが確認されます。ファイルがどこから来たのかは問題ではなく、サーバーとサーバーの間にプロキシーまたはリバースプロキシーを配置して、サーバーの負荷を軽減したりスピードアップしたりすることも可能です。署名の検証により、元のファイルとUbuntuの秘密キーのコピーでのみ暗号的に生成される署名と一致する、変更されていないファイルを取得していることが保証されます。
HTTPSに切り替えると、プロキシサーバーを利用してアクセスを高速化したり、負荷を軽減したりできなくなります。そして、APTの署名検証がまだ提供していないことを改ざんしないという保証を追加することはありません。ただし、盗聴者(ISPなど)は、ダウンロードしているパッケージを見ることができません(これは機密ではない可能性が高く、Gillesが指摘したように、ファイルサイズから推測できます)。
apt update
真ん中に男性が偽のインデックスをフィードしている場合、aptは真ん中の男性があなたに与えたものは何でも喜んで受け取り、/ var / lib / apt / listsに書き込みます。これは真ん中に悪人がいるだけではありませんが、ホテルのWiFiにいてログインページにリダイレクトされる場合、ログインするapt update
前に実行すると/ var / lib / apt / listsはゴミ箱に入れられますホテルのホームページのHTMLで。ボーガス!とにかく基本的なTLS証明書のチェックはこれをすぐに除外します。
最近のAPTリリースにはTLSサポートが組み込まれているため、パッケージリポジトリミラーURLをhttps
-prefixed に置き換えるだけです。Debianの場合、次のようになります。
deb https://deb.debian.org/debian/ stretch main
deb https://deb.debian.org/debian-security stretch/updates main
deb https://deb.debian.org/debian/ stretch-updates main
APTにはバグがある可能性があるため(これまでにCVE-2016-1252、CVE-2019-3462)、APTにはパッケージが改ざんされないようにする独自の署名プロトコルが含まれていますが、これは便利です。HTTP / TLSプロトコルとその暗号は厳重な調査の対象となるため、このセキュリティレイヤーを追加した場合、深刻なゼロデイ脆弱性はほとんど発生しません。
この質問は、素人向けの指示を含む回答を使用できると思うので…
APTは、Ubuntu 19.10(Eoan)の毎日のビルド(まだ開発中)で、デフォルトでHTTPSをまだ使用していません。これは、/ etc / apt / sources.listファイルを調べて、すべてのソースURLが「http:」URLスキームを使用していることを確認することで確認できます。
HTTPSを使用するように設定するには、次の手順に従います。
まず、HTTPSをサポートする信頼できる公式のUbuntuアーカイブミラーを見つけます。
たとえば、私はウィキメディア財団を信頼できると考えているため、http://mirrors.wikimedia.org/ubuntu/ミラーURLにアクセスし、その後https://mirrors.wikimedia.org/ubuntu/に変更しました。これで問題は解決しました。
Firefox(67.0.4)を使用し、HTTPS Everywhere(2019.6.27)拡張機能をインストールし、「すべてのサイトを暗号化する」機能を有効にした場合(ツールバーボタンパネルを使用)、手順(4)および(5)を省略できます。拡張機能はHTTPSを使用するようにURLを自動的に変更するため、URLの「https:」バージョンが解決されるかどうかをより迅速に判断できます。
2つ、APTソースリストを更新します。
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
を実行して、更新ソースリストをバックアップします。sudo sed --in-place --regexp-extended 's http://(us\.archive\.ubuntu\.com|security\.ubuntu\.com) https://mirrors.wikimedia.org g' /etc/apt/sources.list
を実行します。3番目に、Ubuntuアーカイブの外部からソフトウェアをインストールした後に「https:」に変更される可能性のある「http:」ソースの/etc/apt/sources.list.d/ディレクトリの内容を調べる必要があります。
たとえば、MicrosoftのVisual Studio Codeパッケージは、「http:」URLを指定するvscode.listファイルをこのディレクトリに追加します。URLスキームを「http:」から「https:」に変更するだけで、HTTPSを介した更新が可能になります。
変更する前に、そのようなソースファイルをバックアップすることを検討してください。
最後に、アップデートを実行して、アップデートが正しく機能することを確認します。
sudo apt-get update
コマンドを実行します。sudo cp /etc/apt/sources.list.backup /etc/apt/sources.list
コマンドを実行して作成したバックアップソースリストファイルを復元します。また、APTにHTTPSサポートを追加するapt-transport-httpsパッケージがあることにも注意してください。ただし、このパッケージはWebページhttps://launchpad.net/ubuntu/eoan/+package/apt-transport-httpsによれば明らかに不要であり、コマンドの実行後に表示される情報によると、APT 1.5以降は必要ありませんapt-cache show apt-transport-https
。