サブドメインの引き継ぎは、多くのリソースを定期的に作成および削除する組織にとって一般的な脅威です。 サブドメインの乗っ取りは、プロビジョニング解除された Azure リソースを参照する DNS レコードがある場合に発生する可能性があります。 このような DNS レコードは、"未解決の DNS" エントリとも呼ばれます。 サブドメインの引き継ぎにより、悪意のあるアクターは、悪意のあるアクティビティを実行しているサイトに組織のドメインを対象としたトラフィックをリダイレクトできます。
サブドメインの引き継ぎのリスクは次のとおりです。
- サブドメインのコンテンツに対する制御の喪失
- 疑いのない訪問者からのクッキーの収穫
- フィッシング キャンペーン
- XSS、CSRF、CORS バイパスなどの従来の攻撃のその他のリスク
サブドメインの引き継ぎの詳細については、「 未解決の DNS エントリを防止し、サブドメインの引き継ぎを回避する」を参照してください。
Azure App Service には、サブドメインの引き継ぎを防ぐための 名前予約 トークンと ドメイン検証トークン が用意されています。
App Service がサブドメインの引き継ぎを防止する方法
App Service アプリまたは App Service Environment (ASE) を削除すると、最初に DNS を所有していたサブスクリプションのテナントに属するサブスクリプションを除き、対応する DNS の再利用は禁止されます。 したがって、顧客は、関連付けまたは DNS へのポインターをクリーンアップするか、同じ名前でリソースを再作成して Azure で DNS を再利用する時間があります。 この動作は、 *.azurewebsites.net リソースと *.appserviceenvironment.net リソースに対して Azure App Service で既定で有効になるため、顧客の構成は必要ありません。
シナリオ例
サブスクリプション A とサブスクリプション B は、テナント AB に属する唯一のサブスクリプション です。 サブスクリプション A には、DNS 名がされた App Service Web アプリ test.azurewebsites.netが含まれています。 アプリを削除すると、サブスクリプションAまたはBのみが、testという名前のWebアプリを作成することで、test.azurewebsites.netのDNS名をすぐに再利用できます。 リソースの削除直後に、他のサブスクリプションが名前を要求することはできません。
サブドメインの引き継ぎを禁止する方法
Azure App Service の DNS エントリを作成するときは、asuid.{サブドメイン} 検証 ID を持つ TXT レコードを作成します。 このような TXT レコードが存在する場合、他の Azure サブスクリプションは、DNS エントリにトークン検証 ID を追加しない限り、カスタム ドメインを検証または引き継ぐことはできません。
これらのレコードにより、CNAME エントリから同じ名前を使用して別の App Service アプリが作成されなくなります。 ドメイン名の所有権を証明することができない脅威アクターが、トラフィックを受信したりコンテンツを制御したりすることはできません。
サイトを削除する前に DNS レコードを更新して、削除から再作成までの間に無効なアクターがドメインを引き継ぎないようにする必要があります。
ドメイン検証 ID を取得するには、「 Azure App Service で既存のカスタム ドメインを設定する」を参照してください。