
DMARCとは?DMARCの設定と運用方法を分かりやすく解説!
近年、企業や組織を狙った「なりすましメール」が急増し、その手口は年々巧妙化しています。被害額も拡大の一途をたどる中、いま注目されているのが、送信元ドメインの正当性を確認する「DMARC(ディーマーク)」と呼ばれる送信ドメイン認証技術です。DMARCは、なりすましメールなどの脅威から送信者と受信者の双方を守る有効な手段として国際的な標準となっており、日本でも導入が進んでいます。
本記事では、DMARC初期段階の設定からなりすましメールを排除する最終的な段階に至るまでの設定と運用方法について解説します。
目次[非表示]
- 1.電子メールを取り巻く課題
- 2.DMARCとは
- 3.DMARCの初期設定
- 3.1.前提条件:SPFとDKIMの設定
- 3.2.初期設定:DMARCレコード
- 3.2.1.DMARCレポート受信メールアドレスの準備
- 3.2.2.DMARCレコードの作成
- 3.2.3.DMARCレコードをDNSに登録する
- 3.2.4.DMARCレポート受信アドレスが別ドメインの場合の追加設定
- 4.メール受信状況の確認
- 4.1.準備:自組織メール送信元IPアドレスを列挙する
- 4.2.DMARCレコードの分析:認証が成功・失敗しているケースの確認
- 4.2.1.自組織サーバーからの配信状況確認
- 4.2.2.認知していない配信元サーバーの状況確認
- 5.DMARCポリシーを厳格化する
- 5.1.DMARCポリシーを変更する
- 5.2.DMARCポリシー変更後の分析
- 5.2.1.自組織サーバーからの配信状況の変化
- 5.2.2.認知していない配信元サーバーからの配信状況の変化
- 5.3.DMARCポリシーを更に厳しくする
- 6.なりすましメールがない世界へ
電子メールを取り巻く課題
近年、「なりすましメール(フィッシングメール)」による被害が深刻化しています。例えば、取引先を装った偽メールによる不正送金や社内システムにおける認証情報の窃取など、メールを悪用した攻撃は後を絶ちません。こうした被害を防ぐには、送信側と受信側の双方で「このメールは正しい送信者から配信されているか」を確認し、適切な対策を講じる必要があります。
なりすましメールを排除するためには、以下の2つの対応が不可欠です。
- 送信側は、送信者当人である(なりすましでない)ことを証明する
- 受信側は、送信者が当人であるか確認し、なりすましのメールを拒否する
しかし、従来のメールの仕組みでは「送信者が本当に本人かどうか」を確実に証明する方法が不十分でした。送信者側はメールの設定ミスやシステムの構造・運用の違いにより本人確認がうまくできないケースも多く、受信側も間違って正当なメールを拒否するリスクがあるため、簡単には拒否できませんでした。
DMARCとは
DMARC(Domain-based Message Authentication, Reporting & Conformance)は、迷惑メールや「なりすましメール」による被害を防ぐための認証技術の一種で、送信されたメールの発信元が正当なものであるかを確認することで、不正なメールの偽装を防止します。以下の3つの要素によって「なりすましメール」の排除をより確実におこなうことができます。
- より強力な本人確認(SPFとDKIMの組み合わせ)
- なりすましメールの処理(受信側への指示)
- 受信側からのフィードバック(レポートによる確認と改善)
特に、大規模なシステムや複数の担当者が管理・運用している環境では、SPFやDKIMの設定作業に時間がかかり、管理も複雑になりがちです。しかし、DMARCの仕組みを活用することで、設定ミスや不備を少しずつ洗い出しながら、安全なメール運用に近づけることが可能です。
DMARCの初期設定
DMARCの運用を開始するにあたり、あらかじめ前提条件の確認と初期設定をおこなう必要があります。
前提条件:SPFとDKIMの設定
DMARCを有効に機能させるには、送信ドメインに対してSPFおよびDKIMが正しく設定されている必要があります。これらが正しく設定されていることがDMARCを設定するための前提条件となります。SPF、DKIMの基本的な仕組みや設定方法については、以下の記事で詳しく解説していますのでご参照ください。
DMARCは、SPFとDKIMの組み合わせでその認証がおこなわれます。DMARC認証を通過する組み合わせについては、以下の表を確認しましょう。Envelope-From:およびHeader-From:については、以下の記事で詳しく解説しておりますのでご参照ください。
システムの状態 |
SPF条件 |
DKIM条件 |
解説 |
|
自社SMTPサーバから送信する場合 |
Envelope-From:とHeader-From:が同じドメインの配信環境 |
SPF認証 |
不問(※) |
この条件を満たしたSPFを「SPFアライメントがとられている」状態と表現されます。 |
外部サービスから送信する場合 |
Envelope-From:とHeader-From:が異なるドメインの配信環境 (例)
|
不問(※) |
作成者署名で認証 |
作成者署名で認証が通る状態を「DKIMアライメントがとられている」状態と表現されます。 |
※DMARCの仕様上、SPFアライメントもしくはDKIMアライメントのいずれか一方が成立していれば認証は成功します。しかし、メール送信先がDMARCに対応していない場合があるため、SPF・DKIMの両方を正しく設定しておくことが必須とされています。
なお、本解説ではDMARCの評価基準を示していますが、以下のようなDMARC以外の要素も評価対象となります。
- SMTPサーバのAレコードおよびPTRレコードが設定されていること
- 同一の送信メールアドレスからの配信数に対して、メール受信者が「迷惑メール報告」の割合が低いこと
- SPFをHeader-From:のドメインにも設定されていること
これらの条件が成立しない場合も、受信拒否や迷惑メールへの分類の理由となるため、DMARCとあわせて設定確認・修正をおこないましょう。
初期設定:DMARCレコード
SPFおよびDKIMの設定を完了後、DMARCレコードの初期設定を行います。以降の解説ではDMARCレポートの分析や運用に関する概要をお伝えしますが、DMARC分析サービスを利用するとDMARCの分析・運用業務をより容易におこなえます。
DMARC分析サービスは海外製を含め多数存在しますが、日本の企業が提供するサービスでは株式会社リンクのDMARC解析レポートツールが代表的です。
DMARCレポート受信メールアドレスの準備
DMARCレポートとは、DMARCの主要な機能の一つである「受信側からのフィードバック(レポートによる確認と改善)」機能です。レポートの受信と分析はDMARCを設定する上で必須ではありませんが、なりすまし対策を効果的に進めるうえで極めて重要な情報源となります。DMARC導入の初期段階からDMARCレポートを受信する専用のメールアドレス(例:dmarc-report@自社ドメイン)を新たに用意することを強くおすすめします。業務用のメールアドレスと混在させないことで、運用管理がラクになります。
DMARCレコードの作成
DMARCレコードとは、「なりすましメールの処理」や「受信側からのフィードバック」を受けるための設定を表す文字列です。以下のような書式を持つ文字列で構成されており、”;” (セミコロン) で連結します。
基本的な初期設定の例:
解説:
v=DMARC1; |
DMARCの定義であることを表す固定の文字列。 |
p=none; |
DMARC認証に失敗した場合に受信したメールをどう扱うかの指示。
|
rua=mailto:report@example.com |
”mailto:”に続く(左記の例では report@example.com)部分が指すメールアドレスに、DMARCレポートと呼ばれるデータが送信されます。指定を省略することは可能ですが、以降のDMARC運用で重要な情報源となるため、DMARC導入を機会にDMARCレポートを受信するメールアドレスを準備し、DMARCレコードに記述してください。 DMARC分析サービスを利用する際は、DMARC分析サービスの仕様に基づいてDMARCレコードの定義をおこなうようにしましょう。 |
なお、上述以外にもDMARC仕様として様々なパラメータが定義されていますが、DMARC導入の初期段階ではまず上述の基本設定を確実におこない、運用を通じて状況を見ながら調整を加えていきましょう。
DMARCレコードをDNSに登録する
DMARCレコード文字列が準備できたら、メール送信元となるドメイン(メールアドレスの@以降)を管理しているDNSにDMARCレコードとして登録します。
この作業はDNSの操作が必要ですが、一般的にDNSの管理・操作は厳重に管理されているため、DNSを管理している担当者がいる場合は、以下のDNSレコードを登録するよう管理者に依頼しましょう。
項目 |
設定値 |
名前 (ホスト名) |
例: この “example.com” 部分はメール送信元のドメイン名です。設定の際はメール送信元ドメイン名に置き換えて設定してください。 |
タイプ |
TXT (テキスト) |
値 |
例: 例の “report@example.com“ 部分はDMARCレポートを受信するメールアドレスに置き換えてください。 |
DMARCレポート受信アドレスが別ドメインの場合の追加設定
DMARCレポート受信アドレスのドメインと、メール送信元ドメインが異なる場合、DMARCレポート受信アドレスのドメインのDNSに対して以下のDNSレコードを登録する必要があります。
例:
- メール送信元のドメインが example.com
- DMARCレコード受信メールアドレスが report@ruadomain.com
の場合、ruadomain.comのDNSに以下のレコードを登録します。
項目 |
設定値 |
名前 (ホスト名) |
例:
|
タイプ |
TXT (テキスト) |
値 |
v=DMARC1 |
メール受信状況の確認
DMARCレコードの登録からしばらくすると、DMARCに対応したメール送信先からDMARCレポート受信(rua設定)メールアドレスに対して1日に1回以上の頻度でDMARCレポートが送信されます。DMARCレポートは、送信されたメールの実績に基づく統計情報です。そのため、メールを送信していない場合、レポート上には数値が表示されません。また、DMARCレポートには同じ送信元ドメインを使用している他組織の送信実績や、なりすましメールの情報も含まれる可能性があります。DMARCレポートを分析する際は、これらの可能性を考慮して読み解くことが重要です。
DMARCレポートから読み取れる情報は多岐に渡りますが、まずは以下のポイントを確認しましょう。
- 自組織から送信したメールが認証を通っているか、認証が失敗しているか
- 自組織から送信したメールの認証が失敗している場合、その理由は何か
準備:自組織メール送信元IPアドレスを列挙する
メール送信元IPアドレスをSPFレコードから列挙します。例を以下に示します。
- SPFレコードを取得する
別記事に記載の「登録済みSPFレコードの存在確認」をおこない、SPFレコードを取得します。
- SPFレコードから自組織がメール配信に使用するIPアドレスを取得する
SPFレコードにはメカニズム部分にIPアドレスが列挙されているため、それを手元にコピーしておきましょう。メカニズム部分に include: 等で別ドメインのSPFが記述されている場合は、その別ドメインのSPFレコードも上記1. の手順で参照し、IPアドレスを手元にコピーしておきましょう。
また、このIPアドレスのリストは後の作業で頻繁に使用するため、リスト化しておくと良いでしょう。
DMARCレコードの分析:認証が成功・失敗しているケースの確認
DMARCレポートには圧縮ファイルが添付されており、このファイルを展開するとXML形式のファイルが取得できます。まずはGmail(@gmail.com)など、頻繁に送る可能性があるメール送信先からのDMARCレポートに着目してみましょう。
自組織サーバーからの配信状況確認
DMARCレポートに記載されている内容を元に、自組織が送信したメールのDMARC認証の結果を確認します。
- 準備段階で得た自組織のIPアドレスのうちの一つを選び、DMARCレポートファイル内<source_ip>要素にそのIPアドレスがあるかを検索
- 見つかった場合、発見した場所の<row>〜</row>タグに挟まれた範囲内にある<dkim>および<spf>要素の値を確認
要素 |
値 |
解説 |
<spf> |
pass または fail |
passはDMARCとしてSPFが有効であり、SPFアライメントもとられている状態でDMARC認証が通過したことを表します。 failはSPFレコードがDNSに登録されていない場合、SPFアライメントが成立していない場合などDMARCとして認証できないケースが発生しています。 |
<dkim> |
pass または fail |
passはDMARCとしてDKIM署名が有効であり、DKIMアライメントもとられている状態でDMARC認証が通過したことを表します。 failはDKIM署名がない場合、DKIMアライメントがとられていないDKIM署名(第三者署名)、署名検証に失敗などDMARCとして認証できないケースが発生しています。 |
- SPFアライメントが成立する設定のはずだがfailになっている
- DKIMアライメントが成立する設定のはずだがfailになっている
- <spf><dkim>両方ともにfailになっている
上記いずれかに該当する場合は、<source_ip>が指すメール配信システムにおいてSPF、DKIMの設定に何らかの間違いがあり意図通りの設定となっていない可能性があります。改めて設定の確認、再設定をおこないましょう。
認知していない配信元サーバーの状況確認
DMARCレポートの中にある<source_ip>が自組織とは関係ないIPアドレスが記録されている場合、それはなりすましの送信が発生していたことを表しています。このような状況をなくすことはできませんが、この後に解説する運用を進めることで、メール受信側でなりすましメールを拒否できる状態に近づけることが可能です。
DMARCポリシーを厳格化する
DMARCレコードの分析と設定の確認・修正を一定期間続けることで、認知しているIPアドレスからの配信はDMARC認証を安定して通過する状態が整ってきます。これをDMARCレポートの分析を通じて確認できた場合、次のステップとして「DMARCポリシー」の厳格化を検討しましょう。
DMARCポリシーを変更する
DMARC運用の初期段階では、DMARCレコードの「p=none;」を設定し、DMARC認証が通る・通らないにかかわらず特に何もしないという “none” 設定から運用を開始しました。次のステップではこれを「p=quarantine;」に変更し、DMARC認証が通らない場合は迷惑メールに分類するように、受信側に指示します。DMARCポリシーを厳格化すると、自組織からのメール配信はDMARCに対応できているため問題なく届きますが、なりすましメールは受信側によって迷惑メール扱いになります。
前述の「DMARCレコードをDNSに登録する」手順で実施したDNSに登録済みのDMARCレコードを「p=quarantine;」に変更しましょう。
項目 |
設定値 |
名前 (ホスト名) |
例: この “example.com” 部分はメール送信元のドメイン名です。設定の際はメール送信元ドメイン名に置き換えて設定してください |
タイプ |
TXT (テキスト) |
値 |
例: 例の “report@example.com“ 部分はDMARCレポートを受信するメールアドレスに置き換えてください |
quarantineポリシーでは、メールは迷惑メールフォルダに振り分けられますが、削除されるわけではないため、万一の場合も確認が可能です。
DMARCポリシー変更後の分析
DMARCポリシーを変更後、例えば1週間に1回マーケティングメールを配信するという周期で運用している場合は、1〜2週間を様子見の期間と定め、メール配信を実施します。その間、上述の「自組織サーバーからの配信状況確認」「認知していない配信元サーバーの状況確認」を適宜おこない、DMARCレポートの内容の変化を観察します。この状況では、以下の2つの状況が観察されることとなります。
自組織サーバーからの配信状況の変化
自組織サーバーIPアドレスからの配信にて以下のような状況になっている場合は、設定変更に伴うメール不達が発生していないことを表しています。
- <disposition>要素の状態は “none”
- <dkim>もしくは<spf>いずれかの状態は “pass”
もしも<disposition>が “quarantine” となってしまった場合は、SPF・DKIMの設定がまだ十分にできていない可能性があります。自組織IPアドレスを元に、どのシステムがこのメールを送信しているかを確認し、SPF・DKIMの設定を修正しましょう。
認知していない配信元サーバーからの配信状況の変化
自組織が認知していないサーバーIPアドレスからの配信は、従来<disposition>が “none” になっていたものが “quarantine” に変わっていれば、設定変更は大成功です。なりすましメールは迷惑メール判定を受けるようになりました。
DMARCポリシーを更に厳しくする
「DMARCポリシーを変更する」対応で迷惑メールに分類されるようになったことが確認でき、かつ、自組織からのメールは従来通り受信されている状態をDMARCレポートから確認できたら、最後の仕上げをおこないます。
DMARCポリシーを更に厳しい設定である「p=reject;」に変更しましょう。
この設定変更をおこなうことで、なりすましメールと受信側が判定するとメールの受信を拒否するようになります。
なりすましメールがない世界へ
本記事では、メールのなりすまし対策として注目される「DMARC」について、その仕組みから設定・運用方法までをご紹介しました。DMARCの運用が適切に進み、理想的な状態に到達すると、メール受信者がなりすましメールを目にすることはほとんどなくなります。このような状態は、メール送信者のセキュリティリスクの低減につながり、メール受信者の利便性も向上します。また、メール受信システムはなりすましメールを迷惑メールフォルダに保持する必要がなくなるなど、メールシステム全体の効率化にも貢献します。
さらに、メール配信においてDMARCの設定が一般的になると、なりすましメールを送ること自体が送る者にとって合理的な手段ではなくなります。最終的にはなりすましメールの送信数が落ち込むようになるでしょう。インターネットを利用するすべての人々にとって有益な状態へとつながります。ご紹介した通り、DMARCを運用するにはさまざまな処置が必要となりますが、これは安全なインターネットメール利用環境を実現するための大切な一歩です。
まずは、ご自身のドメインでSPF・DKIMの設定状況を確認することから始めてみましょうDMARCの設定を一つずつ適切におこない、より良いビジネス環境、インターネット環境につなげていきましょう。
なお、メール配信サービス「アララ メッセージ」では、DMARCはもちろん、SPFやDKIMにも対応した高いセキュリティ水準のメール配信が可能です。
なりすましメール対策でお困りの方は、ぜひお気軽にご相談ください。
導入事例はこちら
関連コラム