web-dev-qa-db-ja.com

プロキシを介したHTTPSトラフィックのログ

HTTPS経由でアクセスしたURLとダウンロードしたファイルのログを保持するようにsquid(またはその他の)プロキシサーバーを構成するにはどうすればよいですか?出来ますか?

4
Abhijeet Pathak

これは、非常に特殊で特殊な状況でのみ実行できます。

問題は、HTTPS接続でアクセスされたURLとその中で行われたことはすべて、SSLによって保護されていることです。中を見るには、その保護を突破する必要があります。

これを行う唯一の方法(暗号アルゴリズムを1つまたは2つ破ることで有名になる前に)は、ユーザーに中間者攻撃を実行することです。世界中のすべてのドメインのSSL証明書を使用してプロキシサーバーを設定する必要があります-グローバルワイルドカード証明書(**.**.*.*などのAltNameを持つ証明書) on)、またはSSL証明書をオンザフライで生成できるもの(独自のローカルCAを使用)。確立された「グローバルに信頼された」CAからこのような証明書を取得することはありません(まあ、多分 Comodo ...)ので、すべて自己署名してから構成する必要がありますこのプロキシを使用してそのローカルCAを信頼するすべてのデバイス。この信頼の問題が、「非常に特殊で特殊な状況」でのみこれを実行できる理由です。

そのセットアップが完了したら、すべてのHTTPSトラフィックを受信時に復号化してログに記録し、エンドサイトの独自のSSL証明書を使用して再暗号化できます。

ジャンプする前に、かかとをクリックして「yippee!」と叫んでください。注意すべき点がいくつかあります。このプロセスにおける危険と警告はかなりのものです。

プロキシを使用するすべての接続に対してSSLを終了するのに十分なうなり声を持っているプロキシサーバー(またはファーム)が必要です。小さなオフィスの場合、それはそれほど難しいことではありませんが、大規模な会社で働いている場合は、大きなスケーリングの問題が発生します。

セキュリティリスクもささいなことではありません。あなたのこのプロキシファームは、ジューシーな資格情報を手に入れたい人にとって、信じられないほど高価値のターゲットになりました。 「すべての卵を1つのバスケットに入れないでください」という言い回しに注意してください。この例では、「すべての卵を1つのバスケットに入れます。本当にであることを確認してください」 強いバスケット」。人々がそれについて知らないとは思わないでください。あなたが探しているものを知っていれば、これらの種類のものを識別するのは難しいことではありません、そしてあなたは人々が(何らかの方法で)見つけない限りこれを組織に展開することができないので、いたずらを抱えているかもしれない内部の誰でも考えは非常に、非常に誘惑される可能性があります。資格情報を取得するために12台のデスクトップに侵入する価値はないかもしれませんが、中央のHTTPSプロキシをポップしてすべてが通過するのを監視する方がはるかに価値があり、作業とリスクが少なくなります。

すべてを手作業で入力するのではなく、Squidまたはその他の利用可能なプロキシソリューションでこれを行う方法については、 SSLバンプ および 動的)のSquidドキュメントを参照してください。 SSL証明書の生成 これにより、過度のブラウザセキュリティ警告を生成することなく、暗号化されたトラフィックにアクセスできます。それができたら、接続のロギングは簡単です。

10
womble