認証とDNS
DMARC
DMARCは、ドメインのDNSに公開するルールです。ドメインから送られたと名乗っているのにSPFとDKIMに失敗したメールを、どう扱うかを受信側のサーバーに伝えます。レポートの送り先も伝えます。
DMARCとは?
DMARCはDomain-based Message Authentication, Reporting and Conformanceの略です。DNSに公開するルールです。DNSとは、ドメインが自分の設定を載せる、インターネット上の公開ディレクトリです。このルールは、受信側のサーバーに1つの質問への答えを示します。Fromアドレスにそのドメインを使っているのに、チェックに失敗したメールをどうするか、という質問です。
Fromアドレスとは、受信トレイに表示される送信者のアドレスです。DMARCがないと、誰でもそこにあなたのドメインを入れられます。DMARCがあれば、GmailやOutlook.comなどのプロバイダーに、そのようなメールを迷惑メールフォルダに入れるか、ブロックするよう求められます。自社の名前でメールを送っているすべてのサーバーについて、レポートを送るよう求めることもできます。
例:billing@example.comからの偽の請求書
Example Ltdは、本物の請求書をbilling@example.comから送っています。詐欺師が、この会社の顧客をだまそうとしています。何が起きるかを見てみます。
- 詐欺師が自分のサーバーからメールを送ります。Fromアドレスはbilling@example.comです。件名は「請求書の支払期限が過ぎています。本日中にお支払いください」です。
- メールが、この会社の顧客の1人であるトムに届きます。
- トムのメールプロバイダーが2つのチェックを行います。SPFは、送信サーバーがexample.comのメールを送ってよいかを確認します。許可されていません。DKIMは、example.comによる有効な署名があるかを確認します。署名はありません。
- プロバイダーがexample.comのDMARCレコードを調べます。レコードには
p=rejectと書かれています。 - プロバイダーはメールをブロックします。トムがそのメールを目にすることはありません。
DMARCレコードがないと、手順4では何も見つかりません。その場合、プロバイダーは独自に判断し、偽の請求書がトムの受信トレイに届くかもしれません。
受信側は、ポリシーを「要望」として扱います。それとは別に、独自の迷惑メールフィルターを適用することもあります。
DMARCの判定方法:アライメント
SPFとDKIMは、それぞれ1つのドメインを確認します。しかし、そのドメインがFromアドレスのドメインと異なる場合があります。詐欺師は、Fromアドレスにexample.comを表示しながら、自分のドメイン、たとえばscam-mail.exampleでSPFに合格できます。
DMARCは、これを防ぐルールを1つ加えます。Fromアドレスに表示されるドメインと同じドメインで、SPFかDKIMが合格しなければなりません。この一致をアライメントと呼びます。2つのチェックのうち、合格して一致する必要があるのは1つだけです。このルールの緩やかな版と厳格な版は、DMARCアライメントのページで説明しています。
3つのDMARCポリシー
ポリシーは、レコードの p= の部分です。値は3種類あります。
| ポリシー | DMARCに失敗したメールの扱い | 使う時期 |
|---|---|---|
p=none | 通常どおり配信されます。レポートだけが届きます。 | 最初の段階で、すべての送信元を洗い出している間 |
p=quarantine | 迷惑メールフォルダに入ります。 | 本物の送信元がすべて合格したとき |
p=reject | ブロックされ、メールボックスには届きません。 | 本物のメールが失敗しないと確信できたとき |
シンプルなDMARCレコード
DMARCレコードは、_dmarc という名前に置くDNS TXTレコードです。example.comの場合は _dmarc.example.com に置きます。シンプルなレコードは次のとおりです。
v=DMARC1; p=none; rua=mailto:reports@example.com
セミコロンで区切られた3つの部分があります。
v=DMARC1は、これがDMARCレコードであることを示します。必ず最初に置きます。p=noneはポリシーです。ここでは「特別なことはせず、レポートだけ送る」という意味です。rua=mailto:reports@example.comは、毎日の集計レポートを受け取るアドレスです。
1つのドメインに置けるDMARCレコードは1つだけです。受信側のサーバーは、2つ見つけると両方とも無視します。ほかのすべてのタグとレポートの読み方は、DMARCレコードとはのガイドで説明しています。
DMARCの始め方
ほとんどのドメインは、3つの段階で進めます。
p=noneとruaのアドレスを入れたレコードを公開します。メールの扱いは何も変わらず、レポートが届き始めます。- レポートを読みます。レポートには、自社のドメインとしてメールを送っているすべてのサーバーが載っています。本物のサービスがそれぞれ、自社のドメインでSPFかDKIMに合格していることを確認します。ニュースレターツールやヘルプデスクがその例です。
p=quarantineに移ります。本物のメールが迷惑メールフォルダに入らなくなったら、p=rejectに移ります。
標準規格によると、本物の送信元をすべて合格させるには何か月もかかることがあります。請求書ツールのように、たまにしか送らないサービスは見落としがちです。Giggal.aiのDMARCジェネレーターは、各段階のレコードを作成します。
p=reject を使う前に、すべてのメールにDKIMの署名が付いていることを確認してください。転送されるとSPFは失敗します。SPFだけに頼ったrejectポリシーでは、転送された本物のメールがブロックされることがあります。
DMARCを義務付けているプロバイダー
Googleの送信者ガイドラインは、個人のGmailアカウントあてに1日5,000通以上を送る送信者に、DMARCレコードを求めています。MicrosoftもOutlook.com、Hotmail、Liveについて同じルールを設けています。Microsoftは2025年5月5日からこのルールの適用を始めました。どちらも、最低限の要件は p=none で満たせます。Fromのドメインは、SPFかDKIMとアライメントしている必要もあります。
現在のDMARCの標準規格は、2026年5月に公開されたRFC 9989です。RFC 7489に代わるものです。v=DMARC1 で始まるレコードは引き続き機能します。
DMARCとメールアドレス検証
DMARCは、他人が自社の名前でメールを送ることからドメインを守ります。自社のリストにあるアドレスについては何もしません。すでに存在しないメールボックスに送ったメールは、DMARCに合格していてもバウンスします。メールアドレスチェッカーは送信前にそのようなアドレスを見つけ、メールアドレスの一括検証ツールはリスト全体からそれらを見つけます。メールアドレス検証でバウンス率を低く保ち、DMARCで詐欺師がドメインを使うのを防げます。
関連する用語
- SPFレコードSPFレコードとは、ドメイン上に置く1行のテキストで、そのドメインのメールを送ってよいサーバーを一覧にしたものです。受信側のサーバーはこれを確認し、ドメインから送られたと名乗るメールが、そのドメインのサーバーから送られたことを確かめます。
- DKIMDKIMはDomainKeys Identified Mailの略です。送るすべてのメールに電子署名を付けます。受信側のサーバーは署名を確認し、メールがそのドメインから送られ、送信後に変更されていないことを確かめます。
- メールのなりすまし(スプーフィング)メールのなりすまし(スプーフィング)とは、偽の送信者アドレスでメールを送り、別の人から届いたように見せることです。詐欺師は、銀行、取引先、あるいは受信者の上司になりすますために使います。ドメインでこれを防ぐのが、SPF、DKIM、DMARCのレコードです。
- BIMIBIMIは、対応している受信トレイで、メールの横にブランドのロゴを表示するメールの標準規格です。Brand Indicators for Message Identificationの略です。ドメインがquarantineかrejectのポリシーでDMARCに合格している場合にだけ機能します。
- DNS TXTレコードDNS TXTレコードとは、ドメインの設定に保存された1行のテキストです。メールサーバーはTXTレコードを読んで、SPF、DKIM、DMARCを確認します。ほかのサービスは、ドメインの所有者であることを確認するために読みます。
