0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DMARC p=rejectまでのロードマップ ― メールなりすましを完全防止する

0
Posted at

はじめに

自社のドメインを悪用した「なりすましメール」を完全に防止する方法がDMARCのp=rejectです。しかし、いきなりp=rejectに設定するとメール不達事故が発生するリスクがあります。

本記事では、p=noneから始めて、安全にp=rejectまで到達するためのロードマップを解説します。

SPF/DKIM/DMARCの関係

SPF(Sender Policy Framework)

「このドメインからメールを送信できるサーバーはこれだけ」とDNSに宣言する仕組みです。受信側はSPFレコードを確認し、許可されていないサーバーからのメールを判定します。

DKIM(DomainKeys Identified Mail)

メールに電子署名を付与し、送信元の正当性と内容の改ざんがないことを証明します。送信時にメールヘッダーに署名を追加し、受信側がDNSに公開されている公開鍵で検証します。

DMARC(Domain-based Message Authentication)

SPFとDKIMの認証結果に基づき、認証に失敗したメールの処理方法を送信者側が指定する仕組みです。

  • p=none:何もしない(レポートだけ受信)
  • p=quarantine:隔離(受信者の迷惑メールフォルダに振り分け)
  • p=reject:拒否(受信サーバーがメールを受け取らない)

4フェーズのロードマップ

Phase 1:SPF/DKIMの設定+DMARC p=none(1〜2ヶ月)

まずはSPFとDKIMが正しく設定されていることを確認し、DMARCをp=noneで設定します。

SPFの設定
DNSにTXTレコードを追加します。M365の場合は以下の通りです。

v=spf1 include:spf.protection.outlook.com -all

GWSの場合:

v=spf1 include:_spf.google.com -all

外部のメール配信サービス(SendGrid、Amazon SES等)を利用している場合は、それらのincludeも追加する必要があります。SPFはDNSルックアップの上限が10回であることに注意してください。

DKIMの設定
M365では、Exchange管理センター→メールフロー→DKIM で対象ドメインのDKIMを有効化し、DNSにCNAMEレコードを2つ追加します。GWSでは管理コンソール→アプリ→Gmail→メールの認証 でDKIMキーを生成し、DNSにTXTレコードを追加します。

DMARCの設定(p=none)
DNSにTXTレコードを追加します。

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

ruaに指定したメールアドレスにDMARCレポートが届きます。このレポートを分析して、正規のメール送信元がすべてSPF/DKIMに対応しているかを確認します。

Phase 2:レポート分析と修正(2〜4週間)

DMARCレポートを分析し、正規のメール送信元がすべて認証に合格しているかを確認します。レポートはXML形式で読みにくいため、DMARCレポート分析サービス(DMARC Analyzer、Postmark DMARC等、無料のものもあり)を利用すると便利です。

確認ポイントは以下の通りです。

  • 自社のメールサーバー(M365/GWS)からのメールがSPF/DKIM両方に合格しているか
  • マーケティングツール(HubSpot、Mailchimp等)からのメールが合格しているか
  • 請求書発行システム等からの自動メールが合格しているか
  • 合格していない送信元があれば、SPFにincludeを追加するか、DKIMを設定する

Phase 3:DMARC p=quarantine(1〜2ヶ月)

正規の送信元がすべて認証に合格していることを確認したら、p=quarantineに変更します。

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

この設定では、認証に失敗したメールが受信者の迷惑メールフォルダに振り分けられます。正規のメールが迷惑メールに入ってしまっていないか、1〜2ヶ月間モニタリングします。

問題が発生した場合は、p=noneに戻してSPF/DKIMの設定を修正します。

Phase 4:DMARC p=reject(最終段階)

p=quarantineで問題がないことを確認したら、最終段階としてp=rejectに変更します。

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

p=rejectでは、認証に失敗したメールは受信サーバーが完全に拒否します。これにより、自社ドメインを悪用したなりすましメールを完全にブロックできます。

よくある落とし穴

SPFのDNSルックアップ上限(10回)に引っかかる
includeを追加しすぎると10回の上限を超え、SPFが無効になります。SPFフラットニングツールを使って、includeをIPアドレスに展開する方法があります。

転送メールがSPFに失敗する
メールが転送されると、送信元IPが変わるためSPFに失敗します。DKIMは転送されても有効なため、DKIM対応が重要です。

社内の誰かが独自にメール配信サービスを契約している
マーケティング部門や営業部門が独自にメール配信サービスを使っている場合、SPFに含まれていないとDMARCに失敗します。社内の全メール送信元を棚卸しすることが重要です。

まとめ

DMARC p=rejectは「メールセキュリティのゴール」です。Phase 1からPhase 4まで段階的に進めれば、3〜6ヶ月で安全に到達できます。

いきなりp=rejectにせず、p=none → レポート分析 → p=quarantine → p=rejectの順で進めましょう。焦りは禁物です。


筆者について

株式会社BTNコンサルティング 代表取締役 亀田 英佑
中小企業に特化した情シスアウトソーシングサービス「情シス365」を運営。M365/GWS環境の設計・構築50件以上、IT PMI(M&A後IT統合)5件の実績。

情シス365(情シスアウトソーシング)
https://www.josis365.com

AI365(AI実装・自動化支援)
https://www.aidev-365.com

BTNコンサルティング(会社HP)
https://www.btncon.com

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?