Googleメール送信ガイドライン対応
発表当時話題になったガイドライン。 5000通を超える場合はSPF, DKIM, DMARCの設定が必要になる。注意点としてプライマリドメイン毎であるため、グループ会社などで同一ドメインを取っている場合、知らないうちに上限を超えてしまう。
送信元ドメイン: 上限である 5,000 件の計算では、同じプライマリ ドメインから送信されたすべてのメールがカウントされます。たとえば、solarmora.com から 2,500 件、promotions.solarmora.com から 2,500 件のメールを個人の Gmail アカウントに毎日送信しているとします。この場合、5,000 件のメールがすべて同じプライマリ ドメイン(solarmora.com)から送信されているため、送信しているユーザーは一括送信者とみなされます。 (https://support.google.com/a/answer/14229414)
- SPF、DKIMはサブドメインに適用されないので、それぞれ別々に設定する必要がある。
- DMARCはrelaxed modeの場合はサブドメインにも適用される。strict mode の場合は厳密比較。
以下の記事が詳細で分かりやすかった
かんたんな図解
![送信ドメイン認証(SPF / DKIM / DMARC)の仕組みと、なりすましメール対策への活用法を徹底解説-エンタープライズIT [COLUMNS]](https://ent.iij.ad.jp/wp-content/uploads/2019/06/e-security-300x141.png)
SPF
Sender Policy Framework
- 送信元サーバーとDNS上のIPアドレスを比較し、正規サーバーからの送信であることを示すドメイン認証技術。
- あくまでIPアドレスで、ドメインは見ていない。
- プライマリドメインを指定してサブドメインに適用させることはできない
DKIM
Domain Keys Identified Mail
- デジタル署名の仕組み。送信元が署名(秘密鍵)をし、送信先でその検証(公開鍵)を行うことで改ざんを検知する。
- プライマリドメインを指定してサブドメインに適用させることはできない
DMARC
Domain-based Message Authentication, Reporting, and Conformance
DKIMは、異なるドメインからのFromアドレス詐称を許してしまうという限界があります。 これは、DKIMの鍵のドメイン名(d=タグ)とFromアドレスが一致しているかどうかを検証する仕組みが存在しないためです。 詐称者は、自身のドメインでSPFとDKIMを設定し、Fromアドレスを詐称したいドメインに変更することで、なりすましメールを送ることが可能です。 (https://maildata.jp/specification/dmarc.html)
なんかDKIM使ってもなりすませるんだけど……と思ってたので、腑に落ちた。
- SPFやDKIMで検証しきれない部分をカバーする。
- どちらかPASSすればよくて、SPFがPASS、DKIMがFAILの場合、DMARCはPASSとなる。
- プライマリドメインを指定してサブドメインに適用させることができる(リラックスモード)。
- Googleのガイドライン上、ポリシーはnone(特に何もしない)で良いが、今後は検疫などを求められる可能性あり。
- デフォルト値が分かりにくい(記事によってマチマチ)。SPFもDKIMもデフォルトはリラックスモード。
EC2からのメール送信
EC2にpostfixを載せてメールを送信する場合。 単純に25ポートを空けたら良いわけではなく、緩和申請が必要(昔からそうらしい)。有名らしいけど初遭遇。
