おじさんエンジニアの日記

おじさんエンジニアがWeb関連の技術、ガンプラのことを書くブログ

Fromの違いから始まるメールセキュリティ

Googleが発表した送信ガイドライン関連で改めて調べ直したので、まとめてみた

エンベロープFromとヘッダーのFromの違い

まずはエンベロープFromとヘッダーのFromの違いを知っておく必要があるのでまとめる

エンベロープFrom ヘッダーのFrom
用途 メールの配信ルートを制御 メール本文に表示される送信者情報
受信者が参照するか 通常は参照しない 参照する
表示内容 送信者のメールサーバー情報 送信者の名前とメールアドレス
スパム判定 エンベロープFromが偽造されたメールはスパムと判定される可能性がある ヘッダーのFromが偽造された場合、受信者に誤解を招く可能性がある

SPFレコードとは(Sender Policy Framework)

SPFレコードは、ドメイン所有者が「このドメインからメールを送っていいサーバーはこれだよー」という情報を公開するためのもの

DNSのレコードに追加するだけなので対応としては容易。

フォームなどメール送信する機能がサイトにある場合、サーバーの引っ越し時に変更する必要があるので気をつける

注意点

  • 確認するFromはエンベロープFromで、ヘッダーのFromではない
  • 受信メールサーバー側がドメインSPFレコードを確認してOKなら正しい送信元と判定するが、NGの場合は、必ずスパムと判断される訳では無い
  • すべてのメールサーバーがチェックをしているわけではないので完全な防御策ではなく、信頼性を高める仕組み

SPFレコードチェックの流れ

SPFレコードの書き方

  • TXTレコードに記載をする
  • v=spf1で始め、複数指定する場合は半角スペースで区切る
  • IP指定の場合
    • ip4:XXXXで。CIDR 表記も可能
  • 他のドメインSPFレコードを参照させる場合
  • ドメインのAレコードを指定する場合
  • 最後はallをつける
    • 条件に一致しないときは、allのルールに従う
    • allの前に処理の指定の記号をいれる(限定子というらしい)
  • 外部のレコード参照は最大10回まで

v=spf1 include:example.com +ip4:192.168.0.1 ~all

SPFレコードの限定子の種類

限定子 意味 説明
"+" PASS 条件に一致したらパス
"-" FAIL 条件に一致したらFail
"~" SOFTFAIL 条件に一致したらSoftfail、一時的なエラー
"?" NEUTRAL 条件に一致したら中立、結果を左右しない

DKIMとは(DomainKeys Identified Mail)

「ディーキム」って読みます。

メールが特定のドメインから送信されたことを証明するための電子署名技術

メールの改ざんを保証する。

DNSに加えて送信元のメールサーバーにも設定が必要なので、SPFレコードに比べるとハードルが高い

注意点

  • 確認するFromはエンベロープFromで、ヘッダーのFromではない
  • すべてのメールサーバーがチェックをしているわけではないので完全な防御策ではなく、信頼性を高める仕組み

DKIMレコードチェックの流れ

`

DMARCの前にSPFDKIMの問題について

どちらもエンベロープFromを見ているので、エンベロープFromに記載したドメインに正しく設定していれば、受信側は正しいと判断できてしまうため、なりすましの完全な対策にはならない。

DMARCとは

「ディーマーク」って読みます。

上記の問題の対策として作成。

ヘッダーのFromの情報も確認し、認証結果に対してどう対処するかの指定をする。

また、認証の結果を報告する仕組みもある。

DMARCのポリシー

ポリシー 意味 説明
none 何もしない 通常通りメールを扱ってもらう。
quarantine 迷惑メールとする 迷惑メールとして扱ってもらう
reject 受け取らない 拒否してもらう

DMARCのチェックの流れ

DMARCの書き方

  • ドメインの前に「_dmarc.」をつけたものが、DMARCのレコードの名前となる
  • TXTレコードに記載をする
  • v=DMARC1;で始める
  • p=[ポリシー]でポリシーを指定
  • rua=mailto:[メールアドレス]でレコートのメールアドレスを指定

    _dmarc.example.com. IN TXT "v=DMARC1; p=none; rua=mailto:hoge@example.com;"

この場合、認証に失敗しても何もしない。レポートはhoge@example.comに送信

他にも細かいルールがあるが、一旦最低限のルールのみ記載している

参考書籍