サブドメイン乗っ取りとは?仕組み・被害・防ぎ方を整理
自社のサブドメインが、知らないうちに他人のコンテンツを表示している。そんな事態を招くのが、宙に浮いたDNSレコードです。
公開: 2026年11月13日
何が起きているのか
企業は、キャンペーンサイト、ヘルプセンター、ブログ、検証環境などを、クラウドやSaaSの上に作り、campaign.example.co.jpのようなサブドメインを割り当てます。割り当てには、CNAMEレコードを使うことが多くあります。たとえば次のような形です。
campaign.example.co.jp. CNAME example-campaign.some-cloud.example.
キャンペーンが終わり、クラウド側のリソース(サイトやバケット)を削除したのに、DNSのCNAMEだけが残ってしまうことがあります。この状態が「宙に浮いたDNSレコード(dangling DNS record)」です。サービスによっては、第三者が同じ名前でリソースを新しく作れてしまうため、あなたのサブドメインの向き先を、他人が自由に使えるようになります。これがサブドメイン乗っ取り(subdomain takeover)です。
どんな被害が起きるのか
- フィッシングや詐欺サイトの設置:正規のドメイン名の下で、偽のログイン画面などを公開できます。利用者は、ドメイン名を見て信用してしまいます。
- Cookieの窃取:親ドメイン全体を対象としたCookie(セッション情報)が、乗っ取られたサブドメインへ送られ、盗まれるおそれがあります。
- 許可リストの悪用:CORS、CSP、OAuthのリダイレクト先などで、「自社のサブドメインなら許可する」と設定していると、乗っ取った側がその許可を利用できます。
- 信用の失墜:不適切なコンテンツがあなたのドメインから配信されると、検索エンジンの評価や、ブランドの信用に傷がつきます。
乗っ取られやすい条件
すべてのクラウドサービスで、乗っ取りが可能なわけではありません。サービス側が、リソースの所有権をドメインごとに確認している場合は、第三者が同じ名前を取得できません。逆に、リソース名さえ空いていれば誰でも作成できる仕組みのサービスは、危険です。乗っ取り可能かどうかはサービスごとに異なり、仕様が変わることもあるため、一覧を管理している公開プロジェクトなどを参照して判断します。
クラウドサービスだけでなく、次のような場合も同様のリスクがあります。
- CNAMEの向き先が、有効期限が切れて未登録になったドメインである(第三者が取得できる)。
- サブドメインの委任(NSレコード)の向き先が、停止した、または乗っ取り可能なネームサーバーである。こちらは影響が特に大きく、サブドメイン配下のすべてを支配されます。
自分で調べる方法
- 管理しているサブドメインを洗い出します。DNSの管理画面の一覧に加え、証明書透明性(CT)ログを使うと、記録が残っているサブドメインを探せます(サブドメイン検索)。
- 各サブドメインのCNAMEの向き先を引き、向き先の名前が存在するか(名前解決できるか)を確認します。解決できない場合は、宙に浮いている可能性が高くなります。
- 向き先が名前解決できる場合でも、サービスによってはブラウザで開くと「このサイトは存在しません」などのエラーページが出ます。そのときは、第三者が同じ名前を作れる可能性があるため、サービスごとの仕様を確認します。
サブドメイン乗っ取り診断は、この1と2を自動で行い、向き先が存在しないCNAMEや、未登録の可能性があるドメインを指すCNAMEを検出します。3のブラウザでの確認が必要なものは、「要確認」として表示します。
防ぐ方法
1. 順番を守る:先にDNS、後でリソース
サービスやリソースを削除するときは、先にDNSのレコードを削除し、そのあとでリソースを削除します。逆の順番にすると、その間に空白の時間が生まれます。
2. サブドメインの台帳を作る
どのサブドメインを、誰が、何の目的で、どのサービスで運用しているかを記録します。担当者が異動しても、見直しができます。
3. 定期的に自動でスキャンする
年に一度の棚卸しでは、乗っ取りの時間差に追いつけません。月次など、定期的にチェックする仕組みを作ります。
4. 所有権の確認を使う
サービス側がドメインの所有権確認(TXTレコードなど)に対応している場合は、必ず設定します。第三者が同じ名前を取得できなくなります。
5. 使わないワイルドカードDNSを避ける
*.example.co.jpのようなワイルドカードのCNAMEは、存在しない名前も含めて解決してしまうため、問題の発見が難しくなります。必要な範囲に限定してください。
よくある質問
すべてのクラウドサービスで、乗っ取りは起こりますか?
いいえ。サービスが、ドメインの所有権を確認している場合は、起こりにくいです。ただし、仕様は変わるため、「このサービスなら安全」と決めつけず、宙に浮いたレコードを残さないことが、基本です。
使っていないCNAMEを、そのまま残しても問題ありませんか?
向き先が存在しないCNAMEは、乗っ取りのリスクがあるため、削除してください。使っていないレコードを残すメリットは、ほとんどありません。
サブドメインの数が多く、把握しきれません。
まず、証明書透明性(CT)ログと、DNSの管理画面から、一覧を作ります。そのうえで、月次などの定期スキャンを組み込み、新しく宙に浮いたレコードが出ていないかを、継続して確認します。