送信ドメイン認証 · 2026年9月21日
DMARCのp=none・quarantine・reject:運用者のためのガイド
適切なDMARCポリシーの選択は、セキュリティと到達率のバランスを取る作業です。正規のメールをブロックせずになりすましを防ぐための、p=noneからp=rejectへの安全な移行手順を解説します。
根本的なトレードオフ
DMARCポリシーの選択は、可視性と適用のどちらを取るかという選択です。p=noneは配信に影響を与えずにモニタリングを行います。p=quarantineは疑わしいメールを迷惑メールフォルダに送ります。p=rejectは認証されていないメールを完全にブロックします。最も安全なのは段階的な導入です。まずnoneですべての正規の送信元を洗い出し、次にquarantineで影響をテストし、最終的にrejectに到達してドメインをなりすましから完全に守ります。
インシデント対応の観点からポリシーが重要な理由
到達率を担当するエンジニアの第一の目標は、正規のトランザクションメールを確実に受信者に届けつつ、攻撃者によるドメインの悪用を防ぐことです。モニタリング期間を設けずにいきなりp=rejectに移行すると、忘れられていたレガシーシステムやサードパーティのマーケティングツールのメールが突然届かなくなり、優先度の高いインシデントを引き起こす可能性が高くなります。
DMARC(Domain-based Message Authentication, Reporting, and Conformance)は、SPFとDKIMのアライメントに依存しています。メッセージが両方に失敗した場合、p=タグが受信側メールサーバーにそのメッセージの扱いを指示します。
3つのポリシーレベル
1. p=none(モニタリングモード)
このモードでは、認証結果にかかわらず受信側はメッセージに対して何もしません。純粋にデータ収集のためのモードです。
使うべき場面:
- DMARCの初期設定時。
- 自社の代わりにメールを送信しているサービスをすべて把握できていない場合。
- 新しいメールAPIへの移行中。
ペイロード:
v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com;
トレードオフ:なりすましに対する保護はまったくありません。攻撃者は引き続きあなたのドメインとしてメールを送信できますが、その状況はRUA(集約)レポートで確認できます。
2. p=quarantine(緩やかな適用)
DMARCに失敗したメッセージは疑わしいものとして扱われます。ほとんどの受信側はこれらを迷惑メールフォルダに移動します。
使うべき場面:
p=noneのレポートを分析し、すべての正規の送信ストリームがアライメントしていることを確認した後。- 完全な拒否に移行する前の安全策として。
ペイロード:
v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@example.com;
トレードオフ:なりすましメールの露出は減りますが、なくなるわけではありません。DKIMキーのローテーションを誤った場合や、SPFレコードが10回のDNSルックアップ上限に達した場合には、正規のメールが迷惑メールフォルダに入ることもあります。
3. p=reject(完全な適用)
ドメインセキュリティの最高水準です。DMARCに失敗したメッセージは、受信側サーバーが受け取りをきっぱり拒否します。
使うべき場面:
- モニタリングの結果、すべての正規トラフィックで99.9%のアライメントが確認できた場合。
- ドメインなりすましのリスクが、時折発生する配信失敗のリスクを上回る場合。
ペイロード:
v=DMARC1; p=reject; rua=mailto:dmarc-reports@example.com;
トレードオフ:セーフティネットはありません。重要なシステムの設定が誤っていれば、そのメールは失われます。失敗はRUAレポートで確認できますが、ユーザーにメールが届くことはありません。
運用担当者のための導入チェックリスト
感覚でポリシーを変更してはいけません。集約レポートのデータに基づいて変更してください。各段階に移る前に、SendHQ Email DNS Checkerなどのツールでレコードが正しく反映されていることを確認しましょう。
フェーズ1:洗い出し(p=none)
ruaアドレスを指定してp=noneを公開します。- 業務サイクル全体のメール(週次レポートを含む)を捕捉するため、7〜14日間待ちます。
- レポートを分析し、「アライメントしていない」トラフィックを探します。
- 正規のサードパーティ送信元(Zendesk、Salesforce、Shopifyなど)を特定します。
- 特定したすべての送信元でDKIMを設定します。これがアライメントを確保する最も確実な方法です。
フェーズ2:テスト(p=quarantine)
- ポリシーを
p=quarantineに更新します。 - 「メールが届かない」「メールが迷惑メールフォルダに入っている」といったサポート問い合わせを監視します。
- RUAレポートで失敗の新たな急増がないか確認します。
- 失敗が発生した場合は認証を修正し、さらに1週間
quarantineのまま維持します。
フェーズ3:強化(p=reject)
- ポリシーを
p=rejectに更新します。 - 最も重要なトランザクションフロー(パスワードリセット、請求書)が引き続き配信されていることを確認します。
- モニタリングを継続します。DMARCは「一度設定すれば終わり」の設定ではありません。
副作用としてのメール送信の扱い
AIエージェントや自動化ワークフローを構築するプロダクトエンジニアにとって、メール送信は外部への副作用です。つまり、アプリケーションロジックの外にある理由(DNSの問題、DMARCによる拒否、レート制限)で失敗する可能性があります。
冪等性と承認
AIエージェントがメール送信をトリガーする場合、再試行時の重複送信を防ぐ必要があります。APIリクエストに冪等キーを使い、ネットワークのタイムアウトによって顧客が同じメールを5回受け取ることのないようにしましょう。
さらに、エージェントに重要なメールを自律的に送信する権限を与えるべきではありません。エージェントが生成したコンテンツには承認キューを導入し、「From」アドレスと内容がブランドや認証ポリシーと整合していることを確認しましょう。
配信インフラのコスト
送信プロバイダーの選択は、DMARCの管理方法にも影響します。DKIMの設定が非常に簡単なプロバイダーもあれば、サブドメインごとに手動でDNSエントリーを追加する必要があるプロバイダーもあります。
コストを評価する際は、総所有コストに注目しましょう。たとえば、50,000通の送信はAmazon SESの従量課金(1,000通あたり0.10 USD)では約5 USDですが、Postmarkのプランでは同じ量で約66 USD(10,000通で15 USD、超過分は1,000通あたり1.20〜1.80 USD)かかります。
その他の選択肢として、月3,000通(1日100通まで)の無料プランを提供するResendや、10,000通で月額15 USDからのMailgunがあります。SendGridは現在、無料プランを60日間のトライアルに変更しており、Essentialsは月額19.95 USDからです。
どのプロバイダーを使う場合でも、DMARCポリシーはドメインを守る主要な盾であることに変わりありません。SPFしかサポートしないプロバイダーを使っている場合、SPFはメール転送時に壊れるため、p=rejectへの移行時に配信失敗のリスクが高くなります。転送後もアライメントを維持できる唯一の方法はDKIMです。
よくある失敗パターン
転送の落とし穴
ユーザーAがユーザーBにメールを送信し、ユーザーBはユーザーCへの自動転送を設定しているとします。転送サーバーは迷惑メールと判定されるのを避けるため、エンベロープ送信者を自身のドメインに書き換えることがよくあります。これによりSPFのアライメントが崩れます。p=rejectを設定していてDKIM署名がない場合、ユーザーCにそのメールが届くことはありません。
DNSルックアップ上限
SPFレコードのDNSルックアップは10回までに制限されています。SPFレコードに多くのプロバイダーを追加しすぎると、受信側はpermerrorを返します。これはDMARCの失敗につながります。解決するには、DKIMを優先した認証を推奨するプロバイダーを使うか、SPFフラット化を利用しましょう。
「シャドーIT」問題
マーケティングチームは、エンジニアリングに知らせずに新しいツール(新しいニュースレターサービスなど)に登録することがよくあります。そのツールが自社ドメインからメールを送信するとDMARCに失敗し、拒否されます。p=noneフェーズを省略できないのはこのためです。
運用担当者向けの一覧表
ポリシー | 動作 | リスク | 可視性 | 推奨される用途
p=none | なし | 低 | 高 | 洗い出しと監査
p=quarantine | 迷惑メールフォルダ | 中 | 高 | テストと移行
p=reject | ブロック | 高 | 中 | 本番環境の完全なセキュリティ
これらのレコードの技術的な実装について詳しくは、DKIM、SPF、DMARCのガイドをご覧ください。
これらのレコードを手動で管理するのは手間がかかります。SendHQは、検証済みドメインからのトランザクションメール送信と、インフラをエージェント対応にするためのツールを提供し、この作業を簡素化します。
詳しくはhttps://sendhq.ccをご覧ください。