Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

DMARC(ディーマーク)とは | 意味や読み方など丁寧でわかりやすい用語解説

DMARC(ディーマーク)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

ディーマーク (ディーマーク)

英語表記

DMARC (ディーマーク)

用語解説

DMARC(Domain-based Message Authentication, Reporting, and Conformance)とは、電子メールのなりすましを防ぎ、正規のメールであることを保証するための認証技術である。これは、既存のメール認証技術であるSPF(Sender Policy Framework)とDKIM(DomainKeys Identified Mail)を補完し、その検証結果に基づいてメールの処理方法を決定する枠組みを提供する。システムエンジニアを目指す初心者がメールシステムのセキュリティについて学ぶ上で、DMARCは非常に重要な概念となる。

DMARCが導入される背景には、従来のメール認証技術だけではなりすましメールを完全に防ぎきれないという課題があった。SPFは、メールの送信元IPアドレスがそのドメインの正規の送信サーバーからのものであるかを検証する技術だが、メールの「Header From」フィールドに表示される差出人アドレスとは異なるドメインでSPF認証が行われる場合がある。これにより、SPF認証はパスするものの、ユーザーには正規の送信元に見せかける「表示ドメインのなりすまし」が可能となる。DKIMは、メールに電子署名を付与し、メールが改ざんされていないことと、署名元のドメインが正規のものであることを証明するが、これもSPFと同様に、署名ドメインと「Header From」ドメインが異なる場合、表示上のなりすましを許してしまう可能性があった。DMARCは、これらのギャップを埋め、メールの「Header From」ドメイン、つまり受信者が目で見て確認する差出人ドメインと、SPFまたはDKIMによって認証されたドメインとの間に「アライメント(Alignment)」と呼ばれる一致関係を要求することで、より厳格ななりすまし対策を実現する。

DMARCの基本的な仕組みは、送信側ドメインがDNSにDMARCレコードという特別なTXTレコードを公開することから始まる。このDMARCレコードには、そのドメインからのメールがSPFとDKIMの認証に失敗した場合に、受信側メールサーバーがどのようにメールを処理すべきかというポリシー(pタグ)や、認証結果に関するレポートの送信先(ruaタグ、rufタグ)などが記述される。受信側メールサーバーは、メールを受信すると、まずSPFとDKIMの認証を実行する。その上で、Header Fromドメイン、SPFで認証されたドメイン、DKIMで署名されたドメインのそれぞれについて、DMARCで定められたアライメント条件を満たしているかを確認する。

アライメントとは、簡単に言えば、メールの差出人として表示されるドメイン(Header Fromドメイン)と、SPFまたはDKIMで認証される際に使用されるドメインが「一致しているか」を検証するプロセスである。 SPFアライメントは、メールのエンベロープFromアドレス(Return-Pathアドレスとも呼ばれる)のドメインと、Header Fromドメインが一致するかを検証する。DKIMアライメントは、DKIM署名に含まれるd=タグのドメインと、Header Fromドメインが一致するかを検証する。これらのアライメントには、「Strict(厳格)」と「Relaxed(緩和)」の二つのモードがある。Strictモードでは、ドメインが完全に一致する必要がある。例えば、Header Fromが「example.com」であれば、Return-Pathも「example.com」、DKIMのd=タグも「example.com」である必要がある。Relaxedモードでは、サブドメインが異なっていても、組織ドメイン(ベースドメイン)が一致していればアライメントが成立する。例えば、Header Fromが「example.com」で、Return-Pathが「bounce.example.com」であっても、RelaxedモードであればSPFアライメントは成功と判断される。

受信側メールサーバーがSPFとDKIMの認証とアライメントチェックを終えると、その結果に基づいてDMARCレコードに指定されたポリシーを適用する。DMARCポリシーには主に三つの種類がある。

  1. p=none(監視モード):認証とアライメントに失敗しても、メールは通常通り配信される。これはDMARC導入初期に、影響を最小限に抑えつつメールの送信状況を把握するために使用される。レポートは送信されるため、ドメイン管理者は自身のメールがどこで失敗しているかを知ることができる。
  2. p=quarantine(隔離モード):認証とアライメントに失敗したメールは、隔離される。これは通常、受信側の迷惑メールフォルダに移動されるか、スパム判定のスコアが加算されることを意味する。メールは受信者に届く可能性があるものの、信頼性は低いと判断される。
  3. p=reject(拒否モード):認証とアライメントに失敗したメールは、完全に拒否され、受信者のメールボックスには届かない。これは最も強力なポリシーであり、なりすましメールを徹底的に排除したい場合に設定される。

DMARCを導入する最大のメリットは、ドメインのなりすましを強力に防止できる点にある。これにより、フィッシング詐欺やスパムメールといった悪意のあるメールが、正規のドメインを騙って送信されることを防ぎ、ブランドイメージの毀損や顧客の信頼低下を防ぐことができる。また、DMARCはレポート機能を提供しており、ドメイン管理者は自身のドメインから送信されたメールが、どこで認証され、どこで失敗したかという詳細な情報を集計レポート(Aggregate reports、ruaで指定)と失敗レポート(Forensic reports、rufで指定)として受け取ることができる。これにより、メール送信の正当性を確認したり、設定ミスを発見したり、悪用状況を把握したりすることが可能になる。この可視化機能は、メールシステム全体の健全性を維持し、配信率を向上させる上でも非常に有用である。

DMARCを適切に導入するためには、いくつかの注意点がある。まず、DMARCはSPFとDKIMの検証結果に依存するため、これらの設定が正確かつ網羅的に行われていることが前提となる。自身のドメインからメールを送信するすべてのサービス(例えば、CRMシステム、マーケティングオートメーションツール、クラウドサービスなど)について、SPFレコードに正しく登録し、DKIM署名が適切に付与されるように設定する必要がある。また、DMARCポリシーをいきなりp=rejectに設定すると、正当なメールまで拒否されてしまうリスクがあるため、段階的に導入することが推奨される。具体的には、まずp=noneでレポートを収集し、自身のメールがどのように認証されているかを確認しながら、徐々にp=quarantine、そして最終的にp=rejectへと移行していくのが一般的な手順である。このプロセスを通じて、レポートの内容を分析し、必要に応じてSPFやDKIMの設定を調整していくことで、誤判定による正規メールの不達を防ぎつつ、セキュリティを強化できる。

DMARCは、インターネット上のメール通信における信頼性を高め、悪質な攻撃からユーザーとドメインを守るための不可欠な技術である。システムエンジニアを目指す者にとって、メールの仕組みとセキュリティを深く理解する上で、DMARCの概念とその運用方法は必ず習得すべき知識の一つと言えるだろう。

関連コンテンツ

関連IT用語

関連ITニュース