SPFの実装

2007年7月21日土曜日 Ryoichi MURASHIMA 0 Comments

Spamassassinをチューニングしていて、SPFという送信ドメイン認証の仕組みがあることを知った。

SPFは、「Sender Policy Framework」の略で、メールの送信元アドレスの詐称を防ぐため、送信されたメールのドメインの正当性を確認するためのしくみ。DNSのの正引きゾーンデータベースにTXTレコードを記述し、正当なSMTPサーバーの情報を格納しておけばよい。
詳しくは、ここのサイトが参考になる。
まぁ、簡単にできることがわかったので、さっそく、DNSに以下の設定を追加。
@ TXT "v=spf1 +mx include:_spf.google.com ~all"
include:_spf.google.comは、ふだんgmailからメールを送信しているためつけてみたが、gmailでは、From:を詐称?してもMAIL FROM:は@gmail.comになるみたいなので、実際には不要かも。
送信したメールが正しく認証されるかどうかのテストは、http://senderid.espcoalition.org/
SPFのほかにDomainKeyやDKIMもチェックできる。


今度は、自身が受信したメールのSPFチェックであるが、SPF: Projectのサイトに、 postfix-policyd-spf-perlというperlのライブラリがあったので、それを使った。アーカイブを展開するとインストールマニュアルがあるので、postfixをその通りに設定。

これで、受信したメールに、Received-SPF: というヘッダがつき、正しく認証されたかどうかの判定結果を確認できる。
Spamassassinも、独自にSPFチェックをやっているようだが、デフォルトでは、認証された場合のスコアダウンが-0.001なので、実質的にはほとんど影響がない。このへんは、もっとメリハリをつけてもいいのかも。

0 コメント: