各サブドメインには独自のSSL証明書が必要ですか?


41

私はに住んでいるwebsocketサーバーを作成していますws.mysite.example。WebソケットサーバーをSSL暗号化およびdomain.exampleSSL暗号化する必要があります。作成するサブドメインごとに新しい証明書を購入する必要がありますか?作成するサブドメインごとに専用のIPアドレスが必要ですか?サブドメインが複数ある可能性があります。

Ubuntuで実行されているNGINXとGunicornを使用しています。

回答:


44

これには2つのステップで答えます...

各サブドメインにSSL証明書が必要ですか?

はい、いいえ、それは異なります。標準のSSL証明書は、単一ドメイン用です(例:)www.domain.example。標準の単一ドメイン証明書の他に、ワイルドカード証明書とマルチドメイン証明書の異なるタイプの証明書があります。

  • などのワイルドカード証明書が発行され*.domain.example、クライアントはdomain.examplewww.domain.exampleまたはなどで終わるドメインで有効なものとして扱いますws.domain.example

  • マルチドメイン証明書は、ドメイン名の定義済みリストに対して有効です。これは、証明書のサブジェクトの別名フィールドを使用して行います。たとえば、あなたがのために、マルチドメイン証明書が欲しいというCAを言うことができるdomain.examplews.mysite.example。これにより、両方のドメイン名に使用できます。

これらのオプションのどちらも機能しない場合は、2つの異なるSSL証明書が必要です。

各サブドメインに専用IPが必要ですか?

繰り返しますが、これは「はい」と「いいえ」です。すべてはWeb /アプリケーションサーバーに依存します。私はWindowsの男なので、IISの例で答えます。

  • IIS7以前を実行している場合、SSL証明書をIPにバインドする必要があり、単一のIPに複数の証明書を割り当てることはできません。これにより、各サブドメインに専用のSSL証明書を使用している場合、各サブドメインに異なるIPが必要になります。マルチドメイン証明書またはワイルドカード証明書を使用している場合は、最初にSSL証明書が1つしかないため、単一のIPを使用できます。

  • IIS8以降を実行している場合、同じことが当てはまります。ただし、IIS8 +には、サーバー名表示(SNI)と呼ばれるもののサポートが含まれています。SNIでは、SSL証明書をIPではなくホスト名にバインドできます。そのため、リクエストの作成に使用されるホスト名(サーバー名)は、IISがリクエストに使用するSSL証明書を示すために使用されます。

  • 単一のIPを使用する場合、特定のホスト名の要求に応答するようにWebサイトを構成できます。

ApacheとTomcatもSNIをサポートしていることは知っていますが、どのバージョンがそれをサポートしているかを知るには十分な知識がありません。

ボトムライン

アプリケーション/ Webサーバーと、取得できるSSL証明書のタイプに応じて、オプションが決まります。


Ubuntuでgunicornとnginxを使用しています。
user974407

その場合、OpenSSL(nginx用)がSNIサポートに準拠している限り、SNIが利用可能になります。GomoXの回答のリンクに従って。
pkeenan

単一のサブドメイン証明書の中には、代替としてメインドメインをリストするものがあるため、1つのIPアドレスの1つの証明書でwww.domain.comとdomain.comを実行できる場合があります。SNIを検討する際には、ターゲットオーディエンスを慎重に検討してください。XP上のIEは、一部の企業ユーザーに影響を与えるサポートをサポートしていません。モバイルデバイスをターゲットとする場合(古いバージョンを実行しているAndroidデバイスが多数あります)。
デビッドスピレット14年

@pkeenan -答えは技術的特徴を反映するように更新された場合、それはいいだろうと、ホスト名のない支援のホスト名とドメイン- helpdesk.ssls.com/hc/en-us/articles/...
やる気

>クライアントは、「www.domain.com」や「ws.domain.com」など、「domain.com」で終わるドメインに対して有効なものとしてこれを扱います。これは、それも有効であると信じるようになりますがabc.def.domain.com、それも事実ですか?
ジェフ

7

各サブドメインの証明書、複数のサブドメインの証明書、またはワイルドカード証明書*.yoursite.example)を取得できます。

ただし、通常は通常の証明書よりもかなりコストがかかります。単一の証明書を共有するためanything.mydomain.example、それらが唯一の実行可能な選択肢である種類のアプリケーションをホストしない限り、通常、セキュリティの観点からは最適なオプションではありません。

また、SNI対応のWebサーバーがあれば、複数のIPアドレスは必要ありません。つまり、SNIは最新のブラウザーでのみサポートされます(IE6以下では動作しません)。NginxとApacheの最近のバージョンは、SNIを透過的にサポートしています(SSL対応の仮想ホストを追加するだけです)。


「セキュリティの観点から最適なオプションではない」とはどういう意味ですか?
やる気

4
すべてのホストで共有される単一の証明書は、証明書が添付されたサブドメインに影響を与えるのではなく、証明書の侵害をドメインレベルのセキュリティの脅威に変えます。たとえば、WordPressインストールであるwww.yoursite.comに使用される証明書は、セキュリティで保護されたクレジットカード処理アプリケーションであるpayments.yoursite.comの証明書と同じです。最初のものが漏れると、2番目のものが危険にさらされます。
GomoX

0

サブドメインごとに個別の証明書が必要か、ワイルドカード証明書(*.domain.example)を購入できます-より高価ですが、多くのサブドメインをホストしている場合は理にかなっています。

IPに関しては、サーバーの設定方法によって異なります。ホスト名ルールを使用して、同じIPから複数のサイトにサービスを提供したり、各サイトに一意のIPを使用したりできます。両方の方法には長所と短所があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.