DMARCとは?メリットや設定方法、DMARCレポートの読み方について徹底解説
メールの普及にともない、有名な企業の名称を語り「なりすましメール」を送る悪質業者が増えています。これにより、送信ドメインの認証が重要視されるようになりました。
DMARCは、電子メールの認証プロトコルであり、フィッシング詐欺やスパムメールのような不正なメール送信を防ぐための技術です。SPFとDKIMの認証結果に基づいて、メールが正規の送信者から来たものであるかを判断し、適切に処理するためのポリシーをドメイン所有者が設定できるようにします。
これらのメール認証技術によりメールの送信元がなりすましではなく正しいものであることが証明できます。
今回の記事では、送信ドメインの認証技術の基本的な知識から、DMARCのメリットや設定方法、DMARCレポートの読み方について徹底解説します。
DMARCとSPF、DKIM
送信ドメインの認証技術には、DMARCとSPF、DKIMが使われています。ここからは、DMARCの基礎知識とSPF、DKIMとの関係性などについて確認していきましょう。
DMARCとは
DMARCは、電子メールにおけるドメインの認証を強化し、フィッシングやスパムなどの不正なメール送信を防ぐための技術規格です。
既存の認証技術であるSPFとDKIMを基礎にして構築されました。SPFとDKIMでの認証をもとに、送信元アドレスを検証し送られたメールが信頼できるものか精査します。
DMARCポリシーとは
DMARCポリシーは、DMRAC認証に失敗した際、そのメールの処理について受信側のサーバーに対して示す方針のことです。
受信側では、DMRACポリシーに基づき、失敗したメールの処理を行います。
DMARCレコードとは
DMARCレコードとは、ドメインのDMARCポリシーをDNSのTXTレコードに記載したものです。
DMARC認証に失敗、または成功したメールをどうするのかを指定します。
SPFとは
SPFとは、メールの送信元ドメインを偽っていないかを検査する仕組みです。
インターネットでメールを送信する時はSMTP(Simple Mail Transfer Protocol)が使用されますが、このプロトコルはfromアドレスを自由に設定できます。この点を悪用すると、送信元を偽ってなりすましメールを簡単に送信できるのです。SPFは、このようななりすましを防止するための認証技術であり、DNSを利用して認証するという特徴があります。
DKIMとは
DKIMとは、電子署名を検証し、メール本文の改ざんやなりすましをしていないかを検知する仕組みです。
送信元がメールを送信する時は電子署名を行い、受信者がその電子署名の検証を行うことで不正メールを検知できます。
送信者がメールに署名するためには「秘密鍵」、受信者が署名を検証するためには「公開鍵」の2つの鍵が必要です。
DMARCとSPF、DKIMの関係性
前述した通り、DMARCとSPF、DKIMは送信ドメインの認証技術です。それぞれの特徴を以下にまとめました。
特徴 | |
DMARC | SPF、DKIMの認証に失敗したメールを管理する |
SPF | メールの送信元ドメインを偽っていないかを検査する |
DKIM | メール送信者がメール本文の改ざんやなりすましをしていないかを検知する |
DMARCは、SPFとDKIMの認証に失敗した時の対応策を定義したものです。
つまり、DMARCを設定するためにはSPFとDKIMの設定が不可欠であり、SPFとDKIMと連携して、メールセキュリティを強固にしています。
Gmail宛のメールにがSPF、DKIM、DMARCの設定が必須
2024年2月にGmailのメール送信者ガイドラインがアップデートされました。
「Gmail宛に1日あたり5,000通以上送るメール送信者」はSPF・DKIM・DMARCの設定を行わないと、送信したメールが迷惑メールに振り分けられてしまいます。
メール送信者のガイドライン:https://support.google.com/a/answer/81126
このような背景からもSPF・DKIM・DMARCの送信ドメイン認証は設定すべきだと言えます。
DMARCのメリット
DMARCを設定すると、認証に失敗したメールの処理方法を設定できる、受信者側の認証結果を受け取れるなどのメリットがあります。
詳しく見ていきましょう。
認証に失敗したメールの扱いを送信者側で決めることができる
ドメインの認証チェックに失敗したメールを、どう処理するか送信側で指定できます。処理方法は以下の3つから指定可能です。
- None (無し):メッセージは受信者に配信される。処理方法について指定できる。
- Quarantine (隔離):メッセージは隔離フォルダに移動される。
- Reject (拒否):メッセージの配信を拒否する。
3のReject(拒否)を指定すると、ドメインの不正使用やなりすましを防止できます。
しかし、DMARC認証の誤判定によって正規のメールであっても受信されない場合があるため注意しましょう。Noneを指定して受信者が処理を決めるという方法も有効です。
受信者側での認証の結果を送信者側が受け取れる
DMARCを設定すると受信者側の認証結果レポートを送信側が受け取れます。なお、レポートで表示されるのは以下の4つです。
- 認証に失敗したメールをどのように処理したか
- DMARC認証に成功したメール割合
- DMARC認証に失敗したサービスやメール送信元のサーバー
- メールを送信しているサービスやサーバー
第三者署名を拒否できる
第三者署名とは、サービスプロバイダーがメールの署名を行うことです。メールマーケティングを行う企業が利用するメール配信サービスを利用すると、第三者署名が使用されることが多いでしょう。手軽に利用できる署名ですが、fromドメイン名とメールサーバーのドメイン名の一致までは認証できません。
DMARCには、この第三者署名を拒否できる機能があります。より、高い安全性を確保できるのもDMARCを設定するメリットといえるでしょう。
DMARCの設定方法
DMARCの設定には、SPF、DKIMの設定が不可欠です。それぞれの設定が正しくないと正常に機能しません。一つ一つ確認していきましょう。
SPFを設定する
はじめに、SPFの設定を行います。SPFを設定するには、送信者側のDNSにSPFレコードを設定しなければなりません。SPFはTXTテキストで登録します。SPFレコードを記載し、公開することでSPFの設定は完了です。
SPFレコードを記載する際は、以下の要素が必要です。
- バージョン番号:v=spf1
- 機構:a、include、mx、ptr、all、ip4・ip6
- 限定子:+、-、~、?
なお、情報を詳しく示してくれる修飾子という要素もあり、redirect、expなどと表現されます。必須ではありませんが最大2個までレコードの末尾に一度だけ記述可能です。
上記の要素は次のように配置されます。
ドメイン IN TXT(バージョン番号)(限定子)(機構)IPアドレス
実際の記述例は以下の通りです。
a.example.com. IN TXT “v=spf1 -all”
b.example.com. IN TXT “v=spf1 +ip4:192.0.2.1 -all”
c.example.com. IN TXT “v=spf1 +ip4:198.51.100.1/28 ∼all”
引用:2023年2月迷惑メール対策推進協議会送信ドメイン認証技術導入マニュアル第3.1版
DKIMを設定する
DKIMは、暗号化された情報を開くために鍵が必要になる公開鍵暗号化技術の認証方式です。公開鍵は幅広い利用者に公開され、秘密鍵は特定の利用者のみが知る鍵となります。
送信側のドメインのDNSサーバーに、署名に利用する公開鍵を公開する設定を行います。公開鍵の情報は以下のようなTXTレコードで登録します。
<selector>. domainkey.<ドメイン名>
なお、公開鍵を設定する時は解読されるリスクを踏まえると、1024bit以上の長さがおすすめです。上記の公開鍵を登録したら、DKIMレコードを記述します。記述例は以下の通りです。
sls. domainkey.example.com. IN TXT “v=DKIM1; k=rsa; t=y; p=MIGfMA0GCSqGSI. . .<省略>”
引用:2023年2月迷惑メール対策推進協議会送信ドメイン認証技術導入マニュアル第3.1版
電子署名を作成する
SPF・DKIMの設定後は、電子署名の作成です。送信側でヘッダおよびメール本文の内容を基に作成した電子署名の情報は「DKIM-Signature」ヘッダとして付与します。電子署名を作成したら、DKIM-Signatureヘッダをメールに追加します。
電子署名の作成手順は次の通りです。
1.電子署名を作成する対象となるか確認する
2.電子署名を作成する対象となるヘッダを決定し、hタグに列挙する
3.メール本文の内容からlタグに指定した長さを取り出し、正規化処理を実施する
4.対象となるヘッダ、正規化したメール本文の内容、これから追加するDKIM-Signatureヘッダの電子署名のデータを取り除いた部分をつなげたデータに対して、ハッシュを作成する
5.ハッシュに対する電子署名を作成し、DKIM-Signatureヘッダのbタグの値として挿入したのち、DKIM-Signature自体を対象メールのヘッダ領域に追加する
引用:2023年2月迷惑メール対策推進協議会送信ドメイン認証技術導入マニュアル第3.1版
なお、電子署名の対象とすべきメールヘッダは「From」ヘッダです。
DMARCレコードを設定する
DMARCレコードは以下の手順で設定します。
1.文頭の_dmarc.の次にメールサーバードメインを入力する
2.p=に認証に失敗した場合のポリシーを以下の3つから1つを選んで指定する
- None (無し)
- Quarantine (隔離)
- Reject (拒否)
3.rua=に集約レポートを受信するメールアドレスを入力する
SPF、DKIM、DMARCに関して、ドメインの管理を外部に委託している場合は委託先の会社に設定を依頼しましょう。
DMARCの設定確認方法
DMARCを正しく設定できたか確認するために、無料で使える便利なツールも用意されています。
DMARC設定済みのサーバーから上記メールアドレスあてにメールを送りましょう。SPF、DKIM、DMARCの3つともpassと表示されればDMARCが正しく設定できたことの確認になります。
また、Gmailからも以下の手順で簡単に確認が可能です。
- 自分宛にメールを配信を行う
- Gmailの受信ボックスを開く
- 本文の右上にある3点リードをクリック
- 「メッセージのソースを表示」をクリック
SPFレコード・DKIM署名・DMARCが正しく機能している場合は、SPF・DKIM・DMARCの項目にPASSと表示されます。
DMARCレポートの設定と読み方
DMARCレポートを正しく設定することで、受信者側の認証結果が分かります。読み方を理解し、メール配信の解析に役立てましょう。
DMARCレポートとは
DMARCレポートとは、受信者側のメール認証結果を送信者側にフィードバックするための機能です。この機能によって自社ドメインを使用してメールを送信中のサーバーや送信中のメールの認証状況が分かります。
DMARCレポートは、通常1日に1回のペースで指定されたメールアドレスに送信されます。DMARCレポートを受け取りたいメールアドレスの指定が必要です。
レポートは、メールを受信したサーバーごとに配信されます。日々届くレポートの数は、この届いたサーバー数によって変動するのです。多くのメールを受信すると、レポート数も増えます。レポート専用の受信フォルダを作成し、管理するとよいでしょう。
DMARCレポートの種類
DMARCレポートには主に以下の2種類があります。
集約レポート(Aggregate reports)
これらのレポートは、XML形式で提供され、ドメインのメール認証の成功率や失敗の詳細、認証に失敗したメールの取り扱い(例:拒否、隔離)、送信元のIPアドレス、使用されたメール認証方法(SPFやDKIM)などの情報を含みます。
集約レポートは通常、日次で送信され、メールフローの全体的な傾向とパターンを把握するのに役立ちます。
フォレンジックレポート(Forensic reports)
これらのレポートは、DMARCポリシー違反が発生した際に、違反したメールの具体的な詳細を提供します。
フォレンジックレポートは、認証に失敗したメールの完全なヘッダー情報や、場合によってはメール本文の一部を含むことがあります。これらのレポートは、特定のセキュリティ違反や認証問題を解析し、修正するのに役立ちます。
DMARCレポートの読み方
レポートはXML形式で送信されます。また、レポートは毎日更新され内容もさまざまです。ここでは、代表的な形式について紹介します。
1.レポートに関する情報
<org_name> | レポーターの名称 |
<report_id> | レポートID |
<date_range> | 集計期間 |
2.公開しているDMARCレポートの使用について
<domain> | 対象のドメイン |
<adkiim> | DKIMのアライメントモード |
<aspf> | SPFのアライメントモード |
<p> | DMARCポリシー |
<sp> | サブドメインに対するポリシー |
<pct> | DMARCポリシーを適用するメールの割合 |
<fo> | 失敗レポートを送信する条件 |
3.受け取ったメールの送信元IPと認証結果について
<source_ip> | 送信元IPアドレス |
<count> | 集計期間に送信された回数 |
<policy_evaluated> | 認証結果の概要 |
<disposition> | メッセージに適用されたポリシー |
<dkim> | DKIM認証の結果 |
<spf> | SPF認証の結果 |
<identifiers> | 識別子 |
<header_from> | ヘッダfrom |
<domain> | DKIM認証を行ったドメイン |
<selector> | セレクタ |
<result> | アライメントの結果 |
<domain> | SPF認証を行ったドメイン |
<result> | アライメントの結果 |
レポートの読み取りには、解析ツールも用意されています。ツールを利用すれば専門的な知識がなくても読み取りが可能です。
メール配信はDMARCが設定できるシステムを利用する
DMARCやSPF、DKIMなどのメール配信の課題を解決するためには、専用のメール配信システムを利用することが最適です。メール関連の作業は複雑で分かりにくいため、自社内でエンジニアを雇っていても問題解決には時間がかかるでしょう。
さらに、メールの配信に問題が続いてしまうと、ビジネスにとって致命的な状況になります。そのため、月額料金が安く、実績のある信頼できるサービスを利用することをおすすめします。
メールの利用シーンは大きく3つあります。
- 会員登録時や決済情報の通知などに使用するシステムメール
- 社内のSMTPサーバの代替として利用するSMTPメール
- メルマガ配信などの一斉送信
1つ目と2つ目の場合、SMTPリレーサービスの「ブラストエンジン(blastengine)」を活用することがおすすめです。3つ目のケースでは、シェア1位のメール配信システム「ブラストメール」を利用することが最適です。
それぞれの詳細について、以下で詳しく説明します。
SMTPリレーサービス「ブラストエンジン(blastengine)」の活用
ブラストエンジンは、SMTPリレーサーバーを使用して、簡単に大量のメールを高速配信することが可能です。さらに、メールサーバーを必要とせず、API経由でメールを送信する仕組みも提供しています。
ブラストエンジンは、サーバーの運用やメンテナンスを行っているため、常に高いIPレピュテーションを維持しながら、安全にメールを送ることができます。
以下のような課題がある場合は、ブラストエンジンの利用を検討してみることをおすすめします。
- 自社のIPアドレスやドメインがブラックリストに登録されていて、メールが届かない場合
- 国内キャリアにメールが届かず、対応方法がわからない場合
- 自社でメールサーバーを管理・運用したくない場合
また、ブラストエンジンは各メールプロバイダーや携帯キャリアのドメインに最適化されており、大規模なネットワークを経由してメール配信を行うことで、日本国内での到達率を圧倒的に高めています。SPF・DKIM・DMARCの設定ももちろん可能です。
利用料金は月額3,000円からとコストパフォーマンスにも優れており、メールだけでなく、日本語での電話サポートにも対応しています。
メールアドレスの入力のみで無料トライアルが可能ですので、まずは気軽にお試しください。
シェア1位のメール配信システム「ブラストメール」の活用
ブラストメールは、13年連続で顧客導入シェア1位を獲得している信頼性の高いメール配信システムです。ブラストエンジンとは異なり、メルマガなどのメール一斉送信に利用することができます。
このメール配信システムの特徴は、使いやすさとコストパフォーマンスの高さです。さまざまな業種や官公庁でも利用されており、定番のメール配信システムとして広く知られています。
SPF・DKIM・DMARCなどの迷惑メール対策機能はもちろん、セグメント配信や効果測定、HTMLメールエディタなど、基本的な機能がすべて揃っています。最も安いプランでも、月額4,000円以下で導入することができます。
シンプルで安価なため、初めてメール配信システムを利用してみたい方にもおすすめです。無料トライアルも用意されているので、まずは試してみることをお勧めします。
まとめ
DMARCは、なりすましなどのメールを利用した詐欺を防止する強力な技術です。メールによるさまざまな脅威に対処できるため、現代では幅広い業界の企業が導入しています。
定期的に配信されるDMARCレポートは、エラーやメール未達などの状況を把握できます。対応次第で、到達率アップにもつながるでしょう。