Postfixでより詳細なSPF認証に対応する(python版)¶
python版ではperl版では設定できない「FromやEHLO個別でのSPFレコードの参照」や
「エラー時の挙動(拒否・ヘッダ情報負荷してスルー)」といったものに対応している。
前提条件¶
- Postfixがインターネット経由で送受信できること
- インターネット上のDNSと通信ができること
インストール¶
- EPELをインストールする
# yum install epel-release
- Python版SPFをインストールする
# yum --enablerepo=epel install pypolicyd-spf
- Postfixのmain.cfに連携設定
# vi /etc/postfix/main.cf ----------------------------- policy_time_limit = 3600 smtpd_recipient_restrictions = …(既存設定略)…, check_policy_service unix:private/policy
- Postfixのmaster.cfに連携設定
# vi /etc/postfix/master.cf ----------------------------- policy unix - n n - 0 spawn user=nobody argv=/usr/libexec/postfix/policyd-spf
- サービスを再起動する
# systemctl restart postfix
設定¶
- 次の設定ファイルを変更する
# vi /etc/python-policyd-spf/policyd-spf.conf ----------------------------- # For a fully commented sample config file see policyd-spf.conf.commented # 設定例 # Fail パスできなかった場合 # False # デバッグレベル debugLevel = 1 # テスト実行のみ(0の場合有効) defaultSeedOnly = 1 # HELOのホスト名のチェック HELO_reject = Fail # Fromヘッダのホスト名のチェック Mail_From_reject = Fail # SPFレコードが解釈できない場合 PermError_reject = False # 一時的な認証障害 TempError_Defer = False # 次のアドレスではスキップする skip_addresses = 127.0.0.0/8,::ffff:127.0.0.0/104,::1
- サービスを再読み込みは不要