0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SPF, DKIM, DMARCメモ

Last updated at Posted at 2024-10-22

はじめに

SPF, DKIM, DMARCについてのメモです。自分用。厳密な確認は行っていません。無保証でお願いします。

どれもDNSを使う

  • SPF, DKIM, DMARC全てDNSを使う

SPF

  • SPFは、ざっくり、クライアントのドメイン名とIPアドレスが正しいかの検証を行うものだが、ドメイン名の情報として、どこの情報を用いるかを明確にしたい
  • 当初は、メール本文の発信アドレスにあるドメイン名を用いるのかと思ったが、spf=passのメールで、平気で全く異なるメールアドレスが記載されているものが、普通にあることに気づく
  • そこで、SMTPに立ち戻って考え直してみたが、SMTPで最初に交換するドメイン名を使うだろうと推測。このドメイン名とIPアドレスの組み合わせが、DNSのSPFの情報と一致すれば、passになるだろうと推測(厳密には未確認)
  • 意味的には、名乗ってきたSMTPサーバが正しいか(なりすましではない)ことを検査することか
  • 以下のエンティティ図に当てはめると、smtp.example-b.comが、smtp.example-a.comを認証する。なお、メールクライアントが、smtp.example-a.comに、メールを送信する際もSMTPを使うが、こちらは、ユーザのパスワード認証等が使える
  • メール本文には関与しないので、メール本文のFromのメールアドレスが自ドメインと全く異なっても、SPF的にはエラーしない
  • RFC7208: Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1

DKIM

  • 送信側が署名して、受信側で検証
  • DNSには、公開鍵を登録
  • メール本文の改ざん検出が対象と推測(未確認)
  • メール本文のFromのメールアドレスが自ドメインと全く異なっても、署名後改竄されない限り、エラーにならない

DMARC

  • SPFとDKIMの検証がエラーした際の、メールの扱い方のポリシーを伝える
  • ポリシーには、廃棄、隔離、受信がある
  • メール本文のFromのメールアドレスが自ドメインと全く異なっても、SPFやDKIMでもエラーにならない
  • spf=pass, dkim=passで、mail bodyのFrom addressが異なるドメインなら、スパム対応なメールサーバから送信されていることを意味しそう
  • spf=pass, dkim!=passで、mail bodyのFrom addressが異なるドメインなら、途中でFrom addressが改竄されている可能性があるが、スパム対応なメールサーバから送信されている可能性もありそう

SMTPのおさらい

  • クライアント - サーバ型、テキストベース
  • クライアントがサーバに接続すると、サーバがドメイン名を名乗る
  • クライアントが自身のドメイン名を知らせる
  • クライアントが、発信メールアドレス、宛先メールアドレスをサーバに知らせる
  • メール本文をクライアントに送信する。その際、メール本文に、発信メールアドレス、宛先メールアドレスを含む
  • ドットでメール本文送信完了
  • サーバは、Receivedヘッダフィールドを追加する。このフィールドには、上記のやりとりで通知されたドメイン名とIPアドレス、そして、メッセージIDを含む
  • 上記のやり取りの中で、ドメイン名は、3箇所出てくる。最初はドメイン名を名乗る際、次は発信メールアドレスを知らせる際、最後は、メール本文内の発信メールアドレス (メール本文内にアドレスがあるか要確認)

エンティティ

            example-a.com           :          :           example-b.com
 +--------+              +--------+ :          : +--------+              +--------+
 | client +--------------+  Mail  +--------------+  Mail  +--------------+ client |
 |        |   --SMTP->   | server |   --SMTP-->  | server | --POP/IMAP-> |        |
 +--------+              +--------+ :          : +--------+              +--------+
                smtp.exampie-a.com  :          : smtp.example-b.com

スパムの可能性

  • 交換するドメイン名、通知するメールアドレス、メール本文に記載されているメールアドレスが同じであれば問題ない
  • ドメイン名、メールアドレス、メール本文に記載のメールアドレスが異なることがありうる

昔の記憶より

  • 昔々、telnet smtp.example-a.com smtpみたいなことをして、メールを出してみたことを思い出した。また、VRFYコマンドも思い出す

略語

SPF: Sender Policy Framework
DKIN: DomainKeys Identified Mail
DMARC: Domain-based Message Authentication, Reporting and Conformance

参考資料

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?