spf

SPF(Sender Policy Framework)について調査した

メモです。
違っている点などあればご指摘頂けますと。

参考

SPF is 何?

  • Sender Policy Framework(SPF)
  • SMTPを利用したインターネット電子メールの送受信において送信者のドメインの偽称を防ぐ仕組み

どうすれば対応出来る?

  • 対応するためにはPostfixなどをインストールしたメールサーバーのIPアドレスについてメールアドレスのドメインのDNSのTXTリソースレコードもしくはSPFレコードを登録しておく

SPFのチェックを行う場合の通信の流れは?

  • Postfixなどの送信メールサーバーから受信メールサーバーにSMTP通信を行う
  • 受信メールサーバーはMAIL FROM:コマンドの引数に与えられたメールアドレスのドメイン部分を利用してDNSにSPFのレコード情報を取得する
  • 取得したレコードの情報に送信メールサーバーのリストがあるので送信メールサーバーがリストに存在するか確認する。存在すれば正しい送信メールサーバーと判断とする

SPFレコードの確認

TXTレコードとして登録されている場合、以下のようにすることで確認できます。

$dig mydomain.com txt +short
"v=spf1 ip4:xxx.xxx.xxx.xxx -all"

この例であればipv4の「xxx.xxx.xxx.xxx」というIPアドレスが送信メールサーバーであることを示しています。

gmailで試すと以下のようになっておりました。

$dig gmail.com txt +short
"v=spf1 redirect=_spf.google.com"

$dig _spf.google.com txt +short
"v=spf1 include:_netblocks.google.com include:_netblocks2.google.com include:_netblocks3.google.com ~all"

SPFレコードの場合、dig -t SPF mydomain.comという感じで確認出来るよという記事があったのですが例がなく確認ができず。。

[手順] ドメインに SPF レコードが正しく設定されているか確認するにはどうすればよいですか?

他のチェック方法は?

いくつかのサイトが有るようです。
以下が機能が豊富そうでした

SPF Record Testing Tools