Amazon Simple Email Service
開発者ガイド

Amazon SES での DMARC への準拠

DMARC (Domain-based Message Authentication, Reporting and Conformance) は、SPF (Sender Policy Framework) およびドメインキーアイデンティファイドメール (DKIM) を使用してメールスプーフィングを検出するためのメール認証プロトコルです。DMARC に準拠するため、メッセージは SPF または DKIM のいずれか、または両方で認証される必要があります。

このトピックには、送信する E メールが SPF および DKIM の両方に準拠するよう Amazon SES を設定するのに役立つ情報が含まれます。これらの認証システムのいずれかに従うことで、E メールを DMARC に準拠させることができます。DMARC の仕様については、http://www.dmarc.org を参照してください。

ドメインの 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;pct=25;rua=mailto:dmarcreports@example.com"

単純な言語で、このポリシーは E メールプロバイダーに以下のことを指示します。

  • example.com の「From」ドメインを持ち、SPF または DKIM 認証に合格しないすべての E メールを探します。

  • 認証に失敗した E メールの 25% をスパムフォルダに送信して隔離します。(また、p=none を使用して何も実行しない、あるいは p=reject を使用してメッセージを完全に拒否することもできます。)

  • 認証が失敗したすべての E メールに関するレポートをダイジェスト (つまり、イベントごとに個別のレポートを送信するのではなく、特定の期間のデータを集計したレポート) で送信します。ポリシーはプロバイダーごとに異なりますが、通常、E メールプロバイダーは 1 日 1 回レポートを送信します。

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

DMARC システムの完全な仕様については、IETF ウェブサイトの「RFC 7489」を参照してください。このドキュメントのセクション 6.3 には、ドメインの DMARC ポリシーを設定するために使用できるタグの完全なリストが含まれています。

SPF による DMARC への準拠

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

  • E メールが SPF チェックに合格する必要があります。

  • メールヘッダーに含まれる From アドレスのドメインは、送信側メールサーバーが受信側メールサーバーに指定する MAIL FROM ドメインと合致する必要があります。ドメインの DMARC ポリシーが SPF で strict アラインメントを指定している場合、From ドメインと MAIL FROM ドメインが完全に一致する必要があります。ドメインの DMARC ポリシーが SPF で relaxed アラインメントを指定している場合、From ヘッダーに指定されたドメインのサブドメインを MAIL FROM ドメインにすることができます。

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

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

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

    注記

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

    nslookup -type=TXT _dmarc.example.com

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

    または、ウェブベースの DMARC ルックアップツール (dmarcian ウェブサイトの DMARC Inspector や Proofpoint ウェブサイトの DMARC Check ツールなど) を使用して、お客様のドメインのポリシーが SPF に準拠しているかどうかを判断できます。

DKIM による DMARC への準拠

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

  • 有効な DKIM 署名がメッセージに含まれている必要があります。

  • E メールヘッダーの From アドレスが DKIM 署名の d= ドメインに合致すること。ドメインの DMARC ポリシーで DKIM に strict アラインメントが指定されている場合は、これらのドメインが完全に一致する必要があります。ドメインの DMARC ポリシーが DKIM に relaxed アラインメントを指定している場合、From ドメインのサブドメインを d= ドメインにすることができます。

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

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

    注記

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

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

    注記

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

    nslookup -type=TXT _dmarc.example.com

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

    または、ウェブベースの DMARC ルックアップツール (dmarcian ウェブサイトの DMARC Inspector や Proofpoint ウェブサイトの DMARC Check ツールなど) を使用して、お客様のドメインのポリシーが DKIM に準拠しているかどうかを判断できます。