postfix + postgrey (2009/12/18)

研究室のメールサーバでは,スパム対策技術で紹介されている「選択的SMTP拒絶方式」(Selective SMTP Rejection, S25R)を利用していました.しかし,正当なメールを排除する可能性がわずれかでもあるものは利用しないという方針にし,S25R方式及びS25R方式との他の方式との組み合わせは研究室のメールサーバでは使用しないことにしました.しかし,スパムメールにはエンドユーザ回線から送られてくるものは多いので,メールが再送されるかどうかで判定する postgrery を postfix に導入することにしました.ただし,正当なメールを送ってくるサーバのリソースを消費するという問題点があることには注意して下さい.

まず,postgrey がなければ,postgrey をインストールします.

# aptitude install postgrey

/usr/share/doc/postgrey/README.Debian や man postgrey でオンラインマニュアルを読みます.結果,/etc/main.cf に

smtpd_recipient_restrictions =
              permit_mynetworks
              ...
              reject_unauth_destination
              check_policy_service inet:127.0.0.1:10023
を追加すればよいことが分かります.ただし,ポート番号 10023 については,amavis-new などで使用されるものと同じでないことを確認する必要があります.上記の設定を /etc/main.cf に追記します.

次に,postgrey のホワイトリストを確認します./etc/postgrey には,

/etc/postgrey/whitelist_clients
/etc/postgrey/whitelist_recipients
があることが確認できます.また,同ディレクトリに,whitelist_clients.local や whitelist_recipients.local を作成すれば postgrey は自動的に読み込みます.ただし,postgrey のホワイトリストは postfix のホワイトリストの書き方と異なり,postfix のホワイトリストで必要される OK は不要です.例えば,
[postfix の whitelist]
/^192\.168\.0\.1$/ OK

[postgrey の whitelist]
/^192\.168\.0\.1$/
となります.自分でホワイトリストを作成するのは大変な作業ですので,S25R 方式のサイトで提供されているホワイトリスト white-list.txt を利用しました.white-list.txt をダウンロードして,/etc/postgrey/whitelist_clients.local におきます.そして,ファイル内にある 'OK' を削除しました.

最後に,postgrey を起動させ,postfix を再起動させれば postgrey 機能が働きます.

# /etc/init.d/postgrey start
# /etc/init.d/postfix restart

梅原 大祐 / UMEHARA Daisuke umehara@kit.ac.jp
Last modified: 2020/05/01 15:37
Total Access Count