BLOG ベアメールブログ
2022.05.09 (月)
メール用語解説DMARCとは? 仕組みやメリット、導入方法まで解説
Last Updated on 2024.10.31
DMARCとは、メール送信元の正当性を証明する送信ドメイン認証技術の一つです。「なりすまし」による詐欺やサイバー攻撃など、巧妙化したスパムメールの脅威が高まり続ける中で、受信者と送信者の双方を守る対策が求められています。本記事では、なりすましメール対策となるDMARCの概要と仕組み、SPFやDKIMとの比較や導入方法などについて解説します。
※本記事は 2023/10/17に最新の情報をもとに更新しました。
目次
DMARCとは
日本国内において、DMARCはまだまだ普及が進んでいない技術のため、耳にしたことのない人も多いのではないでしょうか。まずは、DMARCの概要について解説します。
DMARCの概要
DMARC(Domain-based Message Authentication, Reporting, and Conformance)とは、電子メールの送信ドメイン認証技術のひとつで、SPFとDKIMの認証結果をベースに、さらにメールに表示される送信元アドレス(ヘッダFrom)に対して検証を行うことで「なりすまし」をほぼ完全に防ぐことができます。
認証に失敗した「なりすまし」の可能性があるメールについては、ドメインの所有者が受信者に対し取り扱いを指定することができる仕組みです。DMARCを用いることで、悪意のある第三者によって自社のドメインが「なりすましメール」に使われることを抑止することができます。
DMARCはRFC7489で標準化されています。
IETF「RFC 7489」https://datatracker.ietf.org/doc/html/rfc7489
SPF・DKIMとの違いとDMARCが必要な理由
現在利用されている送信ドメイン認証技術には、SPF・DKIM・DMARCの3種類があります。DMARCはSPFとDKIMをベースに、それらの弱点をカバーするために開発されました。ここではSPF・DKIMの概要と弱点、それをDMARCがどのようにカバーするのか解説します。
SPF
SPF(Sender Policy Framework)とは、送信元メールサーバーが正当なものかどうかを判別する技術です。メール受信者(受信サーバー)はメールヘッダにある送信元ドメインを管理しているDNSサーバーに問い合わせを行い、送信元メールサーバーがそのDNSで定義されているか否かを検証します。最もシンプルで普及している技術ですが、以下のような弱点があります。
- メールが転送されると、SPF認証に失敗する場合がある
- SPFは送信元メールサーバー(エンベロープFrom)を認証するもので、メールに表示される送信元(ヘッダFrom)を認証するわけではない
- 自社ドメインがヘッダFromのなりすましに悪用されることを防ぐことはできない
- SPFに失敗したメールを拒否するか受け入れるかは受信側に委ねられる
SPFレコードの詳しい解説・設定方法については、こちらの記事をご覧ください。
SPFレコードの書き方とは?記述例を総まとめ | ベアメールブログ
DKIM
DKIM (DomainKeys Identified Mail)とは、秘密鍵と公開鍵を使用してメールに電子署名を付加することで、メールが作成時点(オリジナル)から改ざんされていないか検証する仕組みです。DKIMには以下のような弱点があります。
- DKIMはSPFと比較して導入と管理が難しいため、導入のハードルが高い
- DKIMは電子署名の付与に使用するドメインを認証するもので、メールに表示される送信元(ヘッダFrom)を認証するわけではない
- 自社ドメインがヘッダFromのなりすましに悪用されることを防ぐことはできない
- DKIMはSPFと比較して普及率が低いため、DKIM認証に失敗したメールでも受信側に拒否されることは少ない
DKIMについて詳しくはこちらの記事をご覧ください。
DKIMとは? 仕組み・メリット・設定の方法まで解説 | ベアメールブログ
DMARCが必要な理由
SPFとDKIMは送信元サーバーやメール内容の正当性を検証することができますが、SPFとDKIMで認証したドメインとメールに表示されるドメイン(ヘッダFrom)が一致するかまでは検証していません。そのため、悪意のある第三者がSPFとDKIM認証を別のドメインで合格させた上でヘッダFromを偽装することは可能であり、それをSPFとDKIMで見破ることはできません。このような巧妙ななりすましを防ぐために、DMARCが考案されました。
DMARCの特長
DMARCはSPFとDKIMの弱点をカバーし、なりすましを防ぐために開発されました。ここではDMARCの特長とメリットについて解説します。
DMARCでできること
認証の強化
DMARCの認証では、メールに表示される送信者アドレス(ヘッダFrom)のドメインとSPF・DKIMで認証したドメインが一致するかの検証を行います。これにより第三者によるヘッダFromのなりすましを防ぐことができます。DMARCの認証方法については後で詳しく解説します。
なりすましメールの隔離・ブロック
認証に失敗したメールの取り扱いについて、SPFとDKIMでは受信者の判断に委ねられていましたが、DMARCでは認証に失敗したメールをどう扱うべきかポリシーを公開することでコントロールできます。自社のドメインになりすましたメールを強制的に隔離やブロックすることが可能になるため、自社のブランドと顧客を脅威から守ることができます。
メールの配信・認証状況の把握
自社のドメインを使用して送信されているメールについてレポートを受け取ることができます。送信ドメイン認証に合格/失敗したメールの数、送信メールサーバーのIPアドレスなどについて情報が得られるため、正当なメールの認証状況や、なりすましメールの状況についても把握することができます。
DMARC導入のメリット
取引先や顧客をなりすましメールから守る
DMARCポリシーを公開し、自社ドメインになりすますメールを隔離・除外することで、自社の顧客や取引先を守ることが可能になります。製造業などにおいて、サプライチェーンリスク対策の一環として取引先企業からDMARC導入を求められるといった動きも出てきています。
ブランドの保護
自社ドメインになりすます迷惑メールを排除することで、ブランド価値を守ることにもつながります。DMARCのポリシーを「reject」まで進めることで、メールに自社ブランドのロゴを表示できる「BIMI」を導入することもできます。受信者は安心してメールを開くことができるため、ブランドの可視性を高め、開封率などエンゲージメントの向上も見込めるでしょう。
BIMIについて詳しくはこちらの記事をご参照ください。
BIMIとは? 導入のメリットや具体的な設定方法を解説 | ベアメールブログ
脅威の検知
SPF・DKIMだけでは、自社から送信されたメールが認証に成功したのか否かを把握することができません。もしSPFやDKIMの認証が失敗していることに気付かないまま配信を続けていると、レピュテーションの低下につながり、メールが届きにくくなる可能性があります。DMARCレポートを調べることで、自社のメールシステムが正しく運用されているかどうか、自ドメイン名を偽証したなりすましメールが送信されていないかなどの状況を把握することが可能です。
メール到達率の向上
SPF・DKIMなどと同様に、DMARCも認証のレイヤーとして機能するため、DMARCを導入することでドメインの信頼性を高め、到達率の向上につながります。メール受信側のセキュリティ対策は日々強化されているため、現在SPFの導入がほぼ必須となっているように、近い将来DMARCの導入も必須となってくるかもしれません。
DMARCの仕組み
ここではDMARCの認証の仕組みや、受信者にメールの取り扱いを指定するためのDMARCポリシー、そしてDMARCレポートについて詳しく解説します。
DMARC認証
DMARCの認証では、ヘッダFromのドメインと、SPF/DKIMの認証に合格したドメインが一致しているかを確認します。SPFとDKIMのいずれかで認証が取れれば良いため、DMARCを導入するためにSPF・DKIM両方を導入する必要はありません。
ヘッダFromのドメインとSPFやDKIMで認証したドメインとが一致するか照合することを「アライメント」(Alignment)と呼びます。SPFで認証したドメインと一致することを「SPFアライメント」、DKIMで認証したドメインと一致することを「DKIMアライメント」と呼びます。日本語への翻訳の都合で、アライメントは「調整」と書かれていることもあります。(SPF調整、DKIM調整など)
例えば外部のメール配信サービスを利用しており、Return-Path(エラー通知先のアドレス)がメールサービスのドメインになっている場合、ヘッダFromのドメインとReturn-Pathのドメインが異なるためSPFアライメントは失敗します。
同様に、外部のメール配信サービスを利用していて、メールサービスのドメインでDKIMの署名をしている場合(※第三者署名といいます)、ヘッダFromのドメインとDKIMの認証ドメインが異なるためDKIMアライメントは失敗することになります。
SPFとDKIMの認証自体がどちらも合格していたとしても、ヘッダFromのドメインと一致せずアライメントに失敗した場合はDMARCの認証としては失敗してしまうため注意が必要です。
DMARCのアライメントについて詳しくは以下の記事で解説しています。
DMARCのアライメントとは? DMARC認証をクリアするためのポイント | ベアメールブログ
Return-Pathについて詳しくはこちら。
Return-Pathとは? 到達率との関係や設定方法について解説 | ベアメールブログ
DMARCポリシー
ドメインの所有者は、認証に失敗したメールを受信サーバがどのように扱うべきか、ポリシーを「DMARCレコード」で事前に指定しておきます。受信者は、定義されたポリシーに従ってメールを処理します。DMARCのポリシーは以下の3種類です。
none 監視を行うだけで、認証失敗時もそのまま配信する quarantine 認証失敗時は不審なメールとして迷惑メールフォルダなどに隔離する reject 認証失敗時は不審なメールとして強制的に削除する
DMARCレポート
DMARCは、認証結果をフィードバックするレポーティング機能を持っており、配信結果の統計的な分析を行うことが可能です。レポートには、DMARCを含む送信ドメイン認証の結果を統計した「集約レポート」(ruaレポート)と、認証に失敗した結果の「失敗レポート」(rufレポート)の2種類があります。
「集約レポート」は、受信側が受け取ったメールの認証結果を集計したレポートです。レポートを送信した組織情報(例:Google など)、参照したDMARCのポリシー内容、SPF・DKIMの認証結果、送信に使われたIPアドレス、配信通数、SPF・DKIMのアライメントの認証結果などが記載されます。
「失敗レポート」は、個々のメールがSPF・DKIMの認証に失敗した際に都度送信されるものです。失敗レポートを送信する条件については、DMARCレコードで指定できます。
元々認証に失敗したメールを素早く検知するために備えられた機能ですが、失敗したメールを特定するための情報を含むことになるため、プライバシー上の懸念から失敗レポートを送信しない受信側プロバイダーもあるようです。
レポートはメールで送られますが、集約レポートはXML形式、失敗レポートはAFRF形式のため、生のレポートを解読するのは少々難しいでしょう。そのためにDMARCレポートの解析サービスなどが多数提供されています。
DMARCの流れ
DMARCを導入した場合の認証とレポートの流れをまとめると以下のようになります。
- ドメイン所有者は、DMARCのポリシー情報(DMARCレコード)をDNSサーバーに登録しておきます。
- 受信サーバーはメールを受信すると、ヘッダFromのドメインにDMARCレコードが登録されているか確認します。
- DMARCレコードが存在する場合、DMARC認証の検証を行います。
- DMARCの認証に失敗した場合、DMARCポリシーに従ってメールを処理します。(そのまま通す/隔離/受信拒否)
- 受信サーバーはDMARCレポートをドメイン所有者に送信します。
DMARCの導入・設定方法
次に、DMARCの導入に必要な「DMARCレコード」について解説します。
DMARCポリシーレコードを定義する
送信側でDMARCに対応するには、DMARCポリシーレコードを、自ドメインを管理しているDNSサーバーのTXTレコードに追加するだけです。
例えば、「baremail.co.jp」にDMARCポリシーレコードを設定すると以下のようになります。
【設定例】
_dmarc.baremail.co.jp. IN TXT “v=DMARC1; p=none; rua=mailto:report@baremail.co.jp; ruf=mailto:ng_report@baremail.co.jp “
DMARCポリシーレコードは1行のテキストで表され、レコードの中にタグ(v/p/ruaなど)と値を=で指定し、各項目を定義します。各項目の間はセミコロン(;)で区切ります。
タグ 指定する値 内容 v DMARC1 DMARCのバージョン(現在はDMARC1)※必須 p none / quarantine / reject 認証に失敗した場合に受信側で実行してほしいアクション ※必須 rua mailto:xxxxx@sample.jp 集計レポートの送信先アドレス(複数指定可能) ri 86400(デフォルト) 集計レポートの送信間隔。デフォルトは86400秒=24時間 ruf mailto:xxxxx@sample.jp 失敗レポートの送信先アドレス(複数指定可能) fo 0 / 1 / d / s 失敗レポートの送信条件
0:全ての認証がpassでなかった場合
1:いずれかの認証がpassでなかった場合
d:DKIMに失敗した場合
s:SPFに失敗した場合adkim r / s DKIMのアライメントモード
r:サブドメインでの一致でも可
s:ドメインが完全に一致する必要があるaspf r / s SPFのアライメントモード
r:サブドメインでの一致でも可
s:ドメインが完全に一致する必要があるpct 0〜100(デフォルトは100) DMARCポリシーを適用するメールの割合
上記の他にも設定できる任意のタグがありますが、「vタグ」と「pタグ」は必ず設定が必要です。
設定が完了したら、実際にメールを送ってみましょう。すべての受信サーバーがDMARCに対応できている訳ではありませんが、GmailやOutlook.comをはじめとした、大手プロバイダはDMARCに対応しています。メールを受信したらメールソースを確認して「Authentication-Results」ヘッダの値を確認することで動作確認を行うことができます。
DMARCの普及状況
DMARCはまだまだ普及が進んでいない技術です。DMARCの普及状況と、普及が進まない理由について解説します。
DMARCの普及状況
DMARCは2011年に仕様が策定され、海外を中心に普及が進んできました。一方、国内での普及はまだまだ進んでいません。
ドメインに対する送信ドメイン認証の設定状況から普及率を見ると、総務省が公開している調査結果(※1)では、2023年6月時点でメール送信に利用されていると考えられるJPドメイン数約143万件のうち、SPFの設定数はおよそ115万件で約80.9%、DMARCの設定数はおよそ9.4万件で約6.6%となっています。2019年時点ではDMARCはおよそ1万件で約0.8%だったため、ここ数年で増加しているものの依然として非常に低い水準となっています。
DKIMはドメイン名からだけではDKIMレコードの設定状況を正確に把握することができないため、DKIMの普及状況に関する調査結果は上記調査においては公開されていません。
※1:「総務省|電気通信消費者情報コーナー|迷惑メール対策」統計データ>JPドメイン名の種別ごとにおける送信ドメイン認証技術の設定状況 https://www.soumu.go.jp/main_sosiki/joho_tsusin/d_syohi/m_mail.html#toukei (2023/10/17確認)
DMARCの普及が遅れている理由
優れた送信ドメイン認証技術であるDMARCの普及が進まない理由は何でしょうか。DMARCの普及が進まないとされている理由は以下の通りです。
- DMARCを使うには受信側もDMARCに対応している必要がある。
- 通信の秘密を侵害すると考えられている。
- ドメインごとにレポートを送受信するため負荷が掛かる
- 認知度不足
送信側がDMARCを導入しても受信側がDMARCに対応していなければ効果がありません。ただし2022年頃からGmailやYahoo!メール、Microsoftと大手メールサービスプロバイダがDMARCに対応するようになったため、現在であればDMARCを導入することでしっかり効果が得られると考えられます。
また、DMARCの仕様上、ISPなどの第三者がメールの検証結果を知り得てしまうため、通信の秘密を侵害すると考えられてきました。しかし、総務省はDMARC導入に関する法的な留意点を発表しており、当事者が同意している場合や、特定の条件を満たす場合には違法性が阻却され、正当な業務行為であるとしています。(※2)
最もDMARCの普及を妨げているのは、「認知度不足」であると考えられており、DMARCの認知度向上は大きな課題となっています。しかし2023年7月に「政府機関等の対策基準策定のためのガイドライン」※3 にメールのなりすまし対策としてDMARCが掲載されたことで、徐々にDMARCの認知は広がりつつあると考えられます。
※2:DMARC導入に関する法的な留意点 https://www.soumu.go.jp/main_content/000495390.pdf(2022/04/15確認)
※3:内閣サイバーセキュリティセンター「政府機関等のサイバーセキュリティ対策のための統一基準群」 https://www.nisc.go.jp/policy/group/general/kijun.html(2023/10/17確認)
まとめ
自ドメインが悪意のある第三者によってなりすましに利用されることを防ぎ、ドメインの信頼性を高めるためにDMARCの導入は非常に有効です。DMARCのポリシーを設定することによって、ビジネスシーンにおいて日々メールを送る取引先企業や顧客など、受信者を危険なメールから守ることに繋がります。国内ではまだまだ認知度が低く普及が遅れている技術ではありますが、GoogleやYahoo!メール、Microsoftなども既にDMARCに対応しており、今後国内でもDMARCの導入は当たり前になってくると考えられます。この機会に、DMARCの導入を検討してみてはいかがでしょうか。