2016-11-18 3 views
0

HTTPSを傍受する必要のある「ファイアウォール」タイプのデバイスを作成しています(つまり、通信中に座っている)クライアントブラウザにメッセージをリクエストして返します(例:残念ですが、これはブロックされています)。HTTPS要求を行っているブラウザにカスタムメッセージを傍受して返信する方法

(iptables DNATを使用して)netcatがリッスンしているデバイスの別のポートにリダイレクトすることで、HTTPに対してこれを行うことができます: trueの場合、 echo -e "HTTP/1.1 200 OK \ n \ nこれがブロックされました" | nc -l -p 8000;

を行って(そうポート8000​​でリッスンし、通常のコード200応答を返しているNC。もちろん、403のようないくつかの他のリターンコードは等を禁止することができる)

しかし、HTTPSのために何をしますか? すべてがSSL/TLSでカプセル化されています。傍受された場合、ブラウザはセキュアな接続が失敗したというメッセージを表示します。 http://127.0.0.1を指している場所でHTTP 307の一時的なリダイレクトで応答しようとしました(上記のメッセージが表示されます)。しかし、ブラウザはこれを好まない。

カスタマイズされたメッセージを表示する必要があります(必ずしもHTMLである必要はありません)。 HTTPSリクエストをHTTPに変更してクライアントに気づかずにセキュリティを取り除くことができますが、ポップアップメッセージやクライアントで強制されないものがあれば、大きなセキュリティ上の問題になると思いますか?あるいは少なくとも「403 Forbidden」のような標準コード..? 私は(ab)を使用できる何かがSSLまたはTLSプロトコルにありますか?

ありがとうございました。

答えて

0

したがって、透過プロキシを開発しています。それはHTTPSトラフィックになると、すべてのプロキシは選択肢があります:復号化なし

  • 峠それは
  • ブロック、それは完全に
  • はコンテンツへのアクセスを得るためのman-in-the-middle攻撃を実行し

man-in-the-middle攻撃を実行していて、クライアントがプロキシで使用されている証明書を信頼しない場合、証明書の警告が表示されます。 SSL/TLSはすでにトンネルの確立に失敗しているため、クライアントに関連するHTTPは送信できません。トンネルがないということは、単一の "HTTPバイト"を送信できないことを意味します(これは、クライアントを別の場所にリダイレクトすることもできないことを意味します)。

SSL/TLSレベルでは、AFAIKはカスタムメッセージを送信できません。 「TLSアラートメッセージ」ではpre-defined constant valuesしか許可されません。

関連する問題