- 締切済み
プログラマブルなHTTPSプロキシサーバーの構築
現在プログラマブルなHTTPS PROXY SERVERが作りたくて悩んでおります。 Proxy Serverでやりたいこと: 1.HTTPの場合はHTMLのコンテキスト(ペイロードデータ)データでフィルタリング 2.SSL/TLS通信はそのまま転送(しかし、SrcとDstは保存しておきたい) 3.SSL/TLS通信でクライアントがアクセスしたいDSTアドレスによって、 適宜、証明書を選択したい。 (多分)技術的に求めていること: 1.HTTP/HTTPS通信に対応したProxy Serverを立てられること 2.HTTPS通信の場合はSRCとDSTアドレスが分かること 3.HTTPS通信は転送ができること、また、場合によっては特定の証明書を適応できること 4.HTTP/HTTPS(証明書適応時)通信のフィルタリング、(広告を消したり、特定のヘッダーを埋め込んだり) 私の調べた範囲ですと ・Ruby(webrickなど)では、HTTPSに対応したProxy Serverは開発できませんでした。 ・Python(tornadeやproxpy)などではHTTP/HTTPSに対応したProxy Serverは構築できましたが、HTTPS通信そのものを転送することができませんでした。特定の証明書を埋め込む必要があり、結果的にMITM攻撃を強制することになってしまいます。 ・SQUIDですと、HTTPS通信をそのまま転送(フォワード)することはできますが、 接続先によって証明書を変更したり、ペイロードデータでフィルタリングをしたりするようなことはできませんでした。 上記のことから、RubyかPythonで、HTTPS通信をフォーワードしつつDSTによって、処理を変更することができればよいのですが・・・、できておりません。 良い実装方法を御存じの方がいらっしゃいましたら 是非、教えて頂けませんでしょうか。 乱文となりましたが宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- h271015
- ベストアンサー率71% (62/87)
> (多分)技術的に求めていること: > 1.HTTP/HTTPS通信に対応したProxy Serverを立てられること > 2.HTTPS通信の場合はSRCとDSTアドレスが分かること > 3.HTTPS通信は転送ができること、また、場合によっては特定の証明書を適応できること > 4.HTTP/HTTPS(証明書適応時)通信のフィルタリング、(広告を消したり、特定のヘッダーを埋め込んだり) Apacheの機能やモジュール(NameVirtualHost/IPVirtualHostやmod_proxy, mod_headers等)で上記のような制御ができそうな気もしましたが、どうでしょうか?