セキュリティDNSサブドメインWeb 担当者

dangling CNAME(宙ぶらりん CNAME)とは?リスクと検出方法をWeb 担当者向けに整理

ドメイン番人4 分で読めます
目次

この記事でわかること

  • dangling CNAME(宙ぶらりん CNAME)の意味と、なぜ危険なのか
  • 検出する 3 つの方法(CT log / DNS 解決 / SaaS 占有確認)
  • 是正の 4 ステップ
  • 自社で見落としやすいパターン

dangling CNAME とは

dangling CNAME の状態遷移

CNAME レコードが指している先(例: old-app.herokuapp.com)の SaaS 側リソースが既に削除・解約されているのに、CNAME は DNS に残ったままの状態を「dangling CNAME(宙ぶらりん CNAME)」と呼びます。

campaign.example.co.jp  CNAME  old-app.herokuapp.com
                                ↑ 解約済(攻撃者が再取得可能)

CNAME 自体は DNS の正規エントリなので、外部からはまだ生きているように見えます。これが攻撃者の餌食になります。

なぜ危険なのか

CNAME の宛先 SaaS で同じリソース名を新規取得できる設計になっている場合(Heroku / GitHub Pages / S3 等の多くがこれに該当)、攻撃者が再取得すると 御社のサブドメインが攻撃者のサイトを返すようになります。

  • HTTPS 証明書も攻撃者が SaaS 側で取得 → ブラウザは鍵マークを付ける
  • アドレスバーは御社のドメインのまま → エンドユーザーには気付けない
  • 結果: 御社のドメインで偽ログイン画面 / 偽請求書 / 偽キャンペーンが配信される

サブドメインテイクオーバー全体の仕組みは こちら で詳しく解説しています。

検出する 3 つの方法

dangling CNAME の検出フロー

方法 1: CT log(証明書透明性ログ)から全サブドメインを列挙

crt.sh%.example.co.jp 検索すると、過去に発行された全証明書のサブドメイン名が得られます。これが起点。

curl -s 'https://crt.sh/?q=%25.example.co.jp&output=json' \
  | jq -r '.[].name_value' | sort -u

方法 2: 各サブドメインの CNAME を確認

for sub in $(列挙したサブドメイン); do
  dig +short CNAME $sub
done

CNAME が返ってくるサブドメインが対象。

方法 3: CNAME 宛先の SaaS が解約されているか確認

CNAME が xxxxx.herokuapp.com yyyyy.github.io 等の SaaS パターンに合致したら、その SaaS にアクセスして「リソースが存在しない」エラーが出るかを確認します。エラーメッセージは SaaS ごとに異なり、HerokuOSS 名解決失敗 / GitHub Pages の "There isn't a GitHub Pages site here" 等が判定キー。

ドメイン番人の単発チェックなら 30 秒

毎回手作業は大変なので、ドメイン番人の サブドメイン棚卸し 単発チェック では、CT log + DoH 解決確認 + 11 種の既知 SaaS パターン照合を一括で行います。

是正の 4 ステップ

ステップ 1: dangling と確定した CNAME は DNS から削除

最も確実。SaaS 側のリソースを将来再開する予定がない CNAME は DNS から消すのが鉄則です。

ステップ 2: SaaS アカウントが残っているなら リソース名を自社で再取得

将来また使う可能性がある名前は、自社アカウントで占有しておくと攻撃者に取られない。

ステップ 3: 過去 SaaS の解約処理を SaaS 側で適切に行う

SaaS によっては「アカウント削除時にリソース名を予約する」設定があります。

ステップ 4: 再発防止のルール化

  • サブドメイン作成・削除のフロー(誰が・いつ)
  • 退職時のドメイン整理チェックリスト
  • 定期棚卸し(半年〜1 年に 1 回)

見落としやすいパターン

パターン 見落とし理由
ワイルドカード CNAME *.legacy.example.co.jp 個別サブドメインがログに残らないので把握しにくい
子サブドメイン app.dev.example.co.jp CT 検索のクエリ式によっては漏れる
認証不要の DNS 確認サービス(外部) CNAME のみ確認して SaaS 占有状況まで見ない

まずは現状を把握しましょう

ドメイン番人の サブドメイン棚卸し 単発チェック で 30 秒で確認できます。dangling CNAME と既知 SaaS のテイクオーバー疑いを自動で flag します。

検出された dangling CNAME の整理、SaaS 占有、是正計画の優先順位付けなど棚卸し全般の支援は サブドメイン棚卸し+テイクオーバーリスク診断(5 万円〜)でご相談ください。

関連記事:

総合点検は 無料のドメイン診断 を、SSL 単独は SSL 単発チェック をご利用ください。

次の一歩は無料診断から。