メンテナンス・トラブルシュート - メールサーバ - SPF - 受信時にチェック


 クラウディア


1. 概要
2. 前提条件
3. SPF ヘッダ
4. 参考サイト

1. 概要

 前ページまで、送信側で、「SPF」のヘッダをつけるには、どうするかという設定について記述していますが。  逆に、受信側で、受信したメールの「SPF」ヘッダをチェックすることもできます。  実は、「ネットワークサービス - メールブラックリストチェック」で紹介している、「AppRiver SpamLab - Open Relay Test」でチェックを行うと、いくつかの項目が、メール不正中継されてしまうことがわかりました。  「SPF」チェックを行うことで、上記ページの項目をすべてクリアすることができます。

2. 前提条件

 以下の設定を行うには。  「qmail」のインストール時のオプションで、「SPF_PATCH」を有効にしていることが必須になります。

3. 設定

 「SPF」ヘッダのチェックを有効にする方法は、2つありまして。  1つは。

/var/qmail/control/spfbehavior
 というファイルを書きまして、上記ファイル内に、0~6 のいずれかの数字を書き入れます。  この場合、すべてに対して、同じ設定をすることになります。  もう少し、柔軟にしたい、かつ、「tcpserver」をつかって、「tcp.smtp」による制御を行っている場合は。  「tcp.smtp」の行に。

ip_address.:allow,...,SPFBEHAVIOR="n"
 と「SPFBEHAVIOR="n"」というオプションをつけて、「n」に 0~6 のいずれかの数字を書き入れます。  0 ~ 6 の数字は、おおむね下記の意味を持ちます(無理に日本語訳したので、違いがあるかもしれません)。
意    味  備考 
0 受信時に「SPF」に対して何も行わない
1 受信メールに「Received-SPF」ヘッダを追加する
2 「SPF」で、「DNS」を参照したときにエラーであれば、受信拒否
3 「SPF」チェック結果が、「fail」であれば、受信拒否
4 「SPF」チェック結果が、「fail」「softfail」であれば、受信拒否
5 「SPF」チェック結果が、「fail」「softfail」「neutral」であれば、受信拒否
6 「SPF」チェックの結果が「pass」以外は、受信拒否

3. SPF ヘッダ

 前項で、0 ~ 6 のうち、1以上をつけると、受信メールに「SPF」ヘッダの項目が追加されます。

Received-SPF: pass (192.168.1.2: SPF record at fc8910.cuenote.jp designates ip_address as permitted sender)
 上記の「pass」の箇所がチェック結果になるわけですが、結果は、次の意味を持つようです。
意    味  備考 
pass 当該ドメインの送信メールサーバとして認証する
fail 当該ドメインの送信メールサーバとして認証しない
softfail 認証情報を公開しているが、正当なメールであっても認証失敗する可能性もある
neutral 認証情報を公開しない

4. 参考サイト

 本ページは、下記のサイトを参考にさせていただきました。
SPF(Sender Policy Framework) : 迷惑メール対策委員会」
「qmail SPF (Sender Policy Framework) patch」
「qmail

earthcar(アースカー)