Googleの新ガイドライン対応だけで終わらせない:5分で構築する自前のレポート分析ツールでDMARCを正しく運用

アソビュー株式会社VPoEの @tkyshat です。

はじめに

この記事は、以下の方々を対象にしています:

  • メールのセキュリティについてかいつまんで知りたい方
  • DMARCをまだ設定できていない方
  • DMARCの設定はしたもののポリシーがnoneのままの方
  • DMARCの設定はしているがレポートをうまく活用できていない方

すでにDMARCの設定が完了し、レポートのモニタリングもできており、BIMI認証まで完了している方には物足りないかもしれません。

ブログの中で簡易的なものではありますが、5分でできるレポート分析ツールの構築方法も紹介しておりますので、ぜひ参考にしていただければと思います。

背景と目的

Googleが2023年10月に発表したGmailの新ガイドラインは、5000件以上のメールを送信する企業に対する要求が強化され、2024年2月以降にガイドラインに従っていないメールは配信されなくなる旨が発表されました。
ガイドラインの中でもSPF(Sender Policy Framework)/ DKIM(DomainKeys Identified Mail)だけでなくDMARC(Domain-based Message Authentication, Reporting & Conformance)の導入が義務付けられましたが、このDMARCに関してはガイドラインを通して初めて耳にした方や、急いで対応した方も多いのではないでしょうか。

DMARCの設定を行うことで、企業はより安全なメール配信環境を構築できると期待されていますが、一旦ガイドラインをくぐり抜けるためのデフォルトの設定をしてしまっている方もいるのではないでしょうか。
本ブログの目的としては、メールを配信する企業と受信する個人にお互いにwin-winとなるDMARCの設定手順をお伝えできたらと思います。

❇ 企業ごとにポリシーがあるとおもいますので、各ポリシーの厳格の基準に関しては言及しません。

DMARCとは何か?

DMARCの重要性が認識されるようになった背景には、フィッシング詐欺やなりすましメールの被害が増加していることがあります。企業のメールセキュリティを強化するためには、DMARCの導入が不可欠です。DMARCを導入することで、送信者のドメインが正しいことを検証し、不正なメールの送信を防ぐことができます。

DMARCの定義

DMARCは、送信者のドメインが正しいことを確認するためのメール認証プロトコルです。DNSに設定することで効力を発揮します。 下記サンプルです。

v=DMARC1; p=none; rua=mailto:sample@domain.com, mailto:sample@domain.com; pct=100; adkim=s; aspf=s

SPF、DKIM、DMARCの関係

SPFは、送信者のIPアドレスが正しいことを確認するメール認証プロトコルであり、DKIMは、メールの内容が改ざんされていないことを確認するメール認証プロトコルです。
DMARCは、これらのプロトコルを組み合わせて、より高いレベルのセキュリティを提供します。

DMARCの基本的な仕組みと動作

DMARCは、送信者のドメインが正しいことを確認するために、SPFとDKIMの結果を利用します。DMARCはこれらの結果を基に、メールが正当なものであるかどうかを判断し、設定されたポリシーに従って適切な対応を取ります。
ここでは、DMARCの基本的な仕組みと動作について、SPFとDKIMのチェック、レポート、ポリシーによる隔離機能に分けて説明します。

SPFとDKIMのチェック

  1. SPFのチェック
    • SPFは、送信者のIPアドレスがそのドメインの許可された送信元であるかどうかを確認します。
    • 送信者のメールサーバーがメールを送信する際、受信者のメールサーバーは送信ドメインのDNSレコードを確認し、SPFレコードに基づいて送信元IPアドレスが許可されているかどうかを判定します。
    • 許可されている場合はSPFチェックが成功し、許可されていない場合は失敗します。
    • アライメントのチェック:SPFの結果が成功しても、送信ドメインと「From」ヘッダーのドメインが一致(アライメント)していることが必要です。一致していない場合は、SPFアライメントが失敗となります。
  2. DKIMのチェック
    • DKIMは、メールの内容が改ざんされていないことを確認します。
    • 送信者のメールサーバーはメールにデジタル署名を付与し、受信者のメールサーバーは送信ドメインのDNSレコードを確認してDKIM署名を検証します。
    • 署名が有効であればDKIMチェックが成功し、無効であれば失敗します。
    • アライメントのチェック:DKIMの結果が成功しても、署名に使用されたドメインと「From」ヘッダーのドメインが一致(アライメント)していることが必要です。一致していない場合は、DKIMアライメントが失敗となります。

レポート

DMARCは、SPFとDKIMのチェック結果を元に、メールが正当であるかどうかを判断します。受信者のメールサーバーはこれらの結果をDMARCポリシーに従って処理し、レポートを生成します。

  • DMARCレポートは、受信者のメールサーバーから送信者に送られます。これには、SPFとDKIMの結果、受信したメールの詳細情報が含まれます。
  • 送信者はこれらのレポートを利用して、自分のドメインから送信されるメールがどのように処理されているかを把握します。

DMARCレポートを解析することで、送信者は自分のドメインのセキュリティレベルを確認し、不正なメールの送信を特定することができます。レポートを元に、送信者は配信ポリシーを柔軟に変更し、セキュリティ対策を強化できます。

ポリシーによる隔離機能

DMARCは、設定されたポリシーに従ってメールを処理します。ポリシーには以下の3つのレベルがあります:

  1. none
    • 何もしないポリシーです。メールは通常通り配信されますが、レポートは生成されます。
    • DMARCの導入初期段階で使用され、レポートを確認しながら設定を調整します。
    • Googleの新ガイドラインもnoneで通るようになっています。
  2. quarantine
    • 不正なメールを隔離するポリシーです。受信者の迷惑メールボックスに配信されます。
    • SPFやDKIMのチェックに失敗したメールは、受信者のメインインボックスには届きません。
  3. reject
    • 不正なメールを拒否するポリシーです。受信者のメールサーバーで受信されず、送信者に返送されます。
    • 最も厳格なポリシーであり、フィッシング詐欺やなりすましメールのリスクを最小限に抑えます。

信頼されたメールとなりすましメール | DMARCの動き

DMARCがもたらすメリット

DMARCの導入により、フィッシング詐欺やなりすましメールの防止はもちろんのこと、企業のブランド保護にもつながります。また、DMARCのポリシーをより厳格に設定することができれば、BIMI認証を得ることができ、さらなる企業ブランド保護にもつなげることが可能です。

では、すぐにポリシーを厳格に設定すれば良いのかと言えば、そういうわけではありません。

DMARCのポリシー設定と段階的な運用

DMARCのポリシーをいきなり厳格に設定するのは、企業にとってリスクが高い場合があります。SPFやDKIMがちゃんと設定されていると思いこんでしまい、確認せずにポリシー変更した場合、メールが一切配信されなくなる。ということも起こり得ます。

適切に運用するためには、段階的にポリシーを強化していくことが重要です。
ここでは、まずは「none」ポリシーから始め、「pct」パラメーターを利用しながら「quarantine」で様子を見て、最終的に「reject」に移行していくことが一般的です。

noneポリシーから始める

noneポリシーは、DMARCの導入初期段階で使用される最も緩やかなポリシーです。このポリシーでは、メールが検証されますが、何らかのアクションは取られません。主な目的はレポートを収集し、現在のメール送信の状況を把握することです。

  • レポート収集:noneポリシーを設定することで、DMARCレポートが生成されます。このレポートを解析することで、どのメールが正当なものであり、どのメールがフィッシング詐欺やなりすましの可能性があるかを把握できます。
  • 現状の理解:レポートを分析し、ドメインの現状を理解することで、次のステップに進む準備が整います。

pctパラメーターを利用する

pct(percentage)パラメーターは、DMARCポリシーの適用割合を制御するための設定です。これを利用することで、ポリシーの適用範囲を段階的に広げていくことができます。

  • 段階的な適用:pctパラメーターを設定することで、ポリシーを適用するメールの割合を制御できます。例えば、pct=25と設定すると、25%のメールにのみポリシーが適用されます。
  • リスクの軽減:いきなりすべてのメールに厳格なポリシーを適用するのではなく、段階的に適用範囲を広げることで、リスクを最小限に抑えながら運用できます。

quarantineポリシーで様子を見る

quarantineポリシーは、DMARCの次の段階で使用されます。このポリシーでは、不正と判断されたメールを隔離し、受信者の迷惑メールボックスに配信されます。

  • 部分的な適用:quarantineポリシーを設定し、pctパラメーターを利用して段階的に適用範囲を広げます。これにより、メールの流れを大きく乱さずに、ポリシーの影響を確認できます。
  • レポートの確認:引き続きレポートを確認し、不正なメールがどの程度発生しているか、正当なメールがどの程度影響を受けているかを把握します。

最終的にrejectポリシーへ移行

rejectポリシーは、最も厳格なDMARCポリシーです。このポリシーでは、不正と判断されたメールは受信者のメールサーバーで受信されず、送信者に返送されます。

  • 最終段階:quarantineポリシーで十分なデータを収集し、メールの流れが安定していることを確認したら、最終的にrejectポリシーに移行します。
  • 最大のセキュリティ:rejectポリシーを適用することで、フィッシング詐欺やなりすましメールのリスクを最大限に抑え、企業のメールセキュリティを強化します。

ポリシー移行にはレポートの分析が重要

ここまで説明した通りポリシー移行にはレポートの分析が重要になります。ただ、レポートを受信しているものの、うまく活用できていない人も多いのではないでしょうか?

DMARCレポート分析ツールの紹介

ツールの概要

DMARCレポート解析ツールは、DMARCレポートを簡単に解析し、結果を分かりやすく表示するためのツールです。これにより、企業はDMARCの運用状況を迅速に把握し、必要な対応を行うことができます。

対象

弊社ではGmailにてDMARCのレポートを受信しております。こちらの簡易解析ツールはGASで日時実行されるため、DMARCレポートをGmailで受信(もしくは転送)していて、GAS、SpreadSheetが利用できる環境の方が対象になります。

レポート分析の煩雑さ

DMARCレポートは通常、XML形式で提供されます。これらのレポートは配信先の受信者側のサーバーごとに送信されるため、膨大な量となります。さらに、受信者側のサーバーごとに送られてくる添付ファイルの形式はXML、gz、zipと多岐にわたり、手動で分析するには非常に多くの労力が必要です。

DMARCレポート分析ツールを使用することで、これらの煩雑な作業を自動化し、効率的にレポートを簡易的に分析できます。

ツールの機能

日時で下記を実行し、レポートを作成します。

  1. DMARCレポートが添付されたメールをから添付ファイルを取得し解凍と保存します。
  2. ツールは、DMARCレポートの内容を分かりやすい形式で出力します。これにより、DMARCの運用状況を迅速に把握できます。
  3. ツールは、DMARCレポートの分析を自動的に行い、重要な情報を抽出して表示します。

実際の使用方法

スクリプトのインストール方法

  1. スプレッドシート新規作成
    • Google Driveにアクセスし、「新規」ボタンをクリックして「Google スプレッドシート」を選択します。
    • 新しいスプレッドシートが作成されるので、適切な名前を付けます(例:DMARC Report Analysis)。
  2. スプレッドシートに紐づくGAS作成
    • 作成したスプレッドシートを開いた状態で、メニューから「拡張機能」→「Apps Script」を選択します。
    • Apps Scriptのエディタが開きます。
  3. 下記のスクリプトを登録する
    dmarc-report · GitHub

  4. folderId , sheetId , query を適切な値に書き換える

日時実行設定方法

日時で実行できるようにトリガーを作る

  • スクリプトエディタで「時計」アイコン(または「トリガー」)をクリックします。
  • 「トリガーを追加」ボタンをクリックします。
  • 「関数の選択」で executeAll 関数を選択します。
  • 「イベントのソースを選択」で「時間主導型」を選択します。
  • 「時間ベースのトリガーのタイプを選択」で「日付ベースのタイマー」を選択し、適切な時間間隔(例:毎日午前1時)を設定します。
  • 「保存」をクリックしてトリガーを有効にします。

これで、スクリプトは指定された時間に自動的に実行され、DMARCレポートの解析と結果のスプレッドシートへの書き出しが行われます。

DMARCの正しい設定に向けて

レポートの確認手順

DMARCレポート分析ツールを使用することで、DMARCの運用状況を簡単に確認できます。定期的にレポートを確認し、必要な対応を行うことが重要です。

下記は出力されるResultsレポートの確認方法になります。

各項目の意味

  1. Header From
    • DMARCレポートに含まれる「Header From」フィールドのドメインです。このフィールドは、メールがどのドメインから送信されたかを示します。
  2. Date
    • レポートの対象日付です。このスクリプトでは、targetDateに設定された日付が使用されます。
  3. Pass Total
    • DMARC検証に成功したメールの数です。具体的には、SPFやDKIMの検証に成功し、DMARCポリシーに準拠したメールの数です。
  4. Fail Total
    • DMARC検証に失敗したメールの数です。SPFやDKIMの検証に失敗したメールの数を示します。
  5. Success Rate
    • 検証に成功したメールの割合です。Pass Total(Pass Total + Fail Total)で割り、小数点第2位までの値をパーセンテージとして表示します。
  6. None Count
    • DMARCポリシーでnoneが適用されたメールの数です。受信側で特にアクションが取られなかったメールの数を示します。
  7. Quarantine Count
    • DMARCポリシーでquarantineが適用されたメールの数です。受信側で隔離(迷惑メールフォルダに移動など)されたメールの数を示します。
  8. Reject Count
    • DMARCポリシーでrejectが適用されたメールの数です。受信側で拒否されたメールの数を示します。
  9. Quarantine + Reject Rate
    • Quarantine CountReject Countの合計をFail Totalで割った割合です。DMARC検証に失敗したメールのうち、隔離または拒否されたメールの割合を示します。

DMARC運用における各項目の見方とアクション

  1. Header From
    • 送信ドメインごとに解析結果を確認することで、特定のドメインからのメールの問題を特定できます。
  2. Date
    • 日付ごとの解析結果を確認し、特定の日に問題が発生していないかを監視します。
  3. Pass Total / Fail Total / Success Rate
    • 見るべきポイント: Success Rateが低い場合、DMARC検証に失敗するメールが多いことを示します。
    • アクション:
      • SPFとDKIMの設定を見直し、正しく構成されているか確認する。
      • 送信ドメインの整合性を確認する。
      • メールが期待どおりに認証されているかをテストする。
  4. None Count
    • 見るべきポイント: Fail Totalが多いにも関わらずDMARCポリシーがnoneになっているメールが多い場合、検証結果がレポートされるだけで、実際のアクションが取られていないことを示します。
    • アクション:
      • DMARCポリシーをquarantineまたはrejectに設定し、適切なアクションを取るようにしアクションが変わっていくことをレポートで確認します。
  5. Quarantine Count / Reject Count / Quarantine + Reject Rate
    • 見るべきポイント: Quarantine CountやReject Countが高い場合、DMARC検証に失敗したメールが多く、隔離や拒否のアクションが取られていることを示します。
    • アクション:
      • 検証に失敗する原因を特定し、SPFやDKIM設定の問題を修正する。
      • 正当なメールが誤って隔離または拒否されていないか確認する。
      • 必要に応じてポリシーの微調整を行う。

まとめ

DMARCの正しい設定方法

DMARCの正しい設定方法については、以下のステップを踏むことが推奨されます:

  1. SPFの設定:送信者のIPアドレスが正しいことを確認するために、SPFレコードを設定します。
  2. DKIMの設定:メールの内容が改ざんされていないことを確認するために、DKIM署名を設定します。
  3. DMARCの設定:SPFとDKIMの結果を利用して、DMARCポリシーを設定します。

企業や個人がどのようにしてDMARCを導入すべきか

DMARCを導入する際は、以下の手順を参考にしてください:

  1. ドメインの現状確認:現在のドメインのメール認証状況を確認します。
  2. SPFとDKIMの設定:SPFとDKIMを適切に設定します。
  3. DMARCポリシーの設定:最初は「none」ポリシーから始め、レポートを確認しながら徐々に「quarantine」や「reject」に移行します。
  4. 定期的なレポート確認:DMARCレポートを定期的に確認し、問題が発生した場合は迅速に対応します。

DMARCのその先へ...

今後、DMARCの普及が進むことで、メールセキュリティの向上が期待されます。また、DMARCを適切に運用することで、BIMI(Brand Indicators for Message Identification)認証を導入する準備が整います。BIMI認証により、企業のロゴが受信者のメールボックスに表示され、ブランドの信頼性がさらに向上します。

次回ブログではBIMI認証についてハマったポイントも含めて紹介できればと思います。

最後に

アソビューは成長中の組織ですので整っていないところも沢山ありますが、メンバーとして・組織として一緒に成長していきたい方を大募集しています!
カジュアル面談もありますので、少しでも興味があればお気軽にご応募いただければと思います。

www.asoview.co.jp