www サブドメインの App Service 証明書発行時のドメイン検証に関する新たな制限

6 minute read

概要

2021 年 12 月 1 日より、App Service 証明書の新規発行または更新、および App Service 証明書のキー更新の際に、以下の検証方法にて発行される新規 App Service 証明書は www サブドメイン を保護しなくなります。

  • App Service
  • 手動(HTML Web ページによるドメイン検証)


これは、App Service 証明書を発行する証明書発行機関 GoDaddy が、証明書発行プロセスにおいて HTML Web ページを利用したドメイン検証がされた際には、www サブドメインを保護する証明書を発行しないとの決定をしたことに伴うものです。

https://jp.godaddy.com/help/verify-domain-ownership-dns-or-html-for-my-ssl-certificate-7452

警告:HTML の方法を使うと、HTML ファイルが保存されているディレクトリに対してのみ証明書が検証されます。たとえば、HTML ファイルを Webサイトのルートディレクトリに保存する場合、証明書は coolexample.com に対しては検証されますが、www.coolexample.com に対しては検証されません。ルートドメインに対しても www. に対しても証明書を検証したい場合は、DNS の方法を使ってドメイン制御を証明してください。

対処法

上記の制限は App Service または 手動 の HTML Web ページによるドメイン検証に対するものです。
そのため、ドメイン または メール によるドメイン検証を代わりに実施する必要があります。
それぞれの手順の詳細については下記資料をご覧ください。
https://docs.microsoft.com/ja-jp/azure/app-service/configure-ssl-certificate#store-in-azure-key-vault

背景

App Service 証明書が保護するドメイン


App Service 証明書は、ルート ドメインと www サブドメイン両方を保護することができる証明書です。

https://docs.microsoft.com/ja-jp/azure/app-service/configure-ssl-certificate#start-certificate-order

ドメインはここで指定します。 発行された証明書によって、ルート ドメインと www サブドメインの “両方” が保護されます。 発行された証明書の [共通名] フィールドにはルート ドメインが含まれ、[サブジェクトの別名] フィールドには www ドメインが含まれています。 任意のサブドメインのみをセキュリティで保護するには、ここでサブドメインの完全修飾ドメイン名 を指定します (例: mysubdomain.contoso.com)。

証明書発行機関 GoDaddy がサポートするドメイン検証


証明書発行機関 GoDaddy は証明書発行時のドメイン検証の方法として DNS による方法 および HTML Web ページによる方法 の 2 種類をサポートしています。
詳細については下記の、GoDaddy の公式 Web サイトをご参照ください。

https://jp.godaddy.com/help/verify-domain-ownership-dns-or-html-for-my-ssl-certificate-7452


App Service 証明書のドメイン検証では以下の 4 種類の方法がサポートされていますが、App Service または 手動 の HTML Web ページによるドメイン検証が GoDaddy の HTML Web ページを利用した検証に該当します。

https://docs.microsoft.com/ja-jp/azure/app-service/configure-ssl-certificate#verify-domain-ownership

4 種類のドメイン検証方法がサポートされています。

  • App Service - ドメインが同一のサブスクリプション内で既に App Service アプリにマップされている場合に最も便利なオプションです。 この方法は、App Service アプリがドメインの所有権を既に確認済みである事実を利用しています。

  • ドメイン - Azure から購入した App Service ドメインを確認します。 Azure は確認 TXT レコードを自動的に追加し、プロセスを完了します。

  • メール - ドメイン管理者に電子メールを送信することによってドメインを確認します。 手順は、オプションを選択したときに提供されます。

  • 手動 - HTML ページ (標準 証明書のみ) または DNS TXT レコードを使用してドメインを確認します。 手順は、オプションを選択したときに提供されます。 HTML ページ オプションは、[HTTPS のみ] が有効になっている Web アプリでは機能しません。


結果として、www サブドメインに対する App Service 証明書を発行する場合には、上記のドメイン検証方法のうち、ドメイン もしくは メール によるドメイン検証をする必要があります。

想定される事象

上記の制限は、ドメイン検証を必要とするすべての作業 (App Service 証明書の新規発行、更新、キー更新) で該当するため注意が必要です。
例えば、ルート ドメインと www サブドメインを一つの App Service 証明書を保護しているとします。
この時、App Service 証明書更新の際に、’App Service’ または ‘手動’ の HTML Web ページによるドメイン検証を実施すると、ルート ドメインは新しい App Service 証明書で保護されますが、上記の制限により、www サブドメインに対しては証明書の更新が行われず、古い App Service 証明書が適応されることになります。

<検証 1> HTML Web ページによるドメイン検証の場合 www サブドメインへのドメイン検証が正常に行われないことを確認


App Service 証明書を新規発行する際に、手動 の HTML Web ページによるドメイン検証を実施し、新規発行された App Service 証明書が www サブドメインに適用できるか確認しました。
手順は下記の通りです。

  1. App Service に <ドメイン名>.com および www.<ドメイン名>.com というカスタム ドメインを構成
  2. ルート ドメインに <ドメイン名>.com を設定した App Service 証明書を購入
  3. 手動 の HTML Web ページによる確認を実施

    2022-02-25-html-val-flow

    3-1. godaddy.html というファイル名のファイルを作成し、ドメイン確認トークンを記載します。
    3-2. http://<ドメイン名>/.well-known/pki-validation/godaddy.html で手順 3-1 で作成した html ファイルの内容が表示されるように、godaddy.html を配置します。
  4. 証明書のバインド カスタムドメイン <ドメイン名>.com に対しては証明書のバインドが可能でしたが、www サブドメインである www.<ドメイン名>.com に対しては「選択したカスタム ドメインに一致する証明書はありません。」との表示がされ、バインドができませんでした。

2022-02-25-html-val-binding-alert

2022-02-25-html-val-cert

これは、HTML Web ページによるドメイン検証の場合、www サブドメインに対してはドメイン検証が行われず、対応する App Service 証明書も発行されなかったためです。


<検証 2> DNS によるドメイン検証の場合 www サブドメインへのドメイン検証が正常に完了することを確認


App Service 証明書を新規発行する際に、手動 の DNS によるドメイン検証を実施し、新規発行された App Service 証明書が www サブドメインに適用できるか確認しました。
手順は下記の通りです。

  1. App Service に <ドメイン名>.com および www.<ドメイン名>.com というカスタム ドメインを構成
  2. ルート ドメインに <ドメイン名>.com を設定した App Service 証明書を購入
  3. 手動 の手動による確認を実施 (この方法は DNS によるドメイン検証です。)

    2022-02-25-manual-val-flow

    3-1. 手順 1 で作成したカスタム ドメインの DNS ゾーンを開きます。
    3-2. ルート ドメインに、TXT レコードを追加します。値にはドメイン確認トークンを設定します。

    2022-02-25-manual-val-add-txt

  4. 証明書のバインド カスタムドメイン <ドメイン名>.com および www サブドメインである www.<ドメイン名>.com に対してバインドができました。

2022-02-25-manual_val_binding

2022-02-25-manual_val_cert

これは、DNS によるドメイン検証の場合、www サブドメインに対してもドメイン検証が行われ、対応する App Service 証明書が発行されたためです。


上記の検証結果から、HTML Web ページによるドメイン検証の場合、発行された証明書は www サブドメインの保護しないことが確認されました。

参考ドキュメント




2022 年 2 月 25 日時点の内容となります。
本記事の内容は予告なく変更される場合がございますので予めご了承ください。