BLOG ベアメールブログ
2024.07.05 (金)
メール用語解説DMARCのサブドメインへの影響とは? spタグの機能や推奨設定、DMARCレポートでの確認方法を解説
Last Updated on 2024.08.1
DMARC(Domain-based Message Authentication, Reporting & Conformance)は、メールのヘッダFromのドメインを認証することで、なりすましメールを防止する送信ドメイン認証技術です。DMARCは影響範囲が対象のドメイン全体からサブドメインにまで及ぶため、影響をよく理解した上で適切な設定を行う必要があります。
本記事では、DMARCのサブドメインに対する影響を中心に、spタグや推奨される設定、DMARCレポート上でのサブドメインの確認方法などについて詳しく解説します。
目次
DMARCポリシーにおける組織ドメインとサブドメイン
まずは前提となる基礎知識として、組織ドメインとサブドメインの関係、DMARCポリシーとspタグの機能について簡単に説明します。
組織ドメインとサブドメイン
組織ドメイン(親ドメイン)とは、一般に一つの組織や企業を代表するドメイン名です。組織ドメインはその組織のDNS階層における最上位のドメインとなり、サブドメインは同一のDNS管理下に属します。
例:
組織ドメイン:example.com
サブドメイン①:mail.example.com
サブドメイン②:shop.example.com
DMARCポリシーとは
DMARCは、DMARC認証に失敗したメールを受信者がどのように扱うべきか、DMARCポリシーによって指定することができます。DMARCレコードのpタグ(ポリシータグ)で指定することができ、受信者は定義されたポリシーに従ってメールを処理します。DMARCのポリシーは以下の3種類です。
none 監視を行うだけで、認証失敗時もそのまま配信する quarantine 認証失敗時は不審なメールとして迷惑メールフォルダなどに隔離する reject none 監視を行うだけで、認証失敗時もそのまま配信する
quarantine 認証失敗時は不審なメールとして迷惑メールフォルダなどに隔離する
reject 認証失敗時は不審なメールとして強制的に削除する
spタグとは
DMARCレコードのspタグ(サブドメインポリシータグ)は、サブドメインに対して組織ドメインとは異なるポリシーを指定するためのものです。
spタグを利用することで、組織ドメインには「reject」ポリシーを設定しても、サブドメインに対しては「quarantine」や「none」ポリシーを適用することができます。
例:
v=DMARC1; p=none; sp=reject; rua=mailto:dmarc-reports@example.com; ruf=mailto:dmarc-failures@example.com
この例では、組織ドメイン(example.com)のポリシーは「none」に設定されていますが、サブドメインに対しては「reject」ポリシーが適用されます。
ただし、spタグはすべてのサブドメインに対して適用されるため、個々のサブドメインに異なるポリシーを設定することはできません。サブドメインごとに異なるDMARCポリシーを設定したい場合は、そのサブドメインに対し独自のDMARCレコードを設定する必要があります。
サブドメインに対するDMARCポリシーの適用パターン
サブドメインに対してDMARCポリシーがどのように適用されるのか、以下3つのパターンに分けて説明します。
① 組織ドメインのポリシーを継承する場合
② spタグを使用し、組織ドメインと異なるポリシーを適用する場合
③ サブドメイン個別に設定する場合
組織ドメインのポリシーを継承する場合
デフォルトでは、組織ドメインに設定されたDMARCポリシーはすべてのサブドメインに適用されます。例えば、組織ドメインにp=rejectが設定されている場合、その配下のサブドメインにも同じポリシーが適用され、不正と判定されたメールは拒否されます。
この設定では、管理をシンプルにでき、組織ドメイン内でのメールセキュリティの一貫性が確保される一方で、まだ認証の準備が整っていないサブドメイン環境があった場合、正当なメールであるにもかかわらず拒否されるリスクがあります。
spタグを使用し、組織ドメインと異なるポリシーを適用する場合
組織ドメインでspタグを使用することで、サブドメインに対して組織ドメインとは異なるポリシーを適用することができます。例えば、組織ドメインにはp=noneを設定し、サブドメインにはsp=rejectを設定するなど、状況に応じてサブドメインに対するポリシーを調整できます。
ただし、繰り返しになりますがspタグはすべてのサブドメインに対しての適用となるため、サブドメインごとに異なるポリシーを運用することはできません。異なる用途で使用しているサブドメインが複数ある場合は、個々のサブドメインにDMARCレコードを設定する方が運用を最適化しやすいでしょう。
サブドメイン個別に設定する場合
各サブドメインに対して個別のDMARCレコードを設定することで、サブドメインごとに異なるポリシーを適用することが可能です。例えば、mail.example.comには個別にp=quarantineを設定し、shop.example.comは親ドメインで指定したサブドメインポリシーに従うようにするなど、それぞれの用途や状況に応じた適切なポリシーを設定できます。
各サブドメインに対して最適なポリシーを設定できるため、セキュリティと運用のバランスを取りやすいというメリットがあります。ただし、管理対象となるサブドメインが多い場合は管理負担が大きくなるため注意が必要です。
DMARC運用におけるサブドメインの管理
サブドメインが複数ある場合、セキュリティと運用のバランスを取るためにはどのように設定するのが良いのでしょうか。ここではサブドメインに関するセキュリティ上の懸念と、推奨される設定について解説します。
サブドメイン悪用の危険性
DMARCポリシーが適用されていないサブドメインはなりすまし攻撃のターゲットになりやすく、フィッシングメールの送信元として悪用される危険性があります。
過去には、linkedin.example.comというような形で、他社ドメインのサブドメインを悪用してLinkedInからのメールのように見せかける、大規模ななりすましキャンペーンが行われたこともあります。(※)
※参考:dmarcian「Subdomain Abuse Goes Mainstream」https://dmarcian.com/sub-domain-abuse-goes-mainstream/ (2024/7/5 確認)
もし自社のサブドメインをなりすましに悪用され、大量のスパムメールを送信されてしまうと、親となる組織ドメインのレピュテーションにも悪影響が及ぶ恐れがあります。
組織ドメインとサブドメインのレピュテーションの影響関係については、受信側のメールサービスプロバイダやキャリアのポリシーに依存するため明言できませんが、サブドメインでのメール配信が原因で組織ドメインもまとめてブラックリストに登録されてしまうというケースもあるため、警戒するに越したことはないでしょう。
また、なりすましメールの影響による「Gmailの送信者ガイドライン」への抵触のリスクも考えられます。
Gmailのガイドラインでは組織ドメイン単位でメールの配信数をカウントするため、サブドメインをなりすましてスパムメールを配信された場合、自社が1日5,000通以上Gmailに配信したことがなくても、一括送信者としてみなされてしまう可能性があります。自社は該当しないから、と一括送信者の要件をクリアしていなかった場合、ガイドラインに準拠していないことを理由に組織ドメインでのメール配信もGmailにブロックされてしまう恐れがあります。
Gmailの送信者ガイドラインについて詳しくはこちらの記事で解説しています。
2024年2月以降Gmailに送信するための新要件とは? 新しい送信者ガイドラインへの対応策 | ベアメールブログ
推奨される設定と運用
自社のドメインのサブドメインを悪用されないようにするには、spタグを使って、利用していないサブドメインからのメール配信を防止することが有効です。
サブドメインを使用しない場合
- 組織ドメインでspタグを設定し、サブドメインからのメール配信を許可しない
例:
v=DMARC1; p=none; sp=reject; rua=mailto:dmarc-reports@example.com; ruf=mailto:dmarc-failures@example.com
サブドメインを使用している場合
- 自社で使用している正当なサブドメインに対し、個別にDMARCレコードを設定する
- 組織ドメインではspタグを設定し、DMARCレコードを持たないサブドメインからのメール配信を許可しない
例:
【サブドメイン】
_DMARC.mail.example.com
v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com; ruf=mailto:dmarc-failures@example.com
【組織ドメイン】
_DMARC.example.com
v=DMARC1; p=none; sp=reject; rua=mailto:dmarc-reports@example.com; ruf=mailto:dmarc-failures@example.com
このように設定することで、組織ドメインや個別のサブドメインについてはそれぞれの状況に応じたポリシーを柔軟に適用でき、その上で第三者によるサブドメインの悪用を防ぐことができます。
サブドメインのDMARCレポート
DMARCレポートは、送信ドメインに対するメールの配信状況・認証結果や、ポリシーの適用状況に関する情報を確認できるものです。ここでは、サブドメインのメール配信に関するレポートはどのようになるか、3つのケースに分けて説明します。
① 組織ドメインでsp
タグを使用しない場合
- 組織ドメインのポリシー:p=reject
組織ドメインでsp=
タグを使用しない場合、サブドメインは組織ドメインのポリシーを継承します。この場合、DMARCレポートは以下のようになります。
DMARCレポート:組織ドメインのレポートに、全てのサブドメインのメール認証結果も含まれます。全て同じポリシーが適用されるため、レポートは一貫したポリシー適用結果を示します。
サブドメインのポリシー適用結果:サブドメインから送信されたメールの認証結果は、組織ドメインのポリシーに基づいて評価されます。組織ドメインがp=reject
となっているため、サブドメインのメールが認証に失敗した場合は拒否されます。
② 組織ドメインでsp
タグを使用している場合
- 組織ドメインのポリシー:p=reject; sp=none
組織ドメインでsp=
タグを使用してサブドメインに異なるポリシーを設定している場合、DMARCレポートは以下のようになります。
DMARCレポート:組織ドメインのレポートに、全てのサブドメインのメール認証結果も含まれます。ただし、組織ドメインとサブドメインで異なるポリシーが設定されているため、ポリシーの適用結果はドメインに応じて異なる結果が表示されます。
サブドメインのポリシー適用結果:サブドメインから送信されたメールの認証結果は、組織ドメインのsp=
タグで指定されたポリシーに基づいて評価されます。この場合sp=none
となっているので、サブドメインのメールが認証に失敗してもメールはそのまま配信されます。
③ サブドメインに個別のDMARCレコードを設定している場合
- 組織ドメインのポリシー:p=none; sp=reject
- サブドメインの個別ポリシー:p=quarantine
組織ドメインの他に、特定のサブドメインに対して個別にDMARCレコードを設定している場合、DMARCレポートは以下のようになります。
DMARCレポート:DMARCレコードを設定したサブドメインは、そのサブドメインのDMARCレポートを個別に受信することになり、組織ドメインのレポートには含まれなくなります。
組織ドメインのレポートには、組織ドメインおよびDMARCレコードを設定していないサブドメインの認証結果が含まれます。
サブドメインのポリシー適用結果:サブドメインから送信されたメールの認証結果は、それぞれのサブドメインに設定された個別のポリシーに基づいて評価されます。この場合ではサブドメイン個別のポリシーがp=quarantine
に設定されているので、認証に失敗したメールは迷惑メールフォルダに隔離されます。
また、組織ドメインでspタグも設定されているため、DMARCレコードが設定されていないサブドメインからのメールについては、認証に失敗した場合拒否されます。その適用結果については組織ドメインのDMARCレポートで確認することができます。
DMARC分析ツールにおけるサブドメインの扱い
DMARCレポートはXML形式のファイルとして各メールサービスプロバイダから日々大量に送られてくるため、人の手で集計し分析するのは現実的に困難です。そこでDMARCレポートを自動的に集計し、分析を効率化するサービスがさまざまなベンダーによって提供されています。
DMARC分析ツールの費用は、DMARCレポートの対象ドメイン数に応じた料金体系になっていることが多いです。サブドメインをどのように扱うかはサービスによって異なりますが、サブドメインを多数保持している場合、利用料が非常に高額になってしまうケースもあります。
ベアメール 迷惑メールスコアリングのDMARC分析機能では、サブドメイン個別にDMARCレコードを設定していない場合は組織ドメインのレポートに含まれるため、サブドメインが多数あっても組織ドメインのみの費用で利用することが可能です。
サブドメインの配信状況・認証結果については、ヘッダFromのドメインでフィルタリングすることができるため、組織ドメインに含む場合もサブドメインごとのDMARCレポート分析が可能です。
BIMI導入に向けた組織ドメイン/サブドメインのDMARCポリシー
BIMI(Brand Indicators for Message Identification)とは、ブランドのロゴをメールに表示するための仕組みで、DMARC認証を前提としています。BIMIを導入することで、ブランドの信頼性を向上させるだけでなく、メールの開封率やエンゲージメントも高めることができます。
BIMIについて詳しくはこちらのブログで解説しています。
BIMIとは? 導入のメリットや具体的な設定方法を解説 | ベアメールブログ
本章では、BIMIを導入するための技術的な条件と、サブドメインにBIMIを導入したい場合の注意点について解説します。
BIMI導入の技術的な条件
BIMIを導入するためには、以下の条件を満たす必要があります:
- DMARCポリシー:適用したいドメインと、その組織ドメインに対して
p=quarantine
またはp=reject
のDMARCポリシーを設定していること - DMARCポリシーの適用割合:ポリシーを適用する割合(DMARCレコードにおけるpctタグ)を100%にすること
- DMARC認証の合格:送信するメールがDMARC認証に合格すること
- BIMIレコード:DNSにBIMI用のTXTレコードを追加すること
- ブランドロゴのSVGファイル:ブランドロゴをSVG形式で準備し、BIMIレコードで指定すること
BIMIはDMARCと異なり、組織ドメインにBIMIレコードを設定しても、サブドメインに対しては自動的に適用されません。サブドメインでBIMIに対応したい場合、個別にBIMIレコードを設定する必要があります。
ただしここで注意したいのは、サブドメインだけ先行してBIMIに対応したい場合も、組織ドメインのDMARCポリシーがquarantineもしくはrejectになっている必要がある、ということです。
DMARCポリシーはサブドメインごとに分けて運用することが可能ですが、BIMIの導入を見据えている場合は組織ドメインのポリシー強化も忘れずに行うようにしましょう。
サブドメインにBIMIを導入したい場合の設定例
ここではサブドメインである”marketing.example.com”にBIMIを導入したい場合に、必要となる設定の例を紹介します。
- 組織ドメインのDMARCレコード
_dmarc.example.com TXT “v=DMARC1; p=reject; sp=reject; rua=mailto:dmarc-reports@example.com”
p=reject / quarantine
およびsp=reject
を設定し、組織ドメインとすべてのサブドメインに対して厳格なポリシーを適用します。pctタグについては、設定しなければデフォルトで適用割合が100%ととなるため、明示的に設定しなくても問題ありません。
- サブドメインのDMARCレコード
_dmarc.marketing.example.com TXT “v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@example.com”
自社で使用しているサブドメインには個別にDMARCレコードを設定し、ポリシーを明示的に指定します。BIMIを導入したいサブドメインについては、p=quarantine
またはp=reject
を設定する必要があります。
- BIMIレコード
default._bimi.marketing.example.com TXT “v=BIMI1; l=https://example.com/logo.svg; a=https://example.com/vmc.pem”
導入したいサブドメインにBIMI用のTXTレコードを追加します。BIMIレコードでは、使用するロゴファイルとVMCファイルの場所をURLで指定しています。
これらの設定を適切に行うことで、BIMIの導入を円滑に進めることができ、ブランドの信頼性を向上させることができます。
まとめ
DMARCは、メールの送信ドメインを保護し、フィッシングやなりすましを防ぐための重要な認証技術です。サブドメインに対する適切なDMARC設定は、組織全体のメールセキュリティ強化につながります。特に、BIMIの導入を見据えて組織ドメインおよびサブドメインに対してp=quarantine
またはp=reject
までポリシーを強化することが推奨されます。BIMIに対応することで、ブランドロゴをメールに表示し、信頼性とエンゲージメントをさらに向上させることが可能になります。適切な設定と継続的な監視により、安全で信頼性の高いメール環境を実現しましょう。