DMARCポリシーはサブドメインに適用される? sp・npタグの役割と設定例

最終更新日:2026年11月02日 公開日:2024年07月05日
DMARCポリシーはサブドメインに適用される? sp・npタグの役割と設定例

DMARCでは、組織ドメイン(※)に設定したポリシーが、その配下のサブドメインにも適用される場合があります。ただし、サブドメインに独自のDMARCレコードが設定されているかどうかや、組織ドメイン側で指定しているタグによって、適用されるポリシーは異なります。

特にサブドメインのDMARC設定では、「p」「sp」「np」といったタグの役割を理解し、どのケースでどのポリシーが適用されるのかを把握しておくことが重要です。

本記事では、サブドメインにDMARCポリシーが適用される仕組みや、p・sp・npタグの違い、具体的な設定例についてわかりやすく解説します。

※組織ドメイン:サブドメインを含め、同じ管理権限のもとで管理されるドメイン階層のうち、最上位のドメイン。

お役立ち資料のダウンロードページへ移動(『DMARC導入ガイドブック』:基礎知識・認証ポイント、レポートの読み方)

DMARCポリシーはサブドメインにも適用される?

サブドメインに適用されるDMARCポリシーは、サブドメイン自身にDMARCレコードがあるかどうかや、そのサブドメインがDNS上に存在するかどうかによって異なります。

主な適用ルールは以下の通りです。

サブドメインの状態 適用されるDMARCポリシー
独自のDMARCレコードが設定されている既存のサブドメイン そのDMARCレコードのpタグで指定されたポリシー
独自のDMARCレコードが設定されていない既存のサブドメイン 組織ドメインのspタグで指定されたポリシー。spタグがない場合はpタグで指定されたポリシー
DNS上に存在しない(※)サブドメイン 組織ドメインのnpタグで指定されたポリシー。npタグがない場合はsp、spタグもない場合はpで指定されたポリシー

p・sp・npタグの役割については、次章で詳しく解説します。ここではまず、サブドメインの状態に応じてポリシーがどのように決まるのかを見ていきましょう。

サブドメインに独自のDMARCレコードがない場合

サブドメインに独自のDMARCレコードが設定されていない場合でも、DMARCの対象外になるわけではありません。DNS上に存在するサブドメインであれば、組織ドメインのDMARCレコードにspタグが設定されていればそのポリシーが、spタグがない場合はpタグで指定されたポリシーが適用されます。

例えば、組織ドメイン「example.com」に「p=reject」が設定され、spタグが設定されていない場合、独自のDMARCレコードを持たない「mail.example.com」にも「reject」のポリシーが適用されます。

サブドメインに独自のDMARCレコードがある場合

サブドメインに独自のDMARCレコードが設定されている場合は、そのレコードのpタグで指定されたポリシーが適用されます。組織ドメイン側にspタグが設定されていても、サブドメイン自身のDMARCレコードが優先されます。

例えば、組織ドメイン「example.com」に「sp=reject」が設定されていても、「mail.example.com」に独自のDMARCレコードとして「p=quarantine」が設定されている場合、「mail.example.com」には「quarantine」のポリシーが適用されます。

サブドメインがDNS上に存在しない場合

DNS上に存在しない(※)サブドメインについては、組織ドメインのDMARCレコードにnpタグが設定されている場合、そのポリシーが適用されます。npタグがない場合は、spタグ、spタグもない場合はpタグで指定されたポリシーが適用されます。

※DNS上に存在しないとは、DNS問い合わせに対してNXDOMAINが返される状態を指します。

サブドメインに関連するDMARCのタグ

サブドメインに適用されるDMARCポリシーを理解するうえでは、「p」「sp」「np」の3つのタグの役割を押さえておく必要があります。それぞれのタグが対象とする範囲は、以下の通りです。

タグ 役割
p DMARCレコードを設定したドメインに適用するポリシーを指定する
sp 組織ドメイン配下の、DNS上に存在するサブドメインに適用するポリシーを指定する
np 組織ドメイン配下の、DNS上に存在しないサブドメインに適用するポリシーを指定する

いずれのタグでも、DMARC認証に失敗したメールに対するポリシーとして「none」「quarantine」「reject」を指定できます。

以下では、それぞれのタグの役割と適用ルールについて詳しく解説します。

pタグ

pタグは、DMARC認証に失敗したメールをどのように扱うかを指定するタグです。「none」「quarantine」「reject」のいずれかを指定します。

サブドメインに独自のDMARCレコードが設定されている場合は、そのレコードのpタグが適用されます。また、組織ドメイン側でspタグやnpタグが設定されていない場合は、pタグのポリシーがサブドメインにも適用されます。

spタグ

spタグは、組織ドメイン配下のサブドメインに適用するDMARCポリシーを指定するタグです。「none」「quarantine」「reject」のいずれかを指定します。

対象となるのは、DNS上に存在し、かつ独自のDMARCレコードが設定されていないサブドメインです。サブドメイン自身に有効なDMARCレコードがある場合は、そのレコードのpタグが優先されます。

また、spタグが設定されていない場合は、組織ドメインのpタグで指定されたポリシーがサブドメインにも適用されます。

npタグ

npタグは、DNS上に存在しないサブドメインに適用するDMARCポリシーを指定するタグです。「none」「quarantine」「reject」のいずれかを指定できます。

npタグが設定されていない場合はspタグで指定されたポリシーが適用され、spタグも設定されていない場合はpタグで指定されたポリシーが適用されます。

なお、npタグはRFC 9091で新たに定義されたタグで、現在はRFC 9989に取り込まれています。受信側がnpタグに対応していない場合は、spタグまたはpタグで指定されたポリシーに基づいてメールが処理される可能性があります。

ケース別|サブドメインのDMARC設定例

サブドメインに対するDMARCポリシーの設定パターンは、大きく以下の4つに分けられます。

  1. 組織ドメインと同じポリシーを適用する
  2. サブドメイン全体に異なるポリシーを適用する
  3. 特定のサブドメインに異なるポリシーを適用する
  4. DNS上に存在しないサブドメインに異なるポリシーを適用する

ここでは、組織ドメインを「example.com」として、それぞれの設定例を紹介します。

組織ドメインと同じポリシーを適用する場合

組織ドメインとサブドメインに同じポリシーを適用したい場合は、組織ドメインのDMARCレコードにpタグを設定し、spタグを省略します。

例えば、以下のように設定します。

_dmarc.example.com
v=DMARC1; p=reject;

この場合、「example.com」にはp=rejectが適用されます。また、独自のDMARCレコードを持たない既存のサブドメインについても、spタグが設定されていないため、p=rejectが適用されます。

example.com → reject
mail.example.com → reject
shop.example.com → reject
a.mail.example.com → reject

組織ドメインと同じポリシーを設定するのであれば、spタグを別途設定する必要はありません。RFC9989では、利用可能なspタグがない場合、pタグで指定したポリシーを既存のサブドメインに適用すると定められています。

組織ドメインと同じポリシーを適用する場合

サブドメイン全体に異なるポリシーを適用する場合

組織ドメインと、その配下の既存サブドメインで異なるポリシーを適用したい場合は、spタグを使用します。

例えば、組織ドメインには「none」、サブドメインには「reject」を適用する場合、以下のように設定します。

_dmarc.example.com
v=DMARC1; p=none; sp=reject;

この場合の適用結果は以下の通りです。

example.com → none
mail.example.com → reject
shop.example.com → reject
a.shop.example.com → reject

spタグで指定したポリシーは、独自のDMARCレコードを持たない既存のサブドメインに適用されます。そのため、複数のサブドメインに共通のポリシーを適用したい場合に利用できます。

サブドメイン全体に異なるDMARCポリシーを適用する場合

特定のサブドメインに異なるポリシーを適用する場合

特定のサブドメインにだけ異なるポリシーを適用したい場合は、そのサブドメインに独自のDMARCレコードを設定します。

例えば、組織ドメインには「none」、既存のサブドメインには「reject」を設定しているとします。

_dmarc.example.com
v=DMARC1; p=none; sp=reject;

「mail.example.com」だけ「quarantine」にしたい場合は、さらに以下のDMARCレコードを設定します。

_dmarc.mail.example.com
v=DMARC1; p=quarantine;

この場合、「mail.example.com」には自身のDMARCレコードで指定したp=quarantineが適用されます。一方、独自のDMARCレコードを持たない「shop.example.com」には、組織ドメインのsp=rejectが適用されます。

example.com → none
mail.example.com → quarantine
shop.example.com → reject

なお、「mail.example.com」に設定したp=quarantineは、その配下の「a.mail.example.com」などには適用されません。これらのサブドメインには、組織ドメイン「example.com」のsp=rejectが適用されます。

特定のサブドメインに異なるDMARCポリシーを適用する場合

存在しないサブドメインに異なるポリシーを適用する場合

DNS上に存在しないサブドメインに、組織ドメインや既存のサブドメインとは異なるポリシーを適用したい場合は、npタグを使用します。

例えば、組織ドメインには「none」、既存のサブドメインには「quarantine」、DNS上に存在しないサブドメインには「reject」を適用する場合、以下のように設定します。

_dmarc.example.com
v=DMARC1; p=none; sp=quarantine; np=reject;

この場合の適用結果は以下の通りです。

example.com → none
mail.example.com → quarantine
a.mail.example.com → quarantine
xyz.example.com → reject(※DNS上に存在しない場合)

npタグを利用することで、実際には存在しないサブドメイン名をFromドメインに使用したメールに対して、既存のサブドメインとは異なるポリシーを指定できます。

なお、前述のとおり、受信側がnpタグに対応していない場合は、spタグまたはpタグで指定されたポリシーに基づいて処理される可能性があります。

存在しないサブドメインに異なるポリシーを適用する場合

サブドメインのDMARC設定におけるセキュリティ上の注意点

サブドメインのDMARC設定を行う際には、サブドメインがなりすましに悪用されるリスクを考慮する必要があります。ここでは、安全に運用するために押さえておきたい注意点と対策について解説します。

サブドメインがなりすましに悪用されるリスク

メール送信に使用していないサブドメインや、DNS上に存在しないサブドメインが、なりすましに悪用される可能性があります。例えば、攻撃者が実在するサブドメインをFromドメインとして詐称したり、実在する組織ドメインの配下にあるように見える偽のサブドメインを使用したりして、正規のメールを装うケースが考えられます。

実際にdmarcianは、linkedin.example.orgのような偽のサブドメインをFromドメインとして使用したフィッシング攻撃が広く確認された事例を紹介しています。

サブドメインがなりすましに利用されると、自社ドメインを騙ったフィッシングメールやスパムメールが送信され、受信者に被害が生じたり、ブランドの信頼性を損なったりするおそれがあります。

※参考:dmarcian「Subdomain Abuse Goes Mainstream」https://dmarcian.com/sub-domain-abuse-goes-mainstream/(2026/10/18確認)

推奨される対策

サブドメインのなりすまし対策としては、メール送信に使用していないサブドメインに対して、DMARC認証に失敗したメールを厳しく扱うポリシーを設定することが有効です。

メール送信にサブドメインを使用しない場合

組織ドメインのDMARCレコードでsp=rejectとnp=rejectを設定します。これにより、独自のDMARCレコードを持たない既存のサブドメインと、DNS上に存在しないサブドメインの両方にrejectポリシーを適用できます。

_dmarc.example.com
v=DMARC1; p=none; sp=reject; np=reject;

なお、p=noneは認証状況を確認するための監視用ポリシーです。正規メールがDMARC認証に合格することを確認したうえで、quarantineやrejectへの引き上げを検討しましょう。

メール送信にサブドメインを使用する場合

使用するサブドメインに個別のDMARCレコードを設定し、組織ドメイン側ではsp=rejectとnp=rejectを設定します。

例えば、「mail.example.com」からメールを送信する場合は、以下のように設定します。

【サブドメイン】
_dmarc.mail.example.com
v=DMARC1; p=none;

【組織ドメイン】
_dmarc.example.com
v=DMARC1; p=none; sp=reject; np=reject;

この場合、「mail.example.com」には個別に設定したp=noneが適用されます。一方、独自のDMARCレコードを持たない既存のサブドメインにはsp=reject、DNS上に存在しないサブドメインにはnp=rejectが適用されます。

このように、メール送信に使用するサブドメインには個別にポリシーを設定し、それ以外のサブドメインには組織ドメイン側から厳しいポリシーを適用することで、サブドメインを利用したなりすましへの対策につながります。

サブドメインのDMARC設定に関するよくある質問

最後に、サブドメインのDMARC設定に関するよくある質問に回答します。

サブドメインのDMARCレポートはどのように確認できますか?

サブドメインのDMARCレポートは、そのサブドメインに独自のDMARCレコードが設定されているかどうかによって扱いが異なります。

サブドメインに独自のDMARCレコードがない場合、そのサブドメインの認証結果は、ポリシーの参照元となる組織ドメインのDMARCレポートに含まれます。一方、サブドメインに独自のDMARCレコードがあり、そのレコードにruaタグを設定している場合は、組織ドメインとは別のDMARCレポートが生成されます。

DMARCレポートから認証状況や送信元を効率的に把握するには、DMARCツールを利用するのが便利です。ただし、ツールによってはサブドメインが独立した分析対象ドメインとしてカウントされ、追加料金が発生する場合があるため、料金体系を確認しておくことが重要です。

ベアメール 迷惑メールスコアリングの「DMARC分析機能」では、サブドメインに個別のDMARCレコードを設定していない場合、追加料金なしで一つのアカウント内でDMARCレポートを確認できます。ご興味のある方は、ぜひ以下のページもご覧ください。

ベアメール 迷惑メールスコアリングのDMARCレポート分析機能サービス紹介ページへ移動

サブドメインでBIMIを利用したい場合、どのような設定が必要ですか?

サブドメインでBIMIを利用する場合は、組織ドメインと、BIMIを利用するサブドメインに適用されるDMARCポリシーを「quarantine」または「reject」にする必要があります。

サブドメインに独自のDMARCレコードを設定している場合は、そのレコードのpタグと組織ドメインのpタグを「quarantine」または「reject」にします。また、組織ドメインのspタグを設定する場合も「quarantine」または「reject」を指定する必要があります。

サブドメインに独自のDMARCレコードを設定していない場合は、組織ドメインのspタグを設定するなどして、対象のサブドメインにも「quarantine」または「reject」が適用されるようにします。

あわせて、BIMIを利用するドメインにはBIMIレコードの設定も必要です。BIMIの詳しい導入方法については、以下の記事で解説しています。
BIMIとは? 仕組みや設定方法、BIMIレコードの書き方を解説|ベアメールブログ

まとめ

サブドメインに適用されるDMARCポリシーは、サブドメインに独自のDMARCレコードがあるかどうかや、組織ドメインでp・sp・npタグがどのように設定されているかによって異なります。サブドメインごとの用途や運用状況を踏まえ、それぞれに適用されるポリシーを確認したうえで、適切に設定することが重要です。

また、メール送信に使用していないサブドメインやDNS上に存在しないサブドメインも、なりすましに悪用される可能性があります。利用中のサブドメインだけでなく、こうしたサブドメインも考慮してDMARCポリシーを設計し、適切に管理していきましょう。