Squidプロキシと自己署名SSL証明書を作成しました。サーバー上のSSL証明書は、ssl-bump機能にリンクされたプライベート証明書です。 SSLトラフィックをダンプするためにtsharkを使用していますが、tsharkで嗅ぐことはできません。たとえば、私のtsharkコマンドは次のとおりです。
tshark -o "ssl.desegment_ssl_records: TRUE" -o "ssl.desegment_ssl_application_data: TRUE" -o "ssl.keys_list: 209.190.x.x,443,http,/etc/squid/ssl/file/squid.key" -o "ssl.debug_file: /tmp/.wireshark-log" -i eth0 -R "http.request.method==GET or http.request.method==POST"
Squidが機能することを知っており(httpからすべてのデータを傍受できます)、httpsサイトのログを/var/log/squid/access.log
で確認できますが、httpsの完全なデータを傍受できません。 Squidがこのシナリオの中間者になり、2つのSSLキーを作成することも知っています。 1つはクライアントとsquidの間、もう1つはsquidとサーバーの間です。クライアントとSquidの間でデータを傍受することはできませんが、サーバー(私)とSquidの間でデータを傍受できると思います。
どうすればそれを嗅ぐことができますか? tsharkの代替手段はありますか?
SSLバンプ を使用すると、Squidはクライアントとサーバー間で 中間者攻撃 を実行します。クライアントと通信するときは偽の証明書を持つ偽のサーバーとして、真のSSLサーバーと通信するときは偽のクライアントとしてポーズをとります。したがって、Squidはすべてのデータを取得します。 Squidが何を見ているのかを確認したい場合は、Squidにコピーを送信するように依頼するのが最善の方法です。どうやら、これは少なくとも理論的には [〜#〜] icap [〜#〜] 機能によって実現可能です。これはSquidがまさにそれを行うための方法です。ウイルス対策ソフトウェアはICAPを介してSquidにリンクし、HTTPメッセージの内容とヘッダーの両方を検査します。
そうでない場合、Squidの助けがなければ、SSLレベルで何が発生するかを理解する必要があります。特に、ツール ssldump は、次の条件がallの場合にのみ、キャプチャされたSSLトラフィックを復号化できます。
あなたの場合、2つのSSL接続があり、1つはクライアントとSquidの間、もう1つはSquidと本物のサーバーの間です。サーバーキーのコピーがある場合は、後者に集中でき、SSLバンプとSquidに関するすべてを忘れることができます。ただし、より一般的なケースでは、Squidのsysadminとして、ターゲットサーバーではなくSquidを制御します。
SSLバンプを使用すると、Squidはクライアントと通信するときに偽のサーバー証明書を生成します。その偽の証明書の秘密鍵のコピーを取得できる場合は、クライアントからSquidへの接続にssldumpを適用できるはずです。 ここ で説明されているように、偽の証明書を生成するためにSquidが使用するツールは構成可能であるため、証明書を生成する独自のツールを使用できます(例: OpenSSL )andは秘密鍵をどこかに記録するので、キャプチャしたトレースを後で解読できます。
暗号スイートの場合、これはSquid https_port
ディレクティブ。「cipher =」パラメーターを受け入れます。前述のとおり here の場合、そのパラメーターの値は、Squidが使用する基本的なSSLライブラリに直接渡されます。これはOpenSSLです。
参照 このフォーラムのスレッド 誰かがあなたと同じことをやろうとしているようです。
私があなただったら、SSLStripを取得します( http://www.thoughtcrime.org/software/sslstrip/ )。これは本当に優れたツールですが、Linuxでのみ機能します。 Linuxをお持ちでない場合は、これで十分です。 Kali Linux( http://www.kali.org/ )は、VMまたはUSBドライブから最小限の労力で実行できる無料のツールです。 SSLStripを取得する必要がありますが、KaliにはPython=がインストールされているため、「python setup.py」を使用するだけで機能します。SSLStripのGUIはありませんが、 Kaliには、Wireshark(http用)やaircrack-ng(WEPおよびWPA/WPA2で保護されたネットワークへの侵入用)などの便利な機能も用意されています。