web-dev-qa-db-ja.com

IIS6:間違ったSSL証明書を提示するWebサイト

複数のWebサイトを含むIIS6のインストールを検討してください。それぞれが、独自の証明書(ワイルドカード証明書ではない)を持つ異なるサブドメインになることを目的としています。それぞれに、ホストヘッダーが適切に指定されています。

  • foo.example.com-ポート443。128ビットのSSLが必要です。正常に動作しています! SSL証明書をブラウザに適切に提示します。 固有のIPアドレス用に構成されています。

  • bar.example.com-ポート443。128ビットのSSLが必要です。 すべての未割り当てアドレス用に構成されています。 IISプロパティページを調べると、[証明書の表示]ボタンにbar.example.comの証明書が完全に表示されます。これは、証明書に問題がある新しいWebサイトです。次の証明書を表示しています。 foo.example.com。痛い!

代替テキストhttp://www.imagechicken.com/uploads/1251156847014486300.png

質問:同じポート(443)でSSL証明書を使用して、両方を別々のWebサイトで実行する複数のサブドメインを作成できますか?同じポート(443)の「すべて未割り当て」の同じ範囲で2つのWebサイトをどのように構成しますか?

更新:証明書エラーを無視して、https://barを参照すると、提供されるコンテンツはhttps://fooサイトからのものです。

SSLを使用していない場合、http://barを参照すると、barから正しいコンテンツが提供されます。

このDMZサーバーに割り当てられるアドレスは1つだけです。

5
p.campbell

SSL証明書は、外部IPアドレスではなく、Webサーバーの内部IPアドレスにバインドされます。

foo.example.comPublic IP Abar.example.comPublic IP Bにバインドされているが、WebサーバーのIPアドレスが192.168.0.1であるとします。

リクエストがIP AまたはIP Bのどちらで受信されても​​、最終的には192.168.0.1になります。つまり、IISは、foo.example.comに割り当てられている証明書を使用する以外に選択肢はありません。

この問題を回避するには、Webサーバーに複数のIPアドレスを割り当てる必要があります。これは簡単です。 sysadminに話しかけてDHCP範囲から一部のIPを削除してもらい(または使用できるIPを尋ねて)、ネットワークカードのプロパティ([コントロールパネル]> [ネットワーク接続])に移動し、TCPのプロパティに移動します/ IP。

最初に静的IPを有効にする必要があります(サーバーであるため、これが実行されることを願っています)。次に[詳細]をクリックし、[IPアドレス]ボックスの下にある[追加]をクリックして、新しいIPアドレスを入力します。あなたはあなたのシステム管理者によって割り当てられました(例えば192.168.0.2)。

次に、ルーターで、ポート443のIP Aからのリクエストが192.168.0.1に送信され、ポート443の他のすべてのリクエストが192.168.0.2に送信されるようにする必要があります。

次に、IIS構成で、SSL証明書をfoo.example.comから192.168.0.1にバインドし、残りを192.168.0.2にバインドする(またはそのままにしておく)必要があります。あなたが持っているように、すべて未割り当て)。

これが機能しない場合、またはすでにこれを構成している場合は、質問を更新し、コメントを残してお知らせください。

更新:更新してくれてありがとう、あなたのコメントを見ました。 foo.example.combar.example.comが2つの異なるパブリックIPアドレスにあることを確認する必要があります。その理由は、パケットが暗号化されているため、ホスト名ベースのルーティングを使用して正しいIPアドレスにリクエストを送信する方法がないためです(これは事実だと思います。誰かが違うことを知っている場合は、私に知らせてください)。ルーターに表示されるリクエストの唯一の部分は、宛先IPです。これが、IPアドレスごとに1つのSSLしか持てない理由です。したがって、これを機能させるにはパブリックIPが必要であり、DNSにはbar.example.comとは異なるfoo.example.comのAレコードが必要です。

6
Mark Henderson

Farseekerをサポートして、 Thawte から:

証明書はIPアドレスに関連付けられていませんが、SSLはIPベースであり、名前ベースの仮想ホストに解決されないため、一意のIPアドレスをドメインに割り当てる必要があります

サーバーにIPアドレスが1つしかない場合、「All unassigned」は同じ単一のIPアドレスを指す以外に何もできません。

2
rymo

「bar」は「foo」が使用しているのと同じIPアドレスに移動しているようです。 「foo」はそのIPアドレスで応答するように特別に構成されているため、要求を取得します。 「ホストヘッダー」はSSLリクエストには適用されません(そのため、IISには、ip/Host/portマッピングを使用する標準リクエスト用とsslip/portマッピング用の個別のパネルがありますが、ホスト名なし)。

DNSレコードをチェックし、「bar」が「foo」とは異なるIPを使用していることを確認し、問題を修正する必要があります。

SSLサイトを構成するときは、SSLを必要とする各ドメインに独自のIPアドレスを割り当て、その他すべてに「共通」IPを使用します。もちろん、DNSレコードは、IISの正しいサイトエントリがトラフィックを処理するように、正しいアドレスを使用する必要があります。

1
Justin Scott