2014年7月9日水曜日

PostfixでSPF

Fedora20のpostfixで、いつもの同じようにSPFを動かそうと
postfix-policyd-spf-perlを導入

postfix-policyd-spf-perl 

参考サイト


参考サイトでは、yumでperlのモジュール入れてますが、
いつも通りCPANから、必要なモジュールをインストールしようとすると

INSTALLファイルに記載されている必要なモジュール
Mail::SPF
NetAddr::IP
Sys::Hostname::Long


実際には、Mail::SPFをインストールする際に、
下記4つのモジュールが一緒にインストールされる。

一緒にインストールされるモジュール
NetAddr::IP
URI
Net::DNS
Net::DNS::Resolver::Programmable


# perl -MCPAN -e shell

cpan[1]> install Mail::SPF

Running install for module 'Mail::SPF'
Running make for J/JM/JMEHNLE/mail-spf/Mail-SPF-v2.9.0.tar.gz
~~~~~~~~~~~~~~
~~~~~~~~~~~~~~
t/00.00-class-misc.t .......... t/00.00-class-misc.t .......... 1/2                                      t/00.00-class-misc.t .......... ok
t/00.01-class-util.t .......... t/00.01-class-util.t .......... 1/15                                        t/00.01-class-util.t .......... ok
t/00.02-class-request.t ....... t/00.02-class-request.t ....... 1/43                                        t/00.02-class-request.t ....... ok
t/00.03-class-result.t ........ t/00.03-class-result.t ........ 1/20                                        t/00.03-class-result.t ........ ok
t/00.04-class-server.t ........ t/00.04-class-server.t ........ 1/23 Unknown error on DNS 'A' lookup of 'example.com' (EDNSError) at /.cpan/build/Mail-SPF-v2.9.0-W4drUf/blib/lib/Mail/SPF/Server.pm line 573.
~~~~~~~~~~~~~~
~~~~~~~~~~~~~~
t/00.04-class-server.t      (Wstat: 65280 Tests: 19 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 23 tests but ran 19.
Files=10, Tests=128,  0 wallclock secs ( 0.05 usr  0.01 sys +  0.56 cusr  0.06 csys =  0.68 CPU)
Result: FAIL
Failed 1/10 test programs. 0/128 subtests failed.
make: *** [test] エラー 255
  JMEHNLE/mail-spf/Mail-SPF-v2.9.0.tar.gz
  /usr/bin/make test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
  reports JMEHNLE/mail-spf/Mail-SPF-v2.9.0.tar.gz
Running make install
  make test had returned bad status, won't install without force
Failed during this command:
 JMEHNLE/mail-spf/Mail-SPF-v2.9.0.tar.gz      : make_test NO


いつもと違い、Mail::SPF のインストールで失敗。

エラー内容を調べてみると、
一緒にインストールされるNet::DNS::Resolver::Programmableのバグで、
パッチが出ていました。


  パッチ


パッチをダウンロードして
Net::DNS::Resolver::Programmableにパッチ適用し、再インストール。

# patch -p1 < new-net-dns.patch
# perl -MCPAN -e shel
cpan[1]> make Net::DNS-Resolver-Programmable
cpan[2]> install Net::DNS-Resolver-Programmable
cpan[3]> install Mail::SPF
cpan[4]> install Sys::Hostname::Long


その後は、いつも通り /etc/postfix/master.cf への追記と

policy    unix  -       n       n       -       0       spawn
        user=nobody argv=/usr/local/lib/policyd-spf-per



 /etc/postfix/mail.cf への追記

smtpd_recipient_restrictions = permit_mynetworks,
                                   reject_unauth_destination,
                                    check_policy_service unix:private/policy














0 件のコメント:

コメントを投稿