Nova Uptime
ガイドdmarc-testdmarc-checkerdmarc-record

DMARCポリシー設定:メールなりすましを防ぐ

無料DMARCテストと設定手順を解説。p=none、p=quarantine、p=rejectの設定、SPF/DKIMアライメント。2026年2月以降Gmail/Yahoo必須。 — Nova Uptimeはアップタイム、SSL、メール健全性、リンク変更を1つのダッシュボードで監視します。

SN
Sumit Nova Uptime
2026年2月23日 · 12 min read
Share:

DMARCとは何か、なぜ今必要なのか#

DMARC(Domain-based Message Authentication, Reporting, and Conformance)は、メール認証における「強制適用」のレイヤーです。

SPFとDKIMはなりすまし防止のために存在しますが、両者には抜け穴があります。DMARCは次の3つでそのギャップを埋めます。

  1. SPFとDKIMの**整合(alignment)**を要求(両方がパスし、かつ送信元ドメインが一致すること)
  2. ポリシーを強制(なりすましメールを拒否)
  3. レポートを提供(認証結果の日次レポート)

2026年2月時点:GmailとYahooはp=quarantineまたはp=rejectのDMARCを必須としています。適切なDMARCがないメールは迷惑メールに振り分けられるか、拒否されます。

DMARCがなりすましを防ぐ仕組み#

DMARCがない場合:

From: you@yourcompany.com
Mail-From: attacker.com
SPF-From: attacker.com

このメールはSPFをパスし(attacker.comで認可されているため)、見た目はyourcompany.comからのメールに見えます。なりすまし成功です。❌

DMARCがある場合:

DMARC policy: p=reject
From: you@yourcompany.com
Mail-From: attacker.com
Result: REJECT (ドメインが整合しない)

表示上の「From」ドメインが認証されたドメインと一致しないため、メールは拒否されます。✅

DMARCレコードのフォーマット#

DMARCレコードは次の場所に配置します:_dmarc.yourdomain.com

基本フォーマット:

v=DMARC1; p=none; rua=mailto:admin@yourdomain.com

各パートの意味:

  • v=DMARC1:バージョン(常にこれ)
  • p=none:ポリシー(none/quarantine/reject)
  • rua=mailto:...:レポート送信先

DMARCポリシーの解説#

ポリシー動作メールの扱い使用タイミング
p=noneモニタリングのみ配信される学習フェーズ(1〜2週目)
p=quarantine疑わしいメールを迷惑メールへ迷惑メールに配信テスト(2〜4週目)
p=rejectなりすましメールをブロック完全に拒否本番運用(5週目以降)

p=none(モニタリング専用)#

v=DMARC1; p=none; rua=mailto:admin@yourdomain.com; ruf=mailto:forensics@yourdomain.com

動作:

  • なりすましメールは引き続き配信される
  • 拒否された場合の内容を日次レポートで確認できる
  • 正規メールに影響がないか確認するため、1〜2週間はこの設定で運用

レポートの内容:

  • SPFをパス/失敗したメール件数
  • DKIMをパス/失敗したメール件数
  • 失敗したメールの送信元IP
  • 正規サービスと不審なサービスの判別

p=quarantine(隔離ポリシー)#

v=DMARC1; p=quarantine; rua=mailto:admin@yourdomain.com

動作:

  • なりすましメールは受信トレイではなく迷惑メールフォルダに振り分けられる
  • ユーザーは(手間をかければ)確認可能
  • レポートが届く

正規メールが引き続き正しく届くかをテストするため、1〜2週間運用します。

p=reject(強制ポリシー)#

v=DMARC1; p=reject; rua=mailto:admin@yourdomain.com

動作:

  • なりすましメールは完全に拒否される
  • 受信者の目には触れない
  • 攻撃者にはなりすましが失敗したシグナルすら届かない

p=quarantineで検証が完了したら、本番運用ではこれを使います。

ステップバイステップのDMARC設定#

ステップ1:SPFとDKIMが正常動作していることを確認#

DMARCは、SPFとDKIMが先に設定されている必要があります。

両方を確認するには:Nova Uptime メール配信ヘルスチェッカー

どちらかが失敗する場合は、DMARCを追加する前にそちらを先に設定してください。

ステップ2:レポート受信用メールアドレスを作成#

DMARCは日次でレポートを送信します(大規模ドメインでは1日に数百通になることもあります)。

専用メールアドレスを作成:

dmarc-reports@yourdomain.com

メイン管理者用メールでレポートを受け取りたい場合は、それでも構いません。

ステップ3:DMARCレコードを公開#

DNSプロバイダ(Cloudflare、Route 53、GoDaddyなど)にアクセスします。

TXTレコードを追加:

  • Name:_dmarc(完全一致)
  • Value:v=DMARC1; p=none; rua=mailto:dmarc-reports@yourdomain.com
  • TTL:3600

保存して、DNSの伝播を5〜15分待ちます。

ステップ4:DMARCポリシーをテスト#

オプション1:テストメール送信

  1. 自分のドメインからメールを送信
  2. メールヘッダーでDMARC: PASSまたはDMARC: FAILを確認
  3. dmarc-reports@yourdomain.com宛のレポートを確認(届くまで24時間かかる場合あり)

オプション2:検証ツールを使用

ステップ5:1〜2週間レポートをモニタリング#

DMARCレポートは日次(またはポリシーによっては週次)で届きます。

確認すべきポイント:

  • 正規メールはすべてパスしているか?
  • 想定外の失敗メールはあるか?
  • 自社ドメインへのなりすまし試行はあるか?

すべてパスしている場合:p=quarantineに移行します。

ステップ6:p=quarantineに切り替え(3週目)#

正規メールが失敗していないことを確認できたら、次に進みます。

DNSのTXTレコードを更新:

v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@yourdomain.com

さらに1〜2週間モニタリングします。

ステップ7:p=rejectに切り替え(5週目以降)#

quarantineの結果に問題がなくなったら、いよいよ本番設定です。

DNSのTXTレコードを更新:

v=DMARC1; p=reject; rua=mailto:dmarc-reports@yourdomain.com; ruf=mailto:forensics@yourdomain.com

これで完全に保護されます。

DMARCのサブドメインポリシー#

デフォルトでは、DMARCはyourdomain.comにのみ適用されます。mail.yourdomain.comのようなサブドメインからも送信する場合は、サブドメインポリシーが必要です。

v=DMARC1; p=reject; rua=mailto:dmarc-reports@yourdomain.com; sp=none
  • sp=none:サブドメインはモニタリングのみで、拒否しない
  • 必要に応じてsp=quarantineまたはsp=rejectを設定

DMARCでよくあるミス#

ミス1:SPF/DKIMが整合していない#

例:

  • From: you@yourdomain.com
  • SPFがパスするのは:mail.yourdomain.com(別サブドメイン)
  • 結果:DMARCが失敗(整合しない)

**対処:**DMARCで緩い整合を使用:

aspf=r; adkim=r

これでサブドメインもパスできるようになります。(セキュリティ上は推奨されませんが、やむを得ない場合に使用します。)

ミス2:レポートが届かない#

rua=に指定したメールアドレスが存在しないか、メールが迷惑メールに振り分けられています。

対処:

  • メールアドレスが存在することを確認
  • dmarc@yourdomain.comからのレポートが迷惑メールフォルダに入っていないか確認
  • レポート送信元をホワイトリスト登録

ミス3:いきなりp=rejectにする#

p=noneからp=rejectに直接ジャンプすると、正規メールが失敗します。

**対処:**段階的に進めます:p=none → p=quarantine → p=reject(4〜6週間かけて)。

ミス4:変更を見落とす#

新しいメール送信サービス(Zapier、CRMなど)を追加したのに、SPF/DKIMの更新を忘れる。DMARCはそのメールを拒否します。

**対処:**月次でDMARCレポートをモニタリングします。インフラに新サービスを追加したら、その都度SPF/DKIMにも反映します。

DMARCのモニタリング#

週次:

  • DMARCレポートで想定外の失敗を確認
  • 必要に応じて新しい送信サービスをSPF/DKIMに追加

月次:

  • レポートの傾向を確認
  • 自社ドメインへのなりすまし試行を特定
  • 現在のポリシーが妥当かを検証

DMARCレポートの読み方#

DMARCレポートには次の情報が含まれます。

  • Domain:レポート対象のドメイン
  • Source IP:メールの送信元
  • Pass/Failカウント:SPF/DKIMのパス/失敗率
  • 評価されたポリシー:p=rejectで何が起きるか

これらを使って次の点を検証します。

  1. 正規サービスがすべてパスしているか
  2. 想定外のIPからのメール送信がないか
  3. なりすまし試行が検知されているか

認証スタックの全体像

SPF:「サーバーは認可されているか?」 DKIM:「メッセージは本物か?」 DMARC:「両方がパスし、かつドメインが整合しているか?」

この3つすべてが揃って、適切なメール認証が成立します。

3つすべてを自動チェック:Nova Uptime メール配信ヘルスチェッカー。無料です。🚀

まとめ

  1. まずSPFとDKIMが動作することを確認
  2. p=noneでDMARCを公開(1〜2週目)
  3. p=quarantineに移行(3〜4週目)
  4. p=rejectに移行(5週目以降)
  5. レポートを継続的にモニタリング
  6. 新しいメールサービス追加時に更新

DMARCは2026年には必須です。競合はすでに対応済み。遅れを取らないようにしましょう。

よくある質問

DMARCレコードはどうやってテストすればいい?#

無料のDMARCチェッカーツールを使ってレコードを検証してください。構文の確認、ポリシー設定の確認、レポート送信先の確認を行い、よくある設定ミスを特定できます。メールを送信して受信メッセージのDMARCヘッダーを確認することでもテスト可能です。

p=quarantineとp=rejectの違いは何?#

p=quarantineではDMARCに失敗したメールが迷惑メールフォルダに配信されます。p=rejectでは完全にブロックされ配信されません。まずquarantineで問題を洗い出してから、最大限の保護のためにrejectに移行するのがおすすめです。

SPFとDKIMがあれば、DMARCは不要?#

必要です。SPFとDKIMはメールを認証しますが、認証に失敗した場合に受信サーバーがどう扱うべきかは指示しません。DMARCは強制ポリシーを提供し、レポート機能でメール全体の認証結果をモニタリングできるようにします。

DMARCでメールが壊れることはある?#

設定を誤った場合に限ります。すべての正規送信元を認証する前にp=rejectを適用すると、自分のメールがブロックされてしまいます。必ずp=noneから始め、2〜4週間レポートを確認し、認証の抜けを修正してから、段階的に強制レベルを上げてください。

関連記事

Monitor Your Website Before It Goes Down

Get uptime monitoring, SSL tracking, domain expiry alerts, and email health checks. Free plan — no credit card required.

Start Monitoring Free

関連記事