4
透過SSLプロキシのセットアップ
ポート80を通過するトラフィックを検査するために、2枚のネットワークカードでセットアップされたLinuxボックスがあります。1枚のカードはインターネットへの送信に使用され、もう1枚はネットワークスイッチに接続されます。ポイントは、デバッグ目的でそのスイッチに接続されたデバイス上のすべてのHTTPおよびHTTPSトラフィックを検査できるようにすることです。 iptablesについて次のルールを作成しました。 nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.2.1:1337 -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 1337 -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE 192.168.2.1:1337に、Charles(http://www.charlesproxy.com/)を使用して記録する透過HTTPプロキシがあります。 ポート80ではすべて問題ありませんが、ポート1337を指すポート443(SSL)に同様のルールを追加すると、チャールズを通じて無効なメッセージに関するエラーが表示されます。 Charlesと同じコンピューターでSSLプロキシを使用したことがあります(http://www.charlesproxy.com/documentation/proxying/ssl-proxying/)が、何らかの理由で透過的に実行することに失敗しました。私がグーグルで調べたいくつかのリソースは不可能だと言っています-誰かが理由を説明できるなら、私はそれを答えとして受け入れます。 注として、サブネットに接続されたすべてのクライアントを含む、説明されたセットアップへのフルアクセスがあります。したがって、Charlesによる自己署名証明書を受け入れることができます。理論的には、透過的なプロキシが行うため、ソリューションはCharles固有である必要はありません。 ありがとう! 編集:少し遊んだ後、特定のホストで動作するようになりました。iptablesを次のように変更すると(およびリバースプロキシ用にcharlesで1338を開きます): nat -A PREROUTING -i eth1 …