← ブログ一覧に戻る
メール認証2025-12-166 分

DMARC設定の完全ガイド|ポリシーの選び方と導入手順

DMARCの仕組み、ポリシーの選び方、段階的な導入手順を解説。レポートの読み方やトラブルシューティングも詳しく紹介します。

#DMARC#メール認証#DNS#SPF#DKIM

DMARCは、SPFとDKIMの認証結果を活用し、なりすましメールへの対処方法を指定する仕組みです。メールセキュリティの要となる重要な設定です。

DMARCとは

DMARC(Domain-based Message Authentication, Reporting and Conformance)は、以下の3つの機能を提供します。

  1. 認証: SPFとDKIMの結果を統合して判定
  2. ポリシー: 認証失敗時の処理方法を指定
  3. レポート: 認証結果のレポートを受信

DMARCが必要な理由

SPFとDKIMだけでは、認証に失敗したメールをどう処理するかを指定できません。DMARCを設定することで:

  • なりすましメールを確実にブロック
  • 自社ドメインの悪用状況を把握
  • メール配信の問題を早期発見

DMARCレコードの構造

DMARCレコードは _dmarc.ドメイン名 に登録します。

_dmarc.example.com TXT "v=DMARC1; p=reject; rua=mailto:dmarc@example.com"

主要なタグ

タグ説明必須
vバージョン必須DMARC1
pポリシー必須none, quarantine, reject
rua集計レポート送信先推奨mailto:dmarc@example.com
rufフォレンジックレポート送信先任意mailto:forensic@example.com
pctポリシー適用率任意100(デフォルト)
spサブドメインポリシー任意none, quarantine, reject
adkimDKIMアライメント任意r(緩和), s(厳格)
aspfSPFアライメント任意r(緩和), s(厳格)

DMARCポリシーの選び方

p=none(監視モード)

v=DMARC1; p=none; rua=mailto:dmarc@example.com
  • 認証失敗してもメールは通常通り配信
  • レポートで現状を把握
  • 導入初期に推奨

p=quarantine(隔離)

v=DMARC1; p=quarantine; pct=50; rua=mailto:dmarc@example.com
  • 認証失敗メールを迷惑メールフォルダへ
  • pctで適用率を調整可能
  • 中間段階に推奨

p=reject(拒否)

v=DMARC1; p=reject; rua=mailto:dmarc@example.com
  • 認証失敗メールを完全にブロック
  • 最も強力な保護
  • 最終目標

段階的な導入手順

Step 1: 前提条件の確認

DMARCを設定する前に、以下が正しく設定されていることを確認:

  • SPFレコードが設定済み
  • DKIMが有効化されている
  • 正規のメール送信元がすべて把握できている

Step 2: p=noneで開始

_dmarc.example.com TXT "v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com"

2〜4週間レポートを収集し、以下を確認:

  • 正規のメールがすべてPASSしているか
  • 不正な送信元がないか
  • 設定漏れがないか

Step 3: p=quarantine(段階的に)

# まず10%から
v=DMARC1; p=quarantine; pct=10; rua=mailto:dmarc-reports@example.com

# 問題なければ50%に
v=DMARC1; p=quarantine; pct=50; rua=mailto:dmarc-reports@example.com

# 最終的に100%
v=DMARC1; p=quarantine; pct=100; rua=mailto:dmarc-reports@example.com

Step 4: p=rejectへ移行

# まず25%から
v=DMARC1; p=reject; pct=25; rua=mailto:dmarc-reports@example.com

# 段階的に100%へ
v=DMARC1; p=reject; pct=100; rua=mailto:dmarc-reports@example.com

DMARCレポートの読み方

集計レポート(RUA)

XMLファイルで毎日送られてくるレポートです。

<record>
  <row>
    <source_ip>203.0.113.1</source_ip>
    <count>150</count>
    <policy_evaluated>
      <disposition>none</disposition>
      <dkim>pass</dkim>
      <spf>pass</spf>
    </policy_evaluated>
  </row>
</record>
項目意味
source_ip送信元IPアドレス
countメール数
disposition適用された処理
dkimDKIM認証結果
spfSPF認証結果

レポート解析ツール

生のXMLは読みにくいため、以下のツールを活用:

  • DMARC Analyzer: 商用サービス
  • dmarcian: 無料プランあり
  • Postmark DMARC: 無料

アライメントについて

DMARCでは、SPF/DKIMの認証ドメインとFromヘッダーのドメインが一致する必要があります。

緩和モード(r)

サブドメインも許可

From: news@mail.example.com
SPF: example.com → PASS

厳格モード(s)

完全一致が必要

From: news@mail.example.com
SPF: mail.example.com → PASS(example.comではNG)

よくある問題と対処法

正規のメールが失敗する

原因1: メール配信サービスがSPF/DKIMに対応していない

対処法:

  • 配信サービスのDKIM設定を有効化
  • SPFにサービスのIPを追加

原因2: メーリングリスト経由でFromが書き換わる

対処法:

  • ARC(Authenticated Received Chain)対応のMLを使用
  • 緩和モード(adkim=r, aspf=r)を使用

レポートが届かない

原因: メールボックスの容量不足、迷惑メール判定

対処法:

  • 専用のメールアドレスを使用
  • 外部のDMARC解析サービスを利用

サブドメインからのメールが失敗

対処法: サブドメインポリシー(sp)を設定

v=DMARC1; p=reject; sp=quarantine; rua=mailto:dmarc@example.com

推奨設定例

導入初期

v=DMARC1; p=none; rua=mailto:dmarc@example.com; ruf=mailto:dmarc@example.com

運用安定後

v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s; pct=100; rua=mailto:dmarc@example.com

まとめ

フェーズポリシー期間目安
監視p=none2〜4週間
隔離p=quarantine2〜4週間
拒否p=reject最終目標

DMARCの導入は段階的に行うことが重要です。いきなりp=rejectを設定すると、正規のメールもブロックされる可能性があります。

RiskLensでは、DMARC設定の診断と改善提案を自動で行います。まずは無料診断で現状を確認してみましょう。

ドメインのセキュリティをチェック

この記事で学んだことを実践してみましょう。
無料でドメインのセキュリティリスクを診断できます。

無料で診断する