DMARCレコードの設定手順を5ステップで解説
DMARCレコードは書き方を一つ間違えるだけで意図通りに機能しません。ここではDNSへの追加手順をステップごとに分解し、設定後の確認方法まで、実際に手を動かす担当者向けに解説します。
- DMARCレコードは_dmarc.ドメイン名のTXTレコードとして追加する。SPF・DKIMのレコードとは登録場所が別。
- p=none(監視のみ)から始め、ruaのレポートを確認しながら段階的にp=quarantine、p=rejectへ引き上げるのが安全な進め方。
- dmarcレコード設定は反映まで数時間〜24時間かかることがあるため、直後に確認できなくても慌てない。
- dmarc設定確認はdigやnslookup、またはオンラインチェッカーで_dmarcのTXTレコードを照会すれば行える。
DMARCレコードとは何か
DMARCレコードとは、SPFとDKIMの認証結果を踏まえて、認証に失敗したメールをどう扱うかを受信側に指示するDNS上のポリシー宣言です。「_dmarc.自社ドメイン」というホスト名にTXTレコードとして登録し、そこにv=DMARC1で始まる文字列を記述します。
SPFやDKIMが送信側の技術的な正当性を証明する仕組みであるのに対し、DMARCはその結果を受けて実際にどう処理するか(受信トレイに通す、迷惑メールに振り分ける、拒否する)を宣言する層にあたります。B2Bの新規開拓メールを継続的に送る立場では、なりすまし対策として必須の設定です。
設定前に確認しておくこと
DMARCレコードを追加する前に、SPFとDKIMがすでに正しく設定・運用されていることを確認してください。DMARCはSPF・DKIMの結果を土台にするため、この2つが未整備のままDMARCだけ厳格にすると、正規の送信メールまで届かなくなるリスクがあります。
- SPFレコードがDNSに登録済みで、利用している送信サーバーがすべて含まれているか
- DKIM署名が送信メールに正しく付与されているか(メールヘッダーで確認)
- レポートの送付先に使うメールアドレス(rua用)を用意しているか
- 自社メールサーバー、CRM、営業ツールなど複数の送信元を洗い出せているか
DMARCレコードの書き方(タグの意味)
DMARCレコードは複数のタグをセミコロン区切りで並べて記述します。主要なタグの意味を押さえておくと書き方に迷いません。
- v=DMARC1 — バージョン指定。常に固定
- p=none/quarantine/reject — ポリシー。noneは監視のみ、quarantineは迷惑メール行き、rejectは拒否
- rua=mailto:アドレス — 集計レポートの送付先
- ruf=mailto:アドレス — 個別の失敗レポートの送付先(省略可)
- pct=数値 — ポリシーを適用する送信の割合。段階的移行時に使う
- adkim=s/r、aspf=s/r — DKIM・SPFの照合を厳格(s)にするか緩やか(r)にするか
_dmarc.yamato-tech.co.jp を照会先とし、v=DMARC1; p=none; rua=mailto:dmarc-reports@yamato-tech.co.jp; pct=100 という値をまず設定し、レポートを1〜2週間観察してからp=quarantineに引き上げる、という進め方が実務では安全です。
DNSへの追加手順
実際にDNSへ追加する手順は、多くのドメイン管理画面で共通しています。
- 利用しているDNS管理画面(お名前.com、Cloudflare、Route53など)にログインする
- TXTレコードの追加画面を開く
- ホスト名に_dmarc(サブドメインの場合は_dmarc.サブドメイン名)を入力する
- 値の欄に組み立てたDMARCレコードの文字列を入力する
- TTLはデフォルトのままか、反映を急ぐ場合は短め(300〜600秒)に設定する
- 保存して数分〜数時間、DNS反映を待つ
設定後の確認方法
登録して終わりではなく、正しく反映されているかを必ず確認します。dmarc設定確認はコマンドラインでもオンラインツールでも行えます。
- ターミナルでdig TXT _dmarc.自社ドメイン +shortを実行し、登録した文字列がそのまま返ってくるか確認
- nslookup -type=TXT _dmarc.自社ドメインでも同様に照会できる
- 反映後、数日待って集計レポート(XML形式)がrua宛に届くかどうかも合わせて確認する
実務での目安であり、送信量や送信元の種類により前後します。
よくある設定ミスと注意点
DMARCレコードの設定でつまずきやすいポイントをまとめます。
- 一つのドメインに_dmarcレコードを複数登録してしまい、DMARC自体が無効になる
- ruaのメールアドレスを設定しないまま運用し、認証失敗の傾向を把握できない
- SPF・DKIMが未整備の状態でいきなりp=rejectにして正規メールまで拒否される
- サブドメインからの送信を考慮せず、sp(サブドメインポリシー)タグの設定を忘れる
LDMでの運用の考え方
LDMでは新規ドメインでDMARCを導入する際、必ずp=noneでの監視期間を設けたうえで、集計レポートを見ながら段階的にポリシーを引き上げる進め方を基本にしています。B2Bの新規開拓メールは送信量自体は多くないため、認証基盤を丁寧に整えることが、少数の重要な相手に確実に届けることに直結します。
よくある質問
DMARCレコードはどこに追加すればいいですか。
自社ドメインのDNS管理画面で、_dmarc.自社ドメインというホスト名にTXTレコードとして追加します。SPFやDKIMとは別のレコードとして登録する必要があります。
p=noneのままでも意味はありますか。
監視のみで実際のメール処理には影響しませんが、認証失敗の傾向を把握できるため、quarantineやrejectに移行する前の準備段階として重要です。
設定後すぐに確認できないのはなぜですか。
DNSの変更が世界中のサーバーに反映されるまで数時間から最大24時間程度かかることがあるためです。反映を急ぐ場合はTTLを短くしておくと確認がスムーズです。
dmarcレコード設定を確認する簡単な方法はありますか。
ターミナルでdig TXT _dmarc.自社ドメイン +shortを実行するのが最も手軽です。登録した文字列がそのまま返れば正しく設定されています。
rua宛のレポートは何に使いますか。
送信ドメインを騙ったメールの発生状況や、正規の送信元での認証失敗の有無を把握するために使います。定期的に確認することで設定ミスにも早く気づけます。