debian aptツールにhttps転送機能がないのはなぜですか?

debian aptツールにhttps転送機能がないのはなぜですか?

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トランスポート+クライアント証明書認証を使用することにしました。つまり、必要なものは次のとおりです。

  1. 自己署名証明書、クライアント、およびサーバーの準備(easy-rsaを使用)
  2. 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;
      }
    }
    
  3. クライアント証明書、クライアントキー、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-torURIを配置することもできます。tor+http://これは、単にミラー接続を暗号化するよりも優れた匿名性保護です。

たとえば、HTTPSを使用しても、ローカルオブザーバはソフトウェアを更新またはインストールしていることを知り続け、あなたが行っていることについて(そしてサイズに応じてどのパッケージでも)推測することができます。

DebianはTor "onionサービス"を介してAPTリポジトリを提供しているため、エンドツーエンドの暗号化を取得するためにドメインネームシステムを信頼する必要はありません(TLSに似ています)。バラよりonion.debian.orgこのようにして、すべての Debian サービスを使用できます。主要な Debian FTP リポジトリは次の場所にあります。vwakviie2ienjx6t.onion

関連情報