CentOS7 : pypolicyd-spf (SPF Policy Server for Postfix) で Header_Type = AR を設定する

 pypolicyd-spf (SPF Policy Server for Postfix) では、デフォルトで RFC 4408に準拠した Received-SPF (SPF) の形式のヘッダー情報を追記します。
 このままでも特に問題ありませんが、メールソフトなどの関係で、RFC 5451に準拠した Authentication Results (AR) の形式のヘッダー情報の方が良い場合があります。Roundcube Webmail で roundcube/authres_status を有効にしたとき、SPF のステータス表示を有効にするためには、RFC 5451に準拠した Authentication Results (AR) の形式のヘッダー情報である必要があります。

 ところが、/etc/python-policyd-spf/policyd-spf.conf を編集して、Header_Type = AR を設定しても、エラーが発生しメールの受信ができなくなります。
 このエラーは、Header_Type = AR の設定のほか、認証識別子の設定が必要なことと、依存関係で必要となる python-authres がインストールされていないことが原因で発生します。

スポンサーリンク(広告)
スポンサーリンク(広告)

pypolicyd-spf のインストール

 CentOS7 に pypolicyd-spf をインストールする方法は、以下のコマンドを使うのが一般的だと思います。

 しかし、依存関係でインストールされるソフトに、python-authres が含まれていません。

 python-authres は、yum コマンドでインストール可能か、探してみましょう。

 見つかりませんでした。

python-authres の rpm のインストール

 rpm がないか検索したところ、1件見つかりました。
 python-authres-0.601-2.el7.centos.noarch.rpm
 Index of /linux/el7/i386
 とりあえず、これを利用するというのも一つの方法です。

 ただし、gathman.org というサイトですが、私が知らないだけかもしれませんが、どういったサイトか不明です。

 python-authres のソースを探したところ、以下のサイトで配布されていました。
 authres 1.1.0 : Python Package Index – PyPI
 ソースからビルドした方が、精神衛生上良いかと思いますので、こちらの方法がおすすめです。

python-authres をビルドしてインストール

 ビルドに必要なソフトをインストールします。ビルドだけテスト環境で行っても大丈夫です。

 ソースをダウンロードします。

 展開してビルドし、インストールします。

 これで、インストール完了です。

Header_Type = AR の設定

 あとは、/etc/python-policyd-spf/policyd-spf.conf を編集して、設定を有効にします。

 Authserv_Id のパラメータが、認証識別子です。
 Header_Type = AR に設定する場合は、必ず Authserv_Id の設定も必要になります。

 amavisd-new などを併用している場合は、認証識別子が重複するとコンフリクトしますので、注意する必要がります。
 amavisd-new が使用する認証識別子が mta.hogehoge.net だとしたら、 Authserv_Id = spf.mta.hogehoge.net などと設定しておけば良いでしょう。

参考情報

 postfix で postfix-policyd-spf-python ( or postfix-policyd-spf-perl ) を使ってSPF認証する(Debian/Ubuntu編)

スポンサーリンク(広告)
スポンサーリンク(広告)