こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

締切り済みの質問

プログラマブルな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によって、処理を変更することができればよいのですが・・・、できておりません。

良い実装方法を御存じの方がいらっしゃいましたら
是非、教えて頂けませんでしょうか。
乱文となりましたが宜しくお願い致します。

投稿日時 - 2015-11-13 08:28:42

QNo.9079540

困ってます

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(1)

ANo.1

> (多分)技術的に求めていること:
> 1.HTTP/HTTPS通信に対応したProxy Serverを立てられること
> 2.HTTPS通信の場合はSRCとDSTアドレスが分かること
> 3.HTTPS通信は転送ができること、また、場合によっては特定の証明書を適応できること
> 4.HTTP/HTTPS(証明書適応時)通信のフィルタリング、(広告を消したり、特定のヘッダーを埋め込んだり)

Apacheの機能やモジュール(NameVirtualHost/IPVirtualHostやmod_proxy, mod_headers等)で上記のような制御ができそうな気もしましたが、どうでしょうか?

投稿日時 - 2015-11-20 17:13:35

-広告-
-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-