DNS

ワイルドカードDNS わいるどかーどでぃーえぬえす

ワイルドカードDNSレコードサブドメイン名前解決アスタリスクゾーンファイル
ワイルドカードDNSって何?

簡単に言うとこんな感じ!

「どんな名前でもOK!」って言えるDNSの万能ルールだよ。たとえば *.example.com と設定しておくと、aaa.example.com でも bbb.example.com でも、何でも同じサーバーに繋げてくれるんだ!


ワイルドカードDNSとは

ワイルドカードDNSとは、DNSのゾーン設定において *(アスタリスク)を使い、特定ドメイン配下の任意のサブドメインを一括で同じIPアドレスやサーバーに向ける仕組みのことです。たとえば *.example.com というレコードを1行書くだけで、shop.example.comblog.example.comuser123.example.com などあらゆるサブドメインの名前解決が可能になります。

通常のDNSレコードは「この名前 → このIP」と1対1で設定しますが、ワイルドカードDNSは「どんな名前でも → このIP」という1対多の柔軟なルールです。SaaSサービスがテナントごとにサブドメインを発行したり、開発・テスト環境で動的にサブドメインを生成したりする場面で広く使われています。

ただし便利な反面、設定ミスや乱用はセキュリティリスクにもなります。意図しないサブドメインへのアクセスを許してしまう可能性があるため、利用する際は目的と範囲を明確にしておくことが重要です。


ワイルドカードDNSの仕組みと構造

レコードの書き方

DNSのゾーンファイルでは、以下のように * を使って記述します。

# 書式
*.<ドメイン名>  IN  <レコードタイプ>  <値>

# 例: example.com 配下のすべてのサブドメインを 203.0.113.10 に向ける
*.example.com.  IN  A  203.0.113.10

# 例: すべてのサブドメインを別ホスト名(CNAME)に向ける
*.example.com.  IN  CNAME  lb.example.com.

マッチングのルール

リクエスト例ワイルドカード *.example.com にマッチするか
shop.example.com✅ マッチする(1階層のサブドメイン)
blog.example.com✅ マッチする
a.b.example.com❌ マッチしない(2階層は対象外)
example.com❌ マッチしない(ドメイン本体は対象外)

ポイント: ワイルドカードは1階層のみマッチします。a.b.example.com まで網羅したい場合は *.*.example.com ではなく、アプリ側やDNSプロバイダの機能で対応する必要があります。

優先度ルール

より具体的なレコードが存在する場合、ワイルドカードよりも具体的なレコードが優先されます。

# 具体的なレコードが優先される例
shop.example.com.  IN  A  203.0.113.20   ← こちらが優先
*.example.com.     IN  A  203.0.113.10   ← それ以外はこちら

サブトピック1: 覚え方

「*(アスタリスク)= 何でも屋さん」 と覚えましょう。

プログラミングやコマンドラインで「ls *.txt」と書くと「すべての .txt ファイル」を意味するのと同じ感覚です。DNS でも * は「どんな名前でも受け付ける」というワイルドカード(切り札)の役割を果たします。

サブトピック2: 主な用途分類

用途具体例
SaaSのテナント分離{顧客名}.myapp.com を自動で振り分け
開発・ステージング環境feature-xxx.dev.example.com を一括で開発サーバーへ
ワイルドカードSSL証明書*.example.com 証明書と組み合わせてHTTPS化
メールのキャッチオール*@example.com 宛てメールを一つのアドレスで受け取る

歴史と背景

  • 1987年RFC 1034RFC 1035 によってDNSの基本仕様が策定され、ワイルドカードレコードの概念も定義される
  • 1990年代後半〜2000年代 — ウェブホスティング事業者が「バーチャルホスト」でサブドメインを動的発行するためにワイルドカードDNSを活用し始める
  • 2003年 — VeriSign(.com/.netレジストリ)が「Site Finder」としてワイルドカードを .com 全体に適用し、存在しないドメインへのアクセスを自社サイトへリダイレクト。ユーザー・業界から強い反発を受け撤回される(ワイルドカードの濫用として有名な事例)
  • 2007年RFC 4592 でワイルドカードの動作仕様が詳細に再整理・明確化される
  • 2010年代〜 — Heroku・Netlify・VercelなどのクラウドプラットフォームがカスタムドメインのワイルドカードDNSを積極活用。*.vercel.app などの形で普及
  • 現在 — Let’s Encrypt がワイルドカード証明書*.example.com)の自動発行に対応し、HTTPS化と組み合わせてさらに使いやすくなる

ワイルドカードDNS vs 通常DNSレコード・関連技術の比較

通常DNSレコードとの比較

ワイルドカードDNS vs 通常DNSレコード 通常のAレコード shop.example.com → 203.0.113.10 blog.example.com → 203.0.113.10 mail.example.com → 203.0.113.10 ... (追加するたびに1行ずつ) ➕ 新サブドメインのたびに追記が必要 ワイルドカードDNS *.example.com → 203.0.113.10 ↓ これ1行で… any.example.com → 203.0.113.10 すべてカバー! ✅ 新サブドメインでも自動で適用

ワイルドカードSSL証明書との組み合わせ

ワイルドカードDNSは、ワイルドカードSSL/TLS証明書と組み合わせることで真価を発揮します。

項目通常の証明書ワイルドカード証明書
対象ドメイン例shop.example.com のみ*.example.com(全サブドメイン)
追加コストサブドメインごとに必要1枚で全サブドメイン対応
自動発行Let’s Encrypt で容易DNS-01チャレンジが必要
セキュリティリスク限定的証明書漏洩時の影響が広い

セキュリティ上の注意点

⚠️ ワイルドカードDNS利用時のリスク

1. 意図しないサブドメインへのアクセスを許可してしまう
   → 攻撃者が "evil.example.com" を使ったフィッシングに悪用する恐れ

2. サブドメイン乗っ取り(Subdomain Takeover)
   → CNAMEで向けた先のサービスを解約後、そのサブドメインが乗っ取られる

3. ワイルドカード証明書の漏洩
   → 秘密鍵が漏れると全サブドメインのHTTPS通信が危険に

関連する規格・RFC

規格・RFC番号内容
RFC 1034DNS概念と機能の定義。ワイルドカードレコードの基本仕様を含む
RFC 1035DNSの実装と仕様。リソースレコードの詳細定義
RFC 4592ワイルドカードリソースレコードの動作を詳細に再定義・明確化
RFC 8659CAA(Certification Authority Authorization)レコード。ワイルドカード証明書発行元制限に関連

関連用語