NNIPFの話題も出たので、SPFについても書く事にします。
SPFって何?
Weblioはこう答えてくれました。
SPF とは (Sender Policy Framework) エスピーエフ, えすぴーえふSPFとは、電子メールの送信元ドメインを認証する方式のひとつである。SMTPの拡張仕様であり、RFC 4408として定義されている。
ここまでの説明は合ってます。が、以下の下りは完璧に間違っています。
SPFでは、あるドメインに対して電子メールを送ることのできるアドレスを、メールサーバーの側であらかじめ送信者のIPアドレスとして管理している。管理よって認証されたアドレスがメールサーバーの保有している情報と整合した場合に限り、そのメールが正当なものとして送信される。
詳しくはRFC 4408またはhttp://www.openspf.org/を見ていただくとして、ここではSPFの大まかな流れを説明します。
spam@exmaple.comからmailを受け取ったとします。- この時、受信側がSPFに対応していたら、
example.comのTXTレコードをDNSで引きます。 - もしTXTレコードが存在していなければ、SPFはそのmailをneutral、中立として扱います。
- もしレコードが存在していたら、それが
v=spfではじまっているかを確認します。これがSPFレコードです。こんな感じの内容です。"v=spf1 +a:mail.example.com ?all"
ここではこれの意味は解釈しません。でもご安心を。The SPF Setup Wizardでわかりやすい解釈をしてくれます。 - このSPFレコードを受信サーバーが解釈した上で、そのmailの扱いを決めます。捨ててしまうとは限りません。通常
Received-SPF:というヘッダーがmailに追加され、そこに判定結果が反映されます。
SPFのポイント
ここで重要なポイントをいくつか挙げておきます
SPFレコードを持っているのはDNS
これが一番の特徴です。これにより、送信側がSPFに対応するのに必要な措置は、DNSのTXTレコードを一つ追加するだけなのです。SPF未対応の受信サーバーに迷惑を可能性は全くありません
SPFをどう使うかは、受信サーバーにまかされている
上述のとおり、SPFはただのDNSレコード(正確には「サブ」レコード)です。それを利用するかどうか、SPF未対応の発信元をどう扱うか、そしてSPFレコードを解釈した結果の扱いは、すべて受信サーバーにまかされています。
SPF対応 -- 発信者側
上述のとおり、これは実に簡単です。DNSにTXTレコードを追加するだけなのですから。具体的な方法は、http://www.openspf.org/をご覧下さい。The SPF Setup Wizardを使ってもいいでしょう。
SPFの仕組みというのは、From:を詐称するのはSMTPのセッションでいくらでも可能なのに対し、DNSのレコードは、正当なドメイン保持者でない限り難しいという点を利用しています。最も効果があるのはよってドメイン詐称です。本当は別のSPAMサーバーから送られているのに、アドレスを見るとyahoo.co.jpとなっているSPAMを多く見かけませんか?SPFはこの手のSPAMに対しすこぶる有効です。
受信側で対応しなくてもいいから、DNSにSPFのTXTレコードは登録しておいて欲しいというのが、一日に30万件のSMTP Connectionを受けている私の切実な願いです。
SPF対応 -- 受信者側
私の場合はqpsmtpdを利用しているので、SPF対応はMail::SPF::Queryモジュールをインストールしてから、pluginsの設定でsender_permitted_fromをアンコメントしただけで対応が完了してしまいましたが、導入の難易度はお使いの環境によって変ってくるでしょう。
見ての通り、受信者側の対応は送信側の対応より難しいのですが、この仕組みからすれば、実はMTAレベルでなくMUAレベルでもSPFを使う事ができるのです。Fromを見てSPFのQueryを行えばいいので、フィルタープログラムを書けば、サーバー単位ではなくユーザー単位での対応も可能なわけです。
まとめ
SPFは手軽な割に強力なSPAM対策です。とくに発信者側の対応は、DNSの管理者であれば1分とたたずにできてしまいます。まだやっていない方はすぐにでもやってみてください。少なくともあなたのサイトのメールがSPAM判定される確率は格段に減ります。
受信者側の設定も、とりあえず最初はヘッダーを書き換えるだけにして、実際のSPAM判定はそれを元にMUAでやってもらうようにすれば、段階的に導入を進める事ができます。そうしてSPFが普及して行けば、From詐称は格段に減るはずです。
Dan the Antispammer
付録:日本における対応状況
ここではAlexaの日本語Top 100に対して本entry現在の対応状況を見ています。赤が未対応、緑が対応済みです。ただし、googleのように、mailは別ドメインで扱っている例もあるのでこの対応表は即そのドメイン保有者がSPFを無視していることを意味するものではありません。
- yahoo.co.jp
- google.co.jp
- mixi.jp
- fc2.com
- rakuten.co.jp
- livedoor.com
- goo.ne.jp
- infoseek.co.jp
- dell.com
- amazon.co.jp
- geocities.jp
- nifty.com
- 2ch.net
- sakura.ne.jp
- biglobe.ne.jp
- hatena.ne.jp
- symantec.com
- ameblo.jp
- ocn.ne.jp
- seesaa.net
- dmm.co.jp
- excite.co.jp
- msn.co.jp
- jugem.jp
- exblog.jp
- xrea.com
- mainichi-msn.co.jp
- hangame.co.jp
- ucom.ne.jp
- nikkei.co.jp
- dion.ne.jp
- impress.co.jp
- so-net.ne.jp
- im.tv
- dtiblog.com
- yaplog.jp
- fc2web.com
- itmedia.co.jp
- iij4u.or.jp
- kakaku.com
- plala.or.jp
- xmbs.jp
- yomiuri.co.jp
- teacup.com
- sytes.net
- nikkeibp.co.jp
- asahi.com
- gyao.jp
- nikkansports.com
- apserver.net
- ameba.jp
- shinobi.jp
- 99bb.com
- geocities.co.jp
- sub.jp
- allabout.co.jp
- gnavi.co.jp
- tbs.co.jp
- punyu.com
- x0.com
- nicovideo.jp
- home.ne.jp
- cgiboy.com
- vector.co.jp
- cool.ne.jp
- artemisweb.jp
- oricon.co.jp
- rakuten.ne.jp
- zombie.jp
- tosp.co.jp
- kir.jp
- sanspo.com
- atwiki.jp
- a8.net
- with2.net
- ddo.jp
- ime.nu
- fm-p.jp
- zakzak.co.jp
- peps.jp
- sponichi.co.jp
- nhk.or.jp
- cpz.to
- jp-sex.com
- jword.jp
- carview.co.jp
- japanpost.jp
- caribbeancom.com
- mapion.co.jp
- mycom.co.jp
- drecom.jp
- bidders.co.jp
- alc.co.jp
- mag2.com
- sony.co.jp
- tokyo.jp
- www.ne.jp
- lolipop.jp
- nttdocomo.co.jp
- bbspink.com
このブログにコメントするにはログインが必要です。
さんログアウト
この記事には許可ユーザしかコメントができません。