4

ポート 80 の http トラフィックに対してすべて正常に動作する、複数の名前付きホストを持つ Apache サーバーがあります。(1つの固有IPアドレスを持つVPS)

SSL 証明書を持つ 1 つのドメインがあり、そのドメインは http と https の両方のトラフィックを処理するように構成されています。

ただし、誰かが誤って SSL 構成されていない URL の先頭に https を追加すると、典型的な証明書警告エラー (予期される) が表示され、ユーザーがエラーを受け入れると (ブラウザーによって異なります)、代わりに構成した SSL サイトが表示されます。元の非 SSL ドメイン。

SNI について少し調べましたが、他の各ドメインの証明書を持っていないため、サーバーが 1 つの特定のドメイン以外の SSL 要求に応答しないか、サーバーの http バージョンにリダイレクトしたいと考えています。サイト。

私がこれにどのようにアプローチするかについての提案をお願いします。

よろしく、 スペンサー

4

1 に答える 1

0

セキュリティ上の理由から、達成しようとしていることが機能しません。

ブラウザー (証明書をチェックするメカニズムを実装する) は、ユーザーhttps://http://誤ってまたは意図的に入力したかどうかを知ることができません。最終的には、https://それが必要と思われるときにそれが使用されているかどうかを確認するのはユーザー次第であるため、ブラウザはユーザーが要求したアクションを実行するだけです。

https://からへのリダイレクトは、http://常に有効なhttps://接続で開始する必要があります。最初の接続で有効な証明書を取得できない場合、SNI はあまり役に立ちません。

それ以外の場合、ブラウザーは MITM 攻撃が進行中である可能性があると想定するのが妥当です。明示的に入力する(または HSTS を使用するhttps://) ことは、SSLstrip のような MITM ツールに対する唯一の確実なメカニズムです。http://https://

于 2013-10-14T12:52:04.670 に答える