2017年04月15日
このエントリーをはてなブックマークに追加
postgrey の最近のバージョンは、RPMがありませんね。困りましたね。
ということで、以下の通りインストールしました。

参考
SPAM撃退モジュール postgrey を Postfix で使用する!

1. ダウンロード
SPAMメール対策ツールPostgrey(Postfix Greylisting Policy Server)
Download it here と書かれているところです。

# wget http://postgrey.schweikert.ch/pub/postgrey-1.37.tar.gz
# tar -zxvf postgrey-1.37.tar.gz

2. 必要なパッケージのインストール
yum install perl-NetAddr-IP
yum install perl-Net-Server
yum install perl-Net-BerkeleyDB
yum install perl-BerkeleyDB

3. ユーザー / グループの作成
groupadd postgrey
useradd -g postgrey -s /bin/false postgrey


4. 必要なファイルのコピー
cp postgrey_whitelist_clients postgrey_whitelist_recipients
cp postgrey /usr/sbin

5. ディレクトリ権限の変更
mkdir /var/spool/postfix/postgrey
chown postgrey:postgrey /var/spool/postfix/postgrey

6. init スクリプトの作成
・・・※古いの Cent OS に RPM でインストールしたことがあり、そのときのスクリプトを流用です。
動作するときのグループがどこかのバージョンから変わったようで、動作するグループを指定しないとエラーになってしまいました。ということで、以下のスクリプトでは、OPTIONでグループの指定をしています。

# vi /etc/init.d/postgrey
-----------------
#!/bin/sh
#
# chkconfig: - 79 31
# description: Postfix Greylisting Policy Server
#
# processname: postgrey
#

# 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
GROUP=postgrey
OPTIONS="--unix=$SOCKET --delay=60 --group=$GROUP --whitelist-clients=/etc/postfix/postgrey_whitelist_clients"

# 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 -a -d $DBPATH ] || exit 0

RETVAL=0

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

restart() {
stop
start
}

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

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
reload)
reload
;;
condrestart)
[ -f /var/lock/subsys/$prog ] && restart
;;
status)
status $postgrey
;;
*)
echo $"Usage: $0 {start|stop|restart|condrestart|reload|status}"
exit 1
esac

exit $RETVAL
-----------------

7. 起動確認
# /etc/init.d/postgrey start
# /etc/init.d/postgrey status

# ps -ef |grep postgrey
postgrey 22265 1 0 18:09 ? 00:00:00 postgrey -d --unix=/var/spool/postfix/postgrey/socket --delay=60 --group=postgrey --whitelist-clients=/etc/postfix/postgrey_whitelist_clients

# cat /var/log/maillog
: Process Backgrounded
: 2017/06/03-18:09:38 postgrey (type Net::Server::Multiplex) starting! pid(22265)
: Binding to UNIX socket file "/var/spool/postfix/postgrey/socket"
: Setting gid to "501 501"
: Setting uid to "501"

あとは postfix と連携して進めます。


stock_value at 18:41│Comments(0)TrackBack(0)技術:2017年 

トラックバックURL

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔