NSAが暴露したすべての妄想を考えると、Debianパッケージのインストールメカニズムが基本的にHTTPSを使用するのはもちろんのこと、なぜHTTPS転送をサポートしないのか疑問に思います。
Debian パッケージが何らかの署名検証に GPG を使用していることを知っていますが、これがセキュリティの面でどれほど重要であるかを考えると、HTTP の代わりに HTTPS 転送を使用することはまだ難しくありません。
編集:私は主にDebianイメージマネージャではなくMitM攻撃(トラフィックスニッフィングを含む)から自分自身を保護したいと思います。 HTTP リポジトリは、Debian ミラートラフィックをスヌーピングするすべてのユーザーが使用できるように、システム全体の設定をデスクトップに配置します。
答え1
2017年アップデート:1.5に適合httpsはデフォルトでサポートされています。 apt-transport-https パッケージを別途インストールする必要はなくなりました。
httpリポジトリを使用するaptに対する複数の攻撃と脆弱性があります。
httpsリポジトリを使用するには、sources.list
パッケージをインストールする必要があります。apt-transport-https
。
deb https://some.server.com/debian stable main
答え2
仮定が間違っています。 HTTPSを使用してダウンロードできます。これをサポートするミラーを見つけて、そのURLをソースリストに入れます。あなたはインストールする必要がありますapt-transport-https
パック。
Debian では利点が最小限に抑えられるため、HTTPS ダウンロードは簡単にはできません。 Debian パッケージのディストリビューションには、すでにパッケージを確認するメカニズムが含まれています。すべてのパッケージが署名されました。総タンパク質。アクティブな中間者が破損したパッケージを含むサーバーにトラフィックをリダイレクトすると、GPG署名が無効なため破損が検出されます。 HTTPSの代わりにGPGを使用すると、より多くの脅威から保護できるという利点があります。つまり、エンドユーザー接続の中間者攻撃だけでなく、悪意のある画像や感染した画像、パッケージ配布チェーンの他の問題からも保護できるということです。
HTTPS はダウンロードするパッケージをマスクしているため、いくつかのプライバシーの利点を提供します。ただし、受動的なオブザーバーはまだコンピュータとパッケージサーバー間のトラフィックを検出できるため、Debianパッケージをダウンロードしていることがわかります。また、ファイルサイズを介してダウンロードされているパッケージに関する良い情報を提供します。
HTTPSが役に立つかもしれない場所の1つは、有効であることが知られているインストールイメージに対する信頼をブートストラップすることです。 Debian はこれを提供していないようです: 次のチェックサムがありますインストールメディアしかし、HTTP経由でのみ可能です。
答え3
最近、会社の適切なリポジトリに問題が発生しました。問題は、標準のhttpトランスポートを使用すると、他の人がパッケージを簡単に入手できることです。会社が独自のソフトウェアをパッケージ化しており、誰もが共有したくないので、http転送が問題になります。悲劇ではなく問題です。パッケージへのアクセスを制限する方法には、ファイアウォール、Webサーバーレベルでのアクセス制限、sshをトランスポートとして使用するなど、いくつかの方法があります。このトピックに関する非常に読みやすい内容は、以下にあります。 プライベートDebianリポジトリへのアクセスを制限します。
私たちの場合は、httpsトランスポート+クライアント証明書認証を使用することにしました。つまり、必要なものは次のとおりです。
- 自己署名証明書、クライアント、およびサーバーの準備(easy-rsaを使用)
nginxのhttpsのみを許可するようにストレージフロントエンドのWebサーバーを構成します。
server { listen 443; root /path/to/public; server_name secure_repo; ssl on; ssl_certificate /etc/nginx/ssl/server.crt; ssl_certificate_key /etc/nginx/ssl/server.key; ssl_session_timeout 5m; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:; ssl_prefer_server_ciphers on; ssl_client_certificate /etc/nginx/ssl/ca.crt; ssl_verify_client on; location / { autoindex on; } }
クライアント証明書、クライアントキー、CA証明書を/etc/apt/sslに配置し、Ubuntuを使用している場合は、00httpsファイルを/etc/apt/apt.conf.dに追加します。
Debug::Acquire::https "true"; Acquire::https::example.com { Verify-Peer "true"; Verify-Host "false"; CaInfo "/etc/apt/ssl/ca.crt"; SslCert "/etc/apt/ssl/client.crt"; SslKey "/etc/apt/ssl/client.key"; };
自己署名証明書を使用している場合は、ホストの確認をオフにすることが重要です。Verify-Host "false";
そうしないと、次のエラーが発生します。
SSL: certificate subject name (blah-blah-blah) does not match target host name 'example.com'
この時点では、ストレージへの不正アクセスはありません。だからこれは非常に便利で強力なものです。
答え4
「匿名」ユースケースでは、resources.listファイルにapt-transport-tor
URIを配置することもできます。tor+http://
これは、単にミラー接続を暗号化するよりも優れた匿名性保護です。
たとえば、HTTPSを使用しても、ローカルオブザーバはソフトウェアを更新またはインストールしていることを知り続け、あなたが行っていることについて(そしてサイズに応じてどのパッケージでも)推測することができます。
DebianはTor "onionサービス"を介してAPTリポジトリを提供しているため、エンドツーエンドの暗号化を取得するためにドメインネームシステムを信頼する必要はありません(TLSに似ています)。バラよりonion.debian.orgこのようにして、すべての Debian サービスを使用できます。主要な Debian FTP リポジトリは次の場所にあります。vwakviie2ienjx6t.onion