TXTレコード (テキストレコード)

DNS レコードタイプ
テキストデータを保存する DNS レコード。メール認証 (SPF、DKIM、DMARC)、ドメイン検証、その他の目的に一般的に使用されます。
← 用語集に戻る

TXTレコード (テキストレコード) とは何か?

TXT (テキスト)レコードはDNSレコードタイプで、ドメインに関連付けられた任意のテキスト文字列を保存します。元々は人間が読める形式のノート向けに設計されていますが、TXTレコードはメール認証ポリシー、ドメイン所有権検証、およびサービス固有の構成のような機械が読める形式のデータに必須になりました。

TXTレコードの一般的な用途

メール認証

SPF (Sender Policy Framework):
example.com.    IN    TXT    "v=spf1 include:_spf.google.com ~all"

ドメイン向けにメール送信できるサーバーを指定します。

DKIM (DomainKeys Identified Mail):
google._domainkey.example.com.    IN    TXT    "v=DKIM1; k=rsa; p=MIGfMA0..."

メール署名検証向けの公開鍵が含まれます。

DMARC (Domain-based Message Authentication):
_dmarc.example.com.    IN    TXT    "v=DMARC1; p=reject; rua=mailto:dmarc@example.com"

メール認証ポリシーおよびレポーティングを定義します。

ドメイン検証

Google Search Console:
example.com.    IN    TXT    "google-site-verification=abc123..."
Microsoft 365:
example.com.    IN    TXT    "MS=ms12345678"
SSL証明書検証:
_dnsauth.example.com.    IN    TXT    "validation-token-from-ca"

その他のアプリケーション

Facebookドメイン検証:
example.com.    IN    TXT    "facebook-domain-verification=xyz789"
Keybaseアイデンティティ:
_keybase.example.com.    IN    TXT    "keybase-site-verification=..."
カスタムアプリケーションデータ:
_app.example.com.    IN    TXT    "config=value123"

TXTレコード形式

基本構文

name    IN    TXT    "text content here"

複数のTXTレコード

ドメインは複数のTXTレコードを持つことができます:

example.com.    IN    TXT    "v=spf1 include:_spf.google.com ~all"

example.com. IN TXT "google-site-verification=abc123"

example.com. IN TXT "facebook-domain-verification=xyz789"

長いTXTレコード

TXTレコード文字列は文字当たり255文字に制限されていますが、複数の文字列を連結できます:

selector._domainkey.example.com.    IN    TXT    (

"v=DKIM1; k=rsa; "

"p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA..."

"...long key continues..."

)

DNS クライアントはこれらの文字列を自動的に連結します。

TXTレコードの確認

dig を使用:
dig example.com TXT

; ANSWER SECTION:

example.com. 300 IN TXT "v=spf1 include:_spf.google.com ~all"

特定のサブドメインTXTをチェック:
dig _dmarc.example.com TXT

dig selector._domainkey.example.com TXT

DomScanを使用:
curl "https://domscan.net/v1/health?domain=example.com"

# DNS詳細で hasTXT およびメール認証ステータスを返す

TXTレコードベストプラクティス

メール認証向け

1. 常にSPF、DKIM、およびDMARCを構成 一緒に

2. 単一のSPFレコード使用 - 複数のSPFレコードは問題を引き起こす

3. SPFルックアップを10未満に保つ - 超過は失敗を引き起こす

4. デプロイ前テスト - オンライン検証ツールを使用

ドメイン検証向け

1. 検証TXTレコード削除しないでください - サービスは再度検証する可能性

2. 各TXTレコードが何のためかをドキュメント化 - 蓄積される可能性があります

3. 未使用のレコードをクリーンアップ - 使用しなくなったサービス向けレコードを削除

カスタムアプリケーション向け

1. アンダースコアプリフィックスを使用 (_app.example.com) 競合を避けるため

2. 形式をドキュメント化 - 将来のあなたが忘れます

3. TTLを考慮 - 頻繁に変更される構成向けに低いTTL

セキュリティ考慮事項

情報開示

TXTレコードはパブリックです。機密情報を保存しないでください:

# 不適切 - 内部情報を公開

example.com. TXT "internal-api-key=secret123"

SPF脆弱性

許容性が高すぎるSPFレコードはメールスプーフィングを有効にする可能性があります:

# 不適切 - 誰でも送信を許可

example.com. TXT "v=spf1 +all"

# 適切 - 制限的

example.com. TXT "v=spf1 include:_spf.google.com -all"

TXTレコードのトラブルシューティング

複数のSPFレコード: ドメイン当たり1つのSPFレコードのみが有効です。複数のSPFポリシーを1つに統合してください。 Truncatedレコード: TXTレコードが切り取られているように見える場合、適切な文字列引用符および連結を確認してください。 伝播遅延: TXTレコード変更はTTLベースの伝播に従います。検証レコード向けに変更前にTTLを低くします。

TXTレコードはDNSのスイスアーミーナイフです - 多目的ですが、使用が増加するにつれて慎重な管理が必要です。

この知識を実践する

DomScan の API を使用してドメインの可用性、状態などを確認します。