[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[postfix-jp: 460] Postgrey - Postfix Greylisting Policy Server



Postgrey
http://isg.ee.ethz.ch/tools/postgrey/

注意 実際に試す前に、ドキュメント"Postfix SMTP Access Policy Delegation"
を読みましょう。
http://www.postfix.org/SMTPD_POLICY_README.html

Postgreyは、PostfixにおけるGreylisting実装の一つです。

作者、David Schweikert氏によると、Perlで書かれたpostgreyはデータベースに
BerkereyDBを採用し、信頼性の向上、古いデータのparge、VERPされたアドレス
への対応など、Postfix distributionに含まれるsampleスクリプトよりも優れた
機能を実装しています。

PostgreyはPerl 5.6.0以上で動作します。

Postgreyは次のPerlモジュールに依存します。

BerkereyDB (databases/p5-BerkeleyDB)
Net::Server (net/p5-Net-Server)
IO::Multiplex (devel/p5-IO-Multiplex)

またBerkerey DBライブラリのバージョン4.1(portinstall -M WITH_BDB_VER=41
databases/p5-BerkeleyDB)以上が必要です。

専用のユーザを作成し、スクリプトを実行します。

実行例
# /usr/local/libexec/postfix/postgrey --inet=10.10.10.1:10026 -d \
	--pidfile /var/run/postgrey.pid --delay=1800 --max-age=7 \
	--user=postgrey

環境に合わせて、適宜main.cfを書き換えます。

smtpd_recipient_restrictions =
  permit_mynetworks,
  reject_unauth_destination,
  check_policy_service inet:10.10.10.1:10026,
  ...other restrictions...
  permit

正常に動作している場合は、次のようなログが記録されます。

Jul 13 23:25:27 mta postfix/smtpd[56029]: NOQUEUE: reject: RCPT from
unknown[10.10.10.2]: 450 <user@example.org>: Recipient address rejected:
Greylisted for 1800 seconds...; from=<spammer@evil.example.org>
to=<user@example.org> proto=ESMTP helo=<evil.example.org>

FreeBSDのrc.dスクリプト(rc.subr対応)例
--------------------------------------
#!/bin/sh

. '/usr/local/etc/rc.subr'
name='postgrey'
procname='/usr/bin/perl'
rcvar=`set_rcvar`
command='/usr/local/libexec/postfix/postgrey'
pidfile='/var/run/postgrey.pid'
stop_postcmd=stop_postcmd
stop_postcmd()
{
  /bin/rm -f "$pidfile"
}
postgrey_enable="${postgrey_enable:-NO}"
postgrey_glags="-d --inet=10023 --pidfile=$pidfile --user=postgrey"
load_rc_config "$name"
run_rc_command "$1"
--------------------------------------

自分のところでは、今のところ大きな問題はありません。複数のホスト上で動作
するsmtpdからの問い合わせも問題なく動作しています。

postgreyはsmtpdから受け取った情報をデータベースに格納し、そのデータをも
とに許可、不許可を決定します。このロジックと記録されるデータを変更するだ
けで、ユーザごとの送信数制限など、ポリシーをsmtpdの条件に簡単に組み込む
ことが可能になります。

忙しいサイトでは、DBIなどを利用するといいかもしれません。

--
Tomoyuki Sakurai - Tomi -
mailto:ml-postfix-jp@xxxxxxxxxxxxxxx
local dnsbl files updated daily at
rsync://trombik.mine.nu/spf/output/

_______________________________________________
Postfix-jp-list mailing list
Postfix-jp-list@xxxxxxxxxxxxxxxxxxxx
http://lists.sourceforge.jp/mailman/listinfo/postfix-jp-list

Follow-Ups
[postfix-jp: 461] Re: Postgrey - Postfix Greylisting Policy Server, とみたまさひろ

[検索ページ] [Postfix-JP ML Home]