« 200LXの修理 | メイン | SonicWall SSL-VPN200 »

SPFについて調べる。

         

携帯サイトをターゲットに会員向けメール配信をしたいと考えている。
高速かつSPAM問題を考えるとやはり対応が必要なのはSPFかなと調べて
みた。

そもそもSPFとは Sender Policy Framework
の略称で送信元ドメインの偽証を防ぐ手段らしい。

いちお大手4社は対応済み (Docomo,AU,Softbank,Willcom)
対応への提言として
 http://jeag.jp/news/pdf/wireless20060223.pdf
 対応状況とかまとめられてるが本稿とはあんまり関係ない。

そもそも認証をするためにはDNS側およびメールサーバ側での実装が必要
になる。
同様な仕様としてDomainKeyという仕組みがあるこれも同様に送信者側の
偽装を防ぐ仕組みではあるがメール側にデジタル署名をするなど差がある
ようだ。一報SPFは送ってきたやつが登録されているかを確認することに
よりほんとにそいつ?という仕組みらしい。

対応に関しては日本ではこんな資料があった
http://www.iij.ad.jp/news/pressrelease/2006/0223.html

BIND側の設定
BINDゾーンファイルにおいてテキストレコードを追記する。

#cat ostl.zone
省略
ostl.net. IN TXT "v=spf1 MX ~all"

IPv4のアドレスによる表記もある。
ostl.net. IN TXT "v=spf1 +IP4:192.168.254.1/28 ~all"

受信側の対応
postfixにはこれを組み込めば良いらしい
Postfix-Policyd

perlのプログラムなのでCPANカラの導入が必要。
Mail::SPF::Query
良い子は真似してはいけないROOTインスト
[root@centos Mail-SPF-Query-1.999.1]# perl Makefile.PL
Checking if your kit is complete...
Looks good
Warning: prerequisite Net::CIDR::Lite 0.15 not found.
Warning: prerequisite Net::DNS 0.46 not found.
Warning: prerequisite Sys::Hostname::Long 0 not found.
Writing Makefile for Mail::SPF::Query
[root@centos Mail-SPF-Query-1.999.1]# make
cp lib/Mail/SPF/Query.pm blib/lib/Mail/SPF/Query.pm
cp bin/spfd blib/script/spfd
/usr/bin/perl "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/spfd
cp bin/spfquery blib/script/spfquery
/usr/bin/perl "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/spfquery
Manifying blib/man1/spfd.1
Manifying blib/man1/spfquery.1
Manifying blib/man3/Mail::SPF::Query.3pm
[root@centos Mail-SPF-Query-1.999.1]# make install
Installing /usr/lib/perl5/site_perl/5.8.5/Mail/SPF/Query.pm
Installing /usr/share/man/man1/spfquery.1
Installing /usr/share/man/man1/spfd.1
Installing /usr/share/man/man3/Mail::SPF::Query.3pm
Installing /usr/bin/spfquery
Installing /usr/bin/spfd
Writing /usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi/auto/Mail/SPF/Query/.packlist
Appending installation info to /usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/perllocal.pod

あ、make testも。

/etc/postfix/master.cf
policy unix - n n - - spawn user=nobody argv=/usr/bin/perl /usr/libexec/postfix-policyd-spf-perl

postfix-policyd-spf-perl-1.08.1.tar.gz
cp ./postfix-policyd-spf-perl /usr/libexec/postfix/

/etc/postfix/main.cf
smtpd_recipient_restrictions =
check_policy_service unix:private/policy を追加する。

注記
SoftWareDesignの2月号のDNS特集にSPF/DomainKeyによる構築事例があった。

本家本元
http://www.openspf.org/

         

トラックバック

このエントリーのトラックバックURL:
http://www.ostl.net/blog/mt-tb.cgi/28

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2007年01月26日 22:38に投稿されたエントリーのページです。

ひとつ前の投稿は「200LXの修理」です。

次の投稿は「SonicWall SSL-VPN200」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
MT3系