Kozupon.com    
 
 CentOSでPostgreyを動かす!


まず、ここ を見てPostgreyを知って欲しい。ここでは、CentOS4.3へPostgreyをインスコしたので、その過程を説明する。CentOSのPostgreyパッケージの置き場は、 ここ

インストール環境 )
OS : CentOS4.3
マシン : Dell PowerEdge SC430


1.ソースのゲットと展開
2006年6月現在での、最新は、 postgrey-1.24-0.noarch.rpm で有った。
[root@ns tmp] # wget http://www.lfarkas.org/linux/packages/centos-4/i386/RPMS/postgrey-1.24-0.noarch.rpm
[root@ns tmp] # rpm -ivh postgrey-1.24-0.noarch.rpm

但し、2007年05月現在、 CentOS 5.0 = > ではpostgreyが正式にパッケージとして存在する。したがって、
# yum install postgrey
でインストール出来る。詳しくは、 ここ を参照のこと。


2.postfix側の設定
[root@ns tmp]# vi /etc/postfix/main.cf
省略
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes

smtpd_recipient_restrictions = permit_mynetworks,
                   reject_rbl_client spamcop.net,
                   reject_rbl_client dynablock.wirehub.net,
                   reject_rbl_client opm.blitzed.org,
                   reject_rbl_client relays.ordb.org,
                   reject_rbl_client sbl.spamhaus.org,
                   regexp:/etc/postfix/recipient_checks.reg,
                   check_client_access hash:/etc/postfix/bad_clients,
                   reject_non_fqdn_recipient,
                   reject_unknown_sender_domain,
                   permit_sasl_authenticated,
                   reject_unauth_destination,
                 check_policy_service inet:127.0.0.1:10023
                 
↑※1
省略

※1印の行を追加する。


3.起動スクリプトにパラメータ追加
[root@ns tmp]# vi /etc/init.d/postgrey
#!/bin/sh
#
#
# chkconfig: 2345 79 31
# description: Postfix Greylisting Policy Server
#
# processname: postgrey
# pidfile: /var/run/greylist.pid
#

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

prog=postgrey
postgrey=/usr/sbin/$prog
DBPATH=/var/spool/postfix/postgrey
SOCKET=$DBPATH/socket
OPTIONS="--inet=10023 -d --unix=$SOCKET"
             ↑※2
# Source an auxiliary options file if we have one, and pick up OPTIONS,
if [ -r /etc/sysconfig/$prog ] ; then
.   /etc/sysconfig/$prog
fi

[ -x $postgrey ] || exit 0
[ -d $DBPATH ] || exit 0
#[ -f /etc/postfix/postgrey_whitelist_clients ] || exit 0
#[ -f /etc/postfix/postgrey_whitelist_recipients ] || exit 0

RETVAL=0

start() {
       echo -n $"Starting $prog: "
       daemon $postgrey $OPTIONS
       RETVAL=$?
       echo
       [ $RETVAL = 0 ] && touch /var/lock/subsys/$prog
       return $RETVAL
}
stop() {
       echo -n $"Stopping $prog: "
       killproc $postgrey
       RETVAL=$?
       echo
       [ $RETVAL = 0 ] && rm -f /var/lock/subsys/$prog /var/run/$prog.pid
}

restart() {
stop
start
}

reload() {
       echo -n $"Reloading $prog: "
       killproc $prog -HUP
       RETVAL=$?
       echo
       return $RETVAL
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
reload)
reload
;;
status)
status $prog
;;
*)
echo "Usage: $prog {start|stop|restart|reload|status}"
exit 1
esac

exit $?

※2印の濃い青字の部分を追加する。
※2印のオプションを追加しないと以下のようなワーニングがメールログに出力され、メールが受信できないので気を付けること。
Mar 12 09:05:10 ns postfix/smtpd[27507]: connect from sub2.xxxxxxxxx.com[xxx.xxx.xxx.xxx]
Mar 12 09:05:12 ns postfix/smtpd[27507]: warning: connect to 127.0.0.1:10023: Connection refused
Mar 12 09:05:12 ns postfix/smtpd[27507]: warning: problem talking to server 127.0.0.1:10023: Connect
ion refused
Mar 12 09:05:13 ns postfix/smtpd[27507]: warning: connect to 127.0.0.1:10023: Connection refused
Mar 12 09:05:13 ns postfix/smtpd[27507]: warning: problem talking to server 127.0.0.1:10023: Connect
ion refused
Mar 12 09:05:13 ns postfix/smtpd[27507]: NOQUEUE: reject: RCPT from sub2.xxxxxxxxx.com[xxx.xxx.xxx.xxx
]: 450 Server configuration problem; from=<mity@xxxxxxxxx.com> to=<mity@xxxxxxxxx.jp> proto=ESMT
P helo=<hiro.xxxxxxxxx.com>
Mar 12 09:05:13 ns postfix/smtpd[27507]: disconnect from sub2.xxxxxxxxx.com[xxx.xxx.xxx.xxx]


4.起動する
起動スクリプトをアクティブにする。
[root@ns tmp]# chkconfig postgrey on
起動する。
[root@ns tmp]# /etc/init.d/postgrey start

以上


 
 
 



Copyright 2010 Kozupon.com.