見出し画像

Gmailの迷惑メール対策が強化! Amazon SESを使用している場合の対応の概説


はじめに


こんにちは。SHIFT DAAE(ダーエ)部の栗山です。
2024年の2月よりGmailの迷惑メール対策が強化されます。ソース:メール送信者のガイドライン(Gmailヘルプ)
Yahooについても同様の対策が始まります。ソース:More Secure, Less Spam: Enforcing Email Standards for a Better Experience

本稿ではAmazon SESを使用している場合に、Gmailへのメール送信者が満たすべき要件について整理し、解説します(以下ではAmazon SESをSESと記載します)。
本稿は「まず最初に読むべき資料」として重要性の高い事項について述べます。
具体的な内容は以下です。

  • 要件について解説

  • SESのデフォルト状態で設定されているか否か

  • SESのデフォルト状態で設定されている場合は、そのエビデンス

  • SESのデフォルト状態で設定されない場合は、対方法の概説

本テーマは情報が膨大となるため、「すべての送信者の要件」を対象に、具体的な設定方法についても参照リンクを紹介するにとどめます。

Gmailへのメール送信者が満たすべき要件の整理


メール送信者が満たすべき要件を以下に整理します。ソースはこちらです。
要件は「すべての送信者が対応が必要なもの」と「1日5000件以上のメールを送信する場合に対応が必要なもの」とに分かれます。そのほとんどの要件が「すべての送信者が対応が必要なもの」であることに注意しましょう。
以下の表では、対応が必要な場合に✅をしています。 SESを使っている場合に、全ての送信者に対応が必要となる要件は以下の3つです(次章で詳しく説明します)

  • Postmaster Tools で報告される迷惑メール率を 0.10% 未満に維持し、迷惑メール率が決して 0.30% 以上にならないようにする。

  • Gmail の From: ヘッダーのなりすましはしない

  • メーリング リストや受信ゲートウェイを使用するなどして、メールを定期的に転送する場合は、送信メールに ARC ヘッダーを追加

すべての送信者が対応が必要なものについて


Postmaster Tools で報告される迷惑メール率を 0.10% 未満に維持し、迷惑メール率が決して 0.30% 以上にならないようにする。

この要件を満たすには、SES側の設定が必要なので注意してください。

Postmaster ToolsはGoogleが提供しているツールで、Gmailに送信されたメールの迷惑メール率を確認することができます。
Postmaster Toolsに登録するドメインは、SPF認証かDKIM認証で検証されたドメインである必要があります。SESでその設定をしていない場合、SPF認証とDKIM認証で検証されるドメインはSESのものになってしまうため、Postmaster Toolsへの登録ができません。

「SPF認証やDKIM認証で検証されるドメイン」を確認するにはメールのヘッダーの「Authentication-Results:」の部分を見ます。
以下は「sample-kuriyama.com」というドメインからメールを送信した場合の例です。

Authentication-Results: spf=pass (sender IP is 23.251.234.4) smtp.mailfrom=ap-northeast-1.amazonses.com; dkim=pass (signature was verified) header.d=amazonses.com;dmarc=fail action=none header.from=sample-kuriyama.com;compauth=fail reason=001

spf=passに続くsmtp.mailfromの値が「ap-northeast-1.amazonses.com」になっています。
dkim=passに続くheader.dの値も「amazonses.com」になっています。

メールヘッダーの値がこのようになっている場合「sample-kuriyama.com」をPostmaster Toolsに登録できないというわけです。

これらの設定をSESで行う場合の参照先を記します。

SESの設定を終えたら、Postmaster Toolsの設定を行います。参照先を以下に記します。
Get started with Postmaster Tools

Gmail の From: ヘッダーのなりすましはしない

これは「Gmailからメールを送信していないにもかかわらず、Gmailからメールが送信されたように見せかけないでください」ということです。

もう少し具体的に言うと、「Gmailからメールを送信していないにもかかわらず、メール送信者のドメインにgmail.comを使用しないでください」ということです。

例えば、SESでメールを送信する場合、実際にメールを送信するのはamazonses.comのサーバーです。この場合に(gmail.comにspfレコードを設定せずに※)メール送信者のドメインをgmail.comに設定するようなケースが該当します。

※実質的にgmail.comにspfレコードを設定するのは不可能だと思いますが。

メーリング リストや受信ゲートウェイを使用するなどして、メールを定期的に転送する場合は、送信メールに ARC ヘッダーを追加

こちらについては、メールを転送する場合のみの設定となるため、本稿の対象外とします。

SESでデフォルトで設定されるもののエビデンス


以下では、SESでデフォルトで設定されるものについて、その参照先(エビデンス)を記します。

ドメインに SPF または DKIM メール認証を設定

SESでメールを送信する場合、SPF認証もDKIM認証も設定されます。

注意点としては、検証されるのはSESのドメインになることです。例えば「sample-kuriyama.com」というドメインからSESを使用してメールを送信する場合、SPF認証とDKIM認証は通るもののDMARC認証が通りません。SPF認証とDKIM認証で検証されるドメインはSESのものになる一方で、メール送信ドメインは「sample-kuriyama.com」となり両者が一致しないためです。

これを解消するためにはSESでカスタムMAIL FROMの設定を行います(本稿ではDMARC認証は対象外とするため、これ以上は触れません)

送信元のドメインまたは IP に、有効な正引きおよび逆引き DNS レコード(PTR レコードとも呼ばれます)があること

これは参照先が見つからなかったため、digコマンドで確かめました。
※メール送信元ドメインのForward DNS設定、Reverse DNS設定がされていることは、メール送信元の確認としては基本的なことなので、あえてドキュメントとしてはないのかもしれません。

では、SESでメールを送信した場合のメールの送信元ドメインに対して以下を確かめます。

  • ドメインからIPアドレスが引けること(Forward DNS設定がされていること)

  • IPアドレスからドメインが引けること(Reverse DNS設定がされていること)

以下はSESからメールを送信した場合のヘッダーの例です。メール送信サーバーのドメインが「e234-4.smtp-out.ap-northeast-1.amazonses.com」であることがわかります。

Received: from e234-4.smtp-out.ap-northeast-1.amazonses.com (23.251.234.4) by TY2PEPF00005624.mail.protection.outlook.com (10.167.240.55) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.14 via Frontend Transport; Thu, 11 Jan 2024 02:59:37 +0000

digコマンドでドメインからIPが引けることを確かめます。

$ dig e234-4.smtp-out.ap-northeast-1.amazonses.com

; <<>> DiG 9.16.1-Ubuntu <<>> e234-4.smtp-out.ap-northeast-1.amazonses.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16260
;; flags: qr rd ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;e234-4.smtp-out.ap-northeast-1.amazonses.com. IN A

;; ANSWER SECTION:
e234-4.smtp-out.ap-northeast-1.amazonses.com. 0 IN A 23.251.234.4

;; Query time: 0 msec
;; SERVER: 172.24.64.1#53(172.24.64.1)
;; WHEN: Fri Jan 19 16:58:36 JST 2024
;; MSG SIZE  rcvd: 122

ANSWER SECTIONを見ると、「e234-4.smtp-out.ap-northeast-1.amazonses.com.」のAレコードに「23.251.234.4」が設定されていることがわかります。

次はIPアドレスからドメインが引けることを確かめます。

$ dig -x 23.251.234.4

; <<>> DiG 9.16.1-Ubuntu <<>> -x 23.251.234.4
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5913
;; flags: qr rd ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;4.234.251.23.in-addr.arpa.     IN      PTR

;; ANSWER SECTION:
4.234.251.23.in-addr.arpa. 0    IN      PTR     e234-4.smtp-out.ap-northeast-1.amazonses.com.

;; Query time: 119 msec
;; SERVER: 172.24.64.1#53(172.24.64.1)
;; WHEN: Fri Jan 19 17:06:06 JST 2024
;; MSG SIZE  rcvd: 126

ANSWER SECTIONを見ると、PTRレコードとしてIPアドレスとドメインが設定されていることが分かります(PTRレコードではIPアドレスは逆順に記載されます)

メールの送信に TLS 接続を使用

SESを使用する場合、TLSで暗号化されます。 Amazon SES およびセキュリティプロトコルより。

Internet Message Format 標準(RFC 5322)に準拠する形式でメールを作成

Amazon SES では、Internet Message Format 仕様(RFC 5322)に準拠した E メールメッセージを構築します

最後に


概説として内容を絞っても、それなりの分量になりました。今後、本稿では触れることのできなかった内容(DMARC認証など)についても記事を書きたいです。

\もっと身近にもっとリアルに!DAAE公式Twitter/


筆者プロフィール:Kuriyama Akira
睡眠負債ゼロを目指しています。

お問合せはお気軽に

SHIFTについて(コーポレートサイト)
https://www.shiftinc.jp/

SHIFTのサービスについて(サービスサイト)
https://service.shiftinc.jp/

SHIFTの導入事例
https://service.shiftinc.jp/case/

お役立ち資料はこちら
https://service.shiftinc.jp/resources/

SHIFTの採用情報はこちら

PHOTO:UnsplashSolen Feyissa