Amazon SES の DMARC 認証プロトコルへの準拠 - Amazon Simple Email Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon SES の DMARC 認証プロトコルへの準拠

ドメインベースのメッセージ認証、レポート、コンプライアンス (DMARC) は、送信者ポリシーフレームワーク (SPF) と DomainKeys 識別メール (DKIM) を使用して E メールスプーフィングやフィッシングを検出する E メール認証プロトコルです。DMARC に準拠するには、メッセージを SPF または DKIM で認証する必要がありますが、理想的には、両方を DMARC で使用すると、E メール送信に対して可能な限り最高レベルの保護が保証されます。

それぞれが何をしているか、DMARC がそれらすべてを結び付ける方法を簡単に確認してみましょう。

  • SPF – DNS で使用される DNS TXT レコードを通じて、カスタム MAIL FROM ドメインに代わってメールを送信できるメールサーバーを識別します。受信者のメールシステムは SPF TXT レコードを参照して、カスタムドメインからのメッセージが承認されたメッセージングサーバーからのものであるかどうかを判断します。基本的に、SPF はスプーフィングを防ぐように設計されていますが、SPF が実際には影響を受けやすいスプーフィング手法があるため、DMARC とともに DKIM も使用する必要があります。

  • DKIM – E メールヘッダーのアウトバウンドメッセージにデジタル署名を追加します。受信メールシステムは、このデジタル署名を使用して、受信メールがドメインが所有するキーによって署名されているかどうかを確認することができます。ただし、受信メールシステムがメッセージを転送した場合、メッセージのエンベロープは SPF 認証を無効にする方法で変更されます。デジタル署名は E メールヘッダーの一部であるため、E メールメッセージとともに残っているため、DKIM はメッセージがメールサーバー間で転送された場合でも機能します (メッセージの内容が変更されていない場合に限ります)。

  • DMARC – 少なくとも SPF と DKIM の 1 つとドメインが連携していることを確認します。SPF と DKIM を単独で使用すると、差出人アドレスが認証されることを保証することはありません (これは受信者が E メールクライアントに表示される E メールアドレスです)。SPF は、MAIL FROM アドレスで指定されたドメインのみをチェックします (受信者には表示されません)。DKIM は、DKIM 署名で指定されたドメインのみをチェックします (受信者には表示されません)。DMARC は、SPF または DKIM のいずれかでドメインの配置が正しいことを要求することで、これら 2 つの問題に対処します。

    • SPF が DMARC アラインメントを渡すには、差出人アドレスのドメインが MAIL FROM アドレス (リターンパスおよびエンベロープ元アドレスとも呼ばれます) のドメインと一致する必要があります。これは、転送されたメールではほとんど起こりません。これは、E メールが削除されたり、サードパーティーの一括 E メールプロバイダーを介してメールを送信したりする場合です。リターンパス (MAIL FROM) は、プロバイダー (SES) が所有しているアドレスを使用して追跡するバウンスや苦情に使用されるためです。

    • DKIM が DMARC アラインメントに合格するには、DKIM 署名で指定されたドメインが差出人アドレスのドメインと一致する必要があります。ユーザーに代わってメールを送信するサードパーティーの送信者またはサービスを使用する場合は、サードパーティーの送信者が DKIM 署名用に適切に設定され、ドメイン内に適切な DNS レコードが追加されていることを確認することでこれを行うことができます。その後、受信メールサーバーは、ドメイン内のアドレスを使用する権限が付与されたユーザーによって送信されたメールであるかのように、サードパーティーから送信されたメールを検証できます。

すべてを DMARC とまとめる

上記の DMARC アラインメントチェックでは、SPF、DKIM、DMARC がすべて連携してドメインの信頼度を高め、受信トレイに E メールを配信する方法を示しています。DMARC は、受信者が確認した差出人アドレスが SPF または DKIM によって認証されるようにすることでこれを実現します。

  • 記述された SPF または DKIM チェックの一方または両方が成功すると、メッセージは DMARC を渡します。

  • 前述の SPF または DKIM チェックの両方が失敗すると、メッセージは DMARC に失敗します。

したがって、送信した E メールの認証を DMARC が最大限の確率で達成するには、SPF と DKIM の両方が必要です。また、これら 3 つをすべて活用することで、完全に保護された送信ドメインを確保できます。

DMARC では、設定したポリシーを使用して、DMARC 認証に失敗した E メールの処理方法を E メールサーバーに指示することもできます。これについては、次のセクション「」で説明します。このセクションにはドメインの DMARC ポリシーのセットアップ、送信する E メールが SPF と DKIM の両方を介して DMARC 認証プロトコルに準拠するように SES ドメインを設定する方法に関する情報が含まれています。

ドメインの DMARC ポリシーのセットアップ

DMARC をセットアップするには、ドメインの DNS 設定を変更する必要があります。ドメインの DNS 設定に、ドメインの DMARC 設定を指定する TXT レコードが含まれている必要があります。DNS 設定に TXT レコードを追加する手順は、DNS またはホスティングプロバイダーによって異なります。Route 53 を使用する場合、Amazon Route 53 デベロッパーガイドの「レコードで作業」を参照してください。別のプロバイダーを使用する場合、DNS 設定についてはプロバイダーのドキュメントを参照してください。

作成する TXT レコードの名前は、_dmarc.example.comの必要があります。ここで、example.comはお客様のドメインです。TXT レコードの値には、ドメインに適用される DMARC ポリシーが含まれています。以下に、DMARC ポリシーを含む TXT レコードの例を示します。

名前 タイプ
_dmarc.example.com TXT "v=DMARC1;p=quarantine;rua=mailto:my_dmarc_report@example.com"

前述の DMARC ポリシーの例では、このポリシーは E メールプロバイダーに次のことを指示します。

  • 認証に失敗したメッセージについては、ポリシーパラメータ で指定された Spam フォルダに送信しますp=quarantine。その他のオプションにはp=none、 を使用して何もしない、または を使用してメッセージを完全に拒否するなどがありますp=reject

    • 次のセクションでは、これら 3 つのポリシー設定をいつどのように使用するかについて説明します。間違ったポリシー設定を使用すると、E メールが配信されない可能性があります。「」を参照してくださいDMARC を実装するためのベストプラクティス

  • レポートパラメータで指定されているように、ダイジェスト (つまり、イベントごとに個別のレポートを送信するのではなく、一定期間のデータを集約するレポート) で認証に失敗したすべての E メールに関するレポートを送信します rua=mailto:my_dmarc_report@example.com (rua は集計レポートのレポート URI を表します)。ポリシーはプロバイダーごとに異なりますが、通常、E メールプロバイダーは 1 日 1 回レポートを送信します。

ドメインの DMARC 設定の詳細については、DMARC ウェブサイトの「概要」を参照してください。

DMARC システムの詳細な仕様については、「Internet Engineering Task Force (IETF) DMARC Draft」を参照してください。

DMARC を実装するためのベストプラクティス

DMARC ポリシーの適用を段階的かつ段階的なアプローチで実装し、メールフローの残りの部分を中断しないようにするのが最善です。これらのステップに従うロールアウト計画を作成して実装します。次のステップに進む前に、これらの各ステップを各サブドメインで実行し、最後に組織内の最上位ドメインで実行します。

  1. DMARC の実装による影響をモニタリングします (p=none)。

    • まず、サブドメインまたはドメインのシンプルなモニタリングモードレコードから始めます。このレコードは、メール受信側組織が、そのドメインを使用して表示されるメッセージに関する統計を送信するように要求します。モニタリングモードレコードは、ポリシーが none に設定されている DMARC TXT レコードですp=none

    • DMARC を通じて生成されたレポートでは、これらのチェックに合格したメッセージの数と送信元と、合格しなかったメッセージの数と送信元が示されます。正当なトラフィックのうち、どの程度対象となるか、または対象としていないかを簡単に確認できます。転送されたメッセージはコンテンツが変更されると SPF と DKIM に失敗するため、転送の兆候が表示されます。また、送信された不正メッセージの数と、その送信元も表示されます。

    • このステップの目的は、次の 2 つのステップのいずれかを実装したときにどのような E メールが影響を受けるかを把握し、サードパーティーまたは許可された送信者に SPF または DKIM ポリシーを連携させることです。

    • 既存のドメインに最適です。

  2. DMARC に失敗したメールを外部メールシステムが隔離するようにリクエストします (p= 隔離)。

    • 正当なトラフィックのすべてまたはほとんどが SPF または DKIM のいずれかとドメイン整合して送信されていると思われる場合、DMARC の実装による影響を理解すれば、隔離ポリシーを実装できます。隔離ポリシーは、 を隔離するように設定された DMARC TXT レコードですp=quarantine。これにより、DMARC に失敗したドメインからのメッセージを、顧客の受信トレイではなくスパムフォルダと同等のローカルに配置するよう DMARC 受信者に依頼します。

    • ステップ 1 で DMARC レポートを分析したドメインの移行に最適です。

  3. DMARC に失敗したメッセージを外部メールシステムが受け付けないようにリクエストします (p=reject)。

    • 通常、拒否ポリシーの実装は最後のステップです。拒否ポリシーは、 を拒否するように設定された DMARC TXT レコードですp=reject。これを行うと、DMARC チェックに失敗したメッセージを DMARC 受信者が受け付けないように求められます。つまり、スパムフォルダや迷惑メールフォルダに隔離されることもありませんが、完全に拒否されます。

    • 拒否ポリシーを使用すると、拒否すると SMTP バウンスが発生するため、DMARC ポリシーにどのメッセージが失敗しているかを正確に把握できます。隔離では、集約データは、SPF、DKIM、DMARC チェックに合格または不合格の E メールの割合に関する情報を提供します。

    • 前の 2 つのステップを完了した新しいドメインまたは既存のドメインに最適です。

SPF による DMARC への準拠

E メールが SPF に基づいて DMARC に準拠するためには、次の両方の条件を満たすことが求められています。

  • メッセージは、カスタム MAIL FROM ドメインの DNS 設定に発行する有効な SPF (TXT 型) レコードに基づいて SPF チェックに合格する必要があります。

  • E メールヘッダーの送信元アドレスのドメインは、MAIL FROM アドレスで指定されたドメインまたはサブドメインと一致する (一致) 必要があります。SES との SPF アラインメントを実現するには、ドメインの DMARC ポリシーで厳密な SPF ポリシー (aspf=s) を指定しないでください。

これらの要件に準拠するためには、次のステップを実行します。

  • カスタムの MAIL FROM ドメインを使用するの手順を実行して、カスタム MAIL FROM ドメインを設定します。

  • 送信元ドメインが SPF に relaxed ポリシーを使用していることを確認します。ドメインのポリシーアラインメントを変更していない場合は、デフォルトで SES と同様に relaxed ポリシーが使用されます。

    注記

    コマンドラインで以下のコマンドを入力して、example.comをドメインで置き換えることで、SPF での DMARC アラインメントを選択できます。

    dig -type=TXT _dmarc.example.com

    このコマンドの出力の [Non-authoritative answer] から、v=DMARC1で始まるレコードを探します。このレコードに文字列aspf=rが含まれるか、またはaspf文字列がまったく存在しない場合、ドメインは SPF に relaxed アラインメントを使用します。レコードに文字列aspf=sが含まれる場合、ドメインは SPF に strict アラインメントを使用します。システム管理者は、ドメインの DNS 設定の DMARC TXT レコードからこのタグを削除する必要があります。

    または、dmarcian ウェブサイトの DMARC Inspector や MxToolBox ウェブサイトの DMARC Check Tool ツールなどのウェブベースの DMARC ルックアップツールを使用して、SPF に対するドメインのポリシーアラインメントを決定することもできます。

DKIM による DMARC への準拠

E メールが DKIM に基づいて DMARC に準拠するためには、次の両方の条件を満たすことが求められています。

  • メッセージには有効な DKIM 署名が必要で、DKIM チェックに合格する必要があります。

  • DKIM 署名で指定されたドメインは、差出人アドレスのドメインと一致する (一致) 必要があります。ドメインの DMARC ポリシーで DKIM の厳密なアラインメントが指定されている場合、これらのドメインは正確に一致する必要があります (SES はデフォルトで厳密な DKIM ポリシーを使用します)。

これらの要件に準拠するためには、次のステップを実行します。

  • Amazon SES のEasy DKIMの手順を実行して Easy DKIM を設定します。Easy DKIM を使用すると、Amazon SES は自動的に E メールに署名します。

    注記

    Easy DKIM を使用せずに、メッセージに手動で署名することもできます。ただし、Amazon SES は構築した DKIM 署名を検証しないため、この選択は慎重に行ってください。そのため、Easy DKIM を使用することを強くお勧めします。

  • DKIM 署名で指定されたドメインが、差出人アドレスのドメインに整合していることを確認します。または、差出人アドレスのドメインのサブドメインから送信する場合は、DMARC ポリシーが relaxed アラインメントに設定されていることを確認してください。

    注記

    コマンドラインで以下のコマンドを入力して、example.comをドメインで置き換えることで、DKIM での DMARC アラインメントを選択できます。

    dig -type=TXT _dmarc.example.com

    このコマンドの出力の [Non-authoritative answer] から、v=DMARC1で始まるレコードを探します。このレコードに文字列adkim=rが含まれるか、またはadkim文字列がまったく存在しない場合、ドメインは DKIM に relaxed アラインメントを使用します。レコードに文字列adkim=sが含まれる場合、ドメインは DKIM に strict アラインメントを使用します。システム管理者は、ドメインの DNS 設定の DMARC TXT レコードからこのタグを削除する必要があります。

    または、dmarcian ウェブサイトの DMARC Inspector や ウェブサイトの DMARC Check Tool ツールなどのウェブベースの DMARC ルックアップツールを使用して MxToolBox 、DKIM のドメインポリシーアラインメントを決定することもできます。