インフラ用語集へ戻る

DNS・名前解決 / DNS

TXTレコードとは

Text record。任意の文字列をDNSに載せるレコードです。認証や所有確認によく使われます。

用語集内のカードを見る

この記事で学べること

TXTレコードを、定義だけで終わらせず、現場で出てくる場面、確認材料、見落としやすい点、関連語とのつながりまで順に確認できます。

  1. TXTレコードを読むときの前提
  2. 用途ごとの読み方を分ける
  3. 分割、引用符、重複を見る
  4. 反映待ちと外部サービス判定を分ける
  5. 変更証跡と引き継ぎ

実務メモ

用途、所有者、削除条件をTXT値と一緒に残す

どこで効くか

TXTレコードはSPF、DKIM、DMARC、SaaS所有確認、証明書DNS-01など用途が広いレコードです。値があるだけで正しいとは判断せず、置くFQDNと用途を確認します。

残す証跡

証跡には対象FQDN、用途、TXT値、問い合わせ先DNS、TTL、旧値、新値、所有者、追加理由、削除条件、確認時刻を残します。

避けたい誤解

引用符、分割、同一ホスト名のSPF重複、_dmarcやselector._domainkeyの置き場所違いで検証に失敗します。一時確認用TXTの残存も棚卸し漏れになりやすいです。

まず確認すること

  • TXTの用途をSPF/DKIM/DMARC/所有確認で分ける
  • 権威DNSで実際のTXT回答を確認する
  • 一時TXTの期限と削除条件を確認する

TXTレコードを読むときの前提

TXTレコードは、DNSに任意の文字列を載せるレコードです。実務では、SPF、DKIM、DMARC、SaaS所有確認、検索エンジン確認、証明書発行のDNS-01チャレンジなどで使います。

TXTは用途が広いため、値があるだけでは正しいか判断できません。対象ホスト名、用途、所有者、値の分割、引用符、複数レコードの扱い、TTL、権威DNS回答を分けて確認します。

証跡には、対象FQDN、用途、TXT値、問い合わせ先DNS、TTL、旧値、新値、追加理由、削除条件、確認時刻を残します。

用途ごとの読み方を分ける

SPF、DKIM、DMARCはいずれもTXTで公開されますが、評価する場所と意味が違います。SPFは送信元、DKIMは公開鍵、DMARCは認証結果の扱いとレポート先を示します。

SaaS所有確認や証明書のDNS-01チャレンジは、一時的なTXTとして追加されることがあります。完了後に残すべき値か、削除すべき値かを確認します。

  • TXTの用途をSPF/DKIM/DMARC/所有確認で分ける。
  • 所有者と削除条件を記録する。
  • 一時検証用TXTを棚卸し対象にする。

分割、引用符、重複を見る

長いTXT値はDNS上で複数の文字列に分割されることがあります。管理画面の引用符や分割表示と、実際に権威DNSが返す値を突合します。

SPFは1つのホスト名に複数のSPFレコードを置くとPermErrorになるため、重複確認が重要です。DKIMや所有確認ではselectorやホスト名単位で複数値があり得ます。

  • 権威DNSで実際のTXT回答を確認する。
  • 引用符や分割で値が壊れていないか見る。
  • 同一ホスト名のSPF重複を確認する。

反映待ちと外部サービス判定を分ける

TXTを追加しても、外部サービス側がすぐ認識するとは限りません。DNSのTTL、外部サービス側の再確認間隔、入力したホスト名のずれを分けて確認します。

_dmarc、selector._domainkey、ルートドメイン、サブドメインなど、TXTを置く場所が1文字違うだけで検証に失敗します。画面の案内文をそのまま貼るだけでなく、FQDNとして確認します。

  • 外部サービスが指定したホスト名を確認する。
  • 権威DNSと外部再帰DNSの回答を比べる。
  • サービス側の再検証時刻を記録する。

変更証跡と引き継ぎ

TXT変更では、誰の依頼で、何のサービスのために、いつまで必要かを残します。メール認証系のTXTは削除すると配送評価に影響するため、削除前に送信基盤と受信側ヘッダーを確認します。

引き継ぎでは、TXT値そのものだけでなく、用途、所有者、管理画面、関連語としてSPF、DKIM、DMARC、DNS、FQDNを残すと追いやすくなります。

  • TXTごとに用途と所有者を記録する。
  • 削除前に影響するサービスを確認する。
  • 一時値は期限と削除条件を残す。

関連語

同じ主要カテゴリの用語

DNS・名前解決の学習順

同じ主要カテゴリの用語をまとめて確認できます。現在の用語を起点に、前後の用語へ進むと文脈を保ったまま読み進められます。

InfraEngKit内の関連機能