web-dev-qa-db-ja.com

squidプロキシサーバーへの接続を暗号化する方法

匿名のsquidプロキシサーバーをセットアップしましたが、完全に正常に機能しますが、自分とサーバー自体の間のトラフィックを暗号化する方法については何も見つかりませんでした。どこから始めれば?

6
Rápli András

ここでは、プロキシサーバーに2048ビットの暗号化を設定するために現在使用している正確なコマンドを入力しています。

ssh -C2qTnN -D 8080 user@remote-address

ブラウザのプロキシ設定(IE設定)でポップアップする同じ醜いウィンドウ)はSOCKSフィールドの127.0.0.1:8080を指している必要がありますが、他のすべては空白のままです(通常はSOCKSについて話します)。プロキシ)

明らかに、リモートサーバーで開いている場合、他のすべてのポートが機能する可能性があります。

2
Rápli András

Squidのドキュメントはこれを参照しています: http://wiki.squid-cache.org/Features/HTTPS#Encrypted_browser-Squid_connection

ただし、問題はSquidの構成ではなく、正しく機能するブラウザーを見つけることである可能性があります...

ChromeはHTTPSプロキシ接続をサポートしていますが、自動設定PACファイルまたはコマンドラインオプションを介してのみサポートされます--proxy-serverhttp://dev.chromium.org/developers/design-documents/secure-web-proxy を参照)

Firefox まだ「作業中」です。 https://bugzilla.mozilla.org/show_bug.cgi?id=378637 (7年とカウント)を参照してください。 バージョン33でようやくこれをサポートします(Danの更新に感謝).

ローカル(ブラウザーと同じマシン上で)stunnelをプロキシラッパーとして実行すると、どのブラウザーでもこれが解決されますが、目的の展開に適さない場合があります。この便利なページは、そのような設定を作成する方法を示しています(オプションのPAM認証も使用)。

http://www.jeffyestrumskas.com/index.php/how-to-setup-a-secure-web-proxy-using-ssl-encryption-squid-caching-proxy-and-pam-authentication/

これは、stunnelを使用してCONNECTを介してHTTPプロキシをトンネリングすることとはまったく異なることに注意してください。これは、より一般的に文書化されているシナリオです。 SSH経由でSOCKSを使用するソリューションは、ある意味でほぼ同等ですが、HTTPサポートがなく、制限がなく(任意のポートへのCONNECTと考えてください)、キャッシュがなく、認証はブラウザーで処理されません。

プロキシ認証を使用していて、資格情報ヘッダーを保護したい場合は、これ(HTTPSクライアント-プロキシ接続)が適切な計画です。それ以外の場合、この設定はmight希望するすべての問題を解決するわけではなく、HTTPS接続は二重暗号化され、(少なくとも)接続の待ち時間がさらに長くなります。

  1. hTTPサイトに接続しています:暗号化されていないトラフィックはとにかくプロキシを離れます
  2. hTTPSサイトに接続しています:CONNECTリクエストのターゲット(つまり、ウェブサイトのホスト名)を除いて、暗号化を実際に必要とするものはクライアントプロキシにはありませんが、TLSクライアントhelloにはおそらくその名前を含むSNIがあり、サーバーhelloにはほぼ確実にサーバー証明書があり、どちらも傍受される可能性があります

付加価値をもたらすもう1つのケースは、プロキシ認証にクライアント証明書を使用することです。 (しかし、ブラウザもそれをサポートしていません)、これはFirefoxで動作することが報告されています(バグ 209312 を参照)。

この問題は最近CERTによって報告されました: 脆弱性ノートVU#905344 HTTP CONNECTおよび407プロキシ認証が必要なメッセージは完全性が保護されていませんFalseCONNECT MITM攻撃の結果として。

4
mr.spuratic