Linux/Postfix + postgrey
Postfix + postgrey †
http://centossrv.com/postfix-targrey.shtml
インストール †
# wget http://apt.sw.be/redhat/el5/en/SRPMS.rpmforge/postgrey-1.32-1.rf.src.rpm # rpm -ivh postgrey-1.32-1.rf.src.rpm # cd /usr/src/redhat/SOURCES/ # tar zxvf postgrey-1.32.tar.gz # cd postgrey-1.32 # wget http://k2net.hakuba.jp/pub/targrey-0.31-postgrey-1.32.patch # patch -p0 < targrey-0.31-postgrey-1.32.patch # cd .. # rm -f postgrey-1.32.tar.gz && tar czvf postgrey-1.32.tar.gz postgrey-1.32 # rm -rf postgrey-1.32 # rpmbuild -bb --clean /usr/src/redhat/SPECS/postgrey.spec # yum -y install postgrey && rpm -e postgrey # rpm -ivh /usr/src/redhat/RPMS/noarch/postgrey-1.32-1.rf.noarch.rpm # rm -f /usr/src/redhat/RPMS/noarch/postgrey-* # rpmbuild --rmsource --rmspec /usr/src/redhat/SPECS/postgrey.spec # rm -f postgrey-1.32-1.rf.src.rpm
Postfix設定ファイル編集 †
# vi /etc/postfix/main.cf smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination −−追加(ここから)−− check_recipient_access hash:$config_directory/whitelist_recipient check_client_access hash:$config_directory/whitelist_client check_client_access regexp:$config_directory/permit_client_nots25r check_policy_service inet:60000 permit
smtpd_data_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination check_recipient_access hash:$config_directory/whitelist_recipient check_client_access hash:$config_directory/whitelist_client check_client_access regexp:$config_directory/permit_client_nots25r check_policy_service inet:60000 permit −−追加(ここまで)−−
taRgrey用Postfix設定ファイルダウンロード †
# wget http://k2net.hakuba.jp/spam/postfix.conf.2.tar.gz # tar zxvf postfix.conf.2.tar.gz # cp postfix.conf.2/whitelist_recipient /etc/postfix/ # cp postfix.conf.2/whitelist_client /etc/postfix/ # cp postfix.conf.2/permit_client_nots25r /etc/postfix/ # rm -rf postfix.conf.2 # rm -f postfix.conf.2.tar.gz # postmap /etc/postfix/whitelist_recipient ← whitelist_recipientのDB化 # postmap /etc/postfix/whitelist_client ← whitelist_clientのDB化
Postgrey起動スクリプト編集 †
# vi /etc/rc.d/init.d/postgrey OPTIONS="--unix=$SOCKET" ↓ OPTIONS="--dbdir=$DBPATH --inet=127.0.0.1:60000 --tarpit=125 --targrey --retry-count=2 --delay=3600"
Postgrey起動 †
# chkconfig postgrey on # /etc/rc.d/init.d/postgrey start
Postfix再起動(Postgrey連携有効化) †
# /etc/rc.d/init.d/postfix restart
ログ †
◆遅延応答ログ
# grep "NOQUEUE: warn" /var/log/maillog
◆遅延を待たずにDATAを送ってきたログ
# grep "NOQUEUE: sleep" /var/log/maillog |grep pipelining
◆遅延を待たずに切断したログ
# grep "NOQUEUE: sleep" /var/log/maillog |grep "lost connection"