DNS TXTレコードの役割とメールセキュリティ設定をイメージした画像

DNS TXTレコードとは何ですか?


著者: Ahona Rudra
翻訳: 東條 百々朱

この記事はPowerDMARCのブログ記事 DNS TXT Record: Definition, Uses & Setup Guide の翻訳です。
Spelldataは、PowerDMARCの国内正規代理店です。
この記事は、PowerDMARCの許可を得て、翻訳しています。


主なポイント

  1. DNS TXTレコードを使用すると、ドメインに関連するさまざまな情報を、テキスト形式でDNSに保存できます。
  2. TXTレコードは、DKIM、SPF、DMARCなどの仕組みを通じて、メールのスパムやなりすましを防止するうえで重要な役割を果たします。
  3. TXTレコードは、指定されたレコードをDNSに追加することで、ドメイン所有権の確認にも使用できます。
  4. 特に255文字を超える値を扱う場合は、TXTレコードの書式に注意が必要です。
  5. TXTレコード検索ツールを利用すると、ドメインのTXTレコードを簡単に取得・確認できます。

DNS TXTレコード(Text Recordの略)は、ドメイン所有者がテキスト形式の情報をDNS(Domain Name System)に保存できるDNSレコードの一種です。
もともとは、人が読める簡単なメモを保存するために設計されましたが、現在では、ドメイン検証、メールセキュリティ、各種サービス設定など、重要な用途で広く利用されています。

TXTレコードは、オンライン上のセキュリティと信頼性を高めるうえで重要な役割を果たします。
たとえば、ドメイン所有権の確認、メールのなりすまし防止、各種サービスの正常な動作に役立ちます。

また、SPF(Sender Policy Framework)、DKIM(DomainKeys Identified Mail)、DMARC(Domain-based Message Authentication, Reporting & Conformance)などのメール認証方式を実装する際にも、TXTレコードはよく使用されます。
これらの認証方式により、攻撃者が自社ドメインを装って偽メールを送信するリスクを低減できます。
さらに、Google Workspace、Microsoft 365、多くのサードパーティ製アプリケーションにおけるドメイン所有権確認にも不可欠です。

DNS TXTレコードとは

DNS TXTレコードは、DNSゾーンファイル内に保存されるテキストベースのレコードです。
TXTは「Text」の略で、ドメインに関する情報を人間にもシステムにも読み取りやすい形式で保存できます。
TXTレコードが重要である理由はいくつかあります。

ご存じでしたか?

以前は、SPFポリシ情報を保存するために専用のSPFレコードが推奨されていました。
しかし、2014年にSPFレコードは非推奨となり、現在はTXTレコード形式でSPF情報を公開する方法が一般的になっています。
これは、TXTレコードの方が実装や管理がしやすいためです。

DNS TXTレコードの例

TXTレコードは、短くシンプルなテキスト値を保存するためによく使用されます。
厳密な書式要件は多くありませんが、いくつか注意点があります。

たとえば、255文字を超える値を保存する場合は、値を複数の文字列に分割して記述する必要があります。
また、各文字列はダブルクォーテーション(" ")で囲みます。

255文字を超えるTXTレコードの形式

レコード名 レコードタイプ 値 TTL
ABC TXT "sample text" "sample text" 3600

255文字未満のTXTレコードの形式

レコード名 レコードタイプ 値 TTL
ABC TXT sample text 3600

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

TXTレコードはDNSの便利な機能であり、さまざまな用途に利用できます。

メールスパムおよびなりすましの防止

DNS TXTレコードの最も重要な用途の1つは、メールセキュリティの強化です。
サイバー犯罪者は、信頼できるドメインから送信されたように見せかけた不正メールを送信しようとします。

これは「メールのなりすまし(Email Spoofing)」と呼ばれます。
ドメイン所有者は、SPF、DKIM、DMARCなどのTXTレコードを公開することで、送信メールを認証し、スパムリスクを軽減するとともに、自社ブランドや受信者をフィッシング攻撃から保護できます。

DKIMレコード

DKIMTXTレコードは、メールが正当なものであることを確認するための重要な仕組みです。
DKIMでは、メールにデジタル署名を付与し、そのメールが正当な送信元から送られ、配送中に改竄されていないことを確認します。

受信側はこの署名を検証することで、メールの信頼性を判断できます。
当社のDKIM設定ガイドでは、DKIMの設定方法をご確認いただけます。

DMARCレコード

DMARC(Domain-based Message Authentication, Reporting & Conformance)レコードも、重要なDNS TXTレコードの一種です。
DMARCは、ドメインから送信されたメールの正当性を検証し、認証に失敗したメールを受信側メールサーバーがどのように処理すべきかを指定します。
DMARC TXTレコードには、ポリシー、レポート送信先、サブドメインへの適用方針などの情報が含まれます。

これにより、ドメイン所有者は、自社ドメインを悪用したなりすましメールを検出・制御しやすくなります。
DNS TXTレコード内のDMARCレコードの例は以下のとおりです。

項目 値
Name _dmarc.my-example-domain.com
Value v=DMARC1; p=quarantine rua=mailto@companyname.com
TTL 1800

DMARCレコードは通常TXT形式で保存され、特定のドメインから送信されたメールをどのように扱うかに関するポリシーを定義します。
これにより、受信側はヘッダーが偽装されたメールや認証に失敗したメールに対して、隔離や拒否などの処理を行えるようになります。

SPFレコード

SPFレコードは、特定のドメインを使ってメール送信を許可されたサーバーを定義するDNS TXTレコードです。
SPFレコードには、許可されたIPアドレスやメール送信サービスが記載されます。

これにより、受信側メールサーバーは、メールを配送する前に、その送信元がドメイン所有者によって許可されているかを確認できます。
SPFレコードは、第三者がドメイン所有者になりすまして不正なメールを送信するリスクを低減します。

ドメイン所有権の検証

DNS TXTレコードは、ドメイン所有権を確認するためのシンプルで有効な手段です。
通常、サービス提供者やドメインレジストラは、TXTレコードに設定するための検証用文字列を提供します。

ドメイン所有者がその文字列をDNSに追加すると、サービス側はDNSを照会し、そのドメインを管理していることを確認できます。
DNS TXTレコードによるドメイン所有権検証の例は以下のとおりです。

項目 値
Name 空欄または@(DNSプロバイダーによって異なります)
Record Type TXT
Value example-site-verification=35LhR11sr4Lg10vPT4CRT0921opo5dRbYq7TuWzBRYQh
TTL 1800

DNS TXTレコードの追加方法

DNS TXTレコードの追加は比較的簡単ですが、具体的な手順はドメインのDNS管理先によって異なります。
メール認証、ドメイン所有権の確認、セキュリティポリシの設定など、TXTレコードの追加方法を理解することは、ドメイン管理者にとって重要です。

DNS設定へアクセスする

TXTレコードを追加または編集するには、まずドメインのDNS設定へアクセスします。
DNS設定は通常、GoDaddyやNamecheapなどのドメインレジストラ、ホスティングプロバイダー、またはCloudflareなどのDNS管理サービスで管理されています。
なお、DNS設定を変更できるのは、そのドメインの管理権限を持つユーザーのみです。

レコードを追加する

TXTレコードの追加手順はDNSプロバイダーによって異なりますが、一般的な流れは以下のとおりです。

  1. ドメイン管理アカウントへログインします。
  2. 「Domain Name Management」や「Name Server Settings」などのDNS設定ページへ移動します。
  3. ドメインのTXTレコード設定画面を開きます。
  4. ドメイン、必要に応じてサブドメインにTXTレコードを追加します。
  5. 変更内容を保存し、反映を待ちます。
    反映には数分から最大72時間程度かかる場合があります。

DNS伝播時間

DNS TXTレコードを追加または更新しても、変更内容がすぐに世界中へ反映されるわけではありません。
この反映時間は「DNS伝播(DNS Propagation)」と呼ばれます。

多くの場合は数分以内に反映されますが、完全な伝播には24〜48時間かかることがあります。
伝播時間は、設定したTTL値、DNSプロバイダーの更新速度、各ISPのキャッシュ状況などによって異なります。

DNS TXTレコードの確認方法

DNS TXTレコードは、コマンドラインまたはオンラインのTXTレコード検索ツールを使用して確認できます。

コマンドライン
コマンドラインを開き、OSに応じて以下のコマンドを実行します。
Unix / Linux
dig TXT your-domain.com
Windows
nslookup -type=TXT your-domain.com
実行結果の例:your-domain.com. 3600 IN TXT "logmein-verification-code=696afg6f-6700-40e4-96r5-561b462c9a26"
オンラインツール
DNSTXTレコード検索ツールを使用すると、ドメイン名またはIPアドレスを入力するだけでDNS TXTレコードを確認できます。
このツールでは、指定したドメインに関連付けられたTXTレコードを一覧で確認できます。

TXTレコードの作成でお困りですか?

メールセキュリティのためにTXTレコードを作成した経験がなくても、心配はいりません。
「迷惑メール対策のためにTXTレコードを設定したいけれど、何を入力すればよいかわからない」という方も多いでしょう。
PowerDMARCがお手伝いします。

PowerDMARCでは、DMARC分析などのメール認証・コンプライアンスツールに対応した、メールセキュリティ用TXTレコードの作成をサポートしています。
これにより、フィッシング攻撃やマルウェアから組織を保護しやすくなります。

フィッシング対策では、小さな対策の積み重ねが大きな効果を生みます。
ぜひPowerDMARCにお任せください。

よくある質問

DNS TXTレコードとCNAMEレコードの違いは何ですか?
DNS TXTレコードは、メール認証、ドメイン所有権の確認、サービス設定などで使用されるテキスト情報を保存するレコードです。
一方、CNAME(Canonical Name)レコードは、あるドメイン名を別のドメイン名へ関連付けるためのレコードです。

複数のドメイン名を同じリソースへ向ける場合に使用されます。
つまり、TXTレコードは「情報を保存する」ためのものであり、CNAMEレコードは「名前を別の名前へ関連付ける」ためのものです。
1つのドメインに複数のDNS TXTレコードを設定できますか?
はい、可能です。
実際、多くのドメインでは複数のTXTレコードが設定されています。

たとえば、SPF用、DKIM用、DMARC用、Google WorkspaceやMicrosoft 365などのサービス検証用など、複数のTXTレコードが共存することは一般的です。
DNSサーバーは、ドメインに設定されている有効なTXTレコードを処理します。
TXTレコードはWebサイトの表示速度やパフォーマンスに影響しますか?
いいえ、影響しません。
TXTレコードは、メール認証やドメイン所有権確認などでTXT情報が要求された場合にのみ参照されます。
そのため、TXTレコードの数に関係なく、Webサイトの表示速度、パフォーマンス、SEOには影響しません。