CentOS 7のPostfixにSPFを導入

Facebooktwittermail

CentOS 7のpostfixにSPF(Sender Policy Framework)を組込んでみました。

IAjapan 財団法人インターネット協会 – Internet Association Japan
SPF(Sender Policy Framework)

http://salt.iajapan.org/wpmu/anti_spam/admin/tech/explanation/spf/
余談ですが財団法人インターネット協会はまだhttps化されていないのですね。

以前はpostfix-policyd-spf-perlを組込んで使用していました。

SPF(Sender Policy Framework)のインストール

今回はepel repoにpypolicyd-spfがあったのでこちらを使うことにしました。
SPF認証のためのPostfixポリシーエンジンって言うぐらいだから最適化されているのかな。
なお、送信側設定(DNS設定)は上記サイトと同じなので省略します。

  1. インストール
  2. master.cfの設定
  3. /etc/postfix/master.cfに下記の行を追加します。

  4. main.cfの設定
  5. /etc/postfix/main.cfに下記の行を追加します。

  6. policyd-spf.confの設定
  7. SPF認証のステータスコードでメール受信の判断をする設定ファイルです。
    デフォルトは下記になっています。有効にする場合はしっかりドキュメントを読んで設定しないと必要なメールを受信拒否になりそうでちょっと怖いですね。

    なお、SPF認証結果は下記のものがあります。
    (上記IAjapanのサイトから引用しました)

    6. SPF認証結果
    認証結果は次のものが存在する。
    認証結果: 意味
    None: SPFレコードが公開されていない
    Neutral: SPFレコードが“?”として公開されている条件にマッチした
    Pass: 認証処理に成功した
    Fail: SPFレコードが公開されているが、認証に失敗した
    SoftFail: SPFレコードが“~”として公開されている条件にマッチした
    TempError: 一時的な障害で認証処理が失敗した
    PermError: SPFレコードの記述に誤りがあるなどで認証処理に失敗した

    manから抜粋

    debugLevel=1は基本的なSPF認証結果を記録します。ログレベルは1~5まであり5が最も詳細に記録します。

    defaultSeedOnlyはテストオプションの指定で1はSPF認証の結果にかかわらずすべて受信し、認証結果をログに記録します。これがデフォルトです。
    SPF認証によって受信可否を実行する場合はdefaultSeedOnly = 0に変更します。

  8. postfix再起動

取り敢えずここまで。英語ができないからmanを読んでいてpolicyd-spf.confの情報が怪しいけどまいっか(^^;

Leave a Reply