Kozupon.com    
 
 FreeBSD Postfix on pop-before-smtpだぜ!


pop-before-smtpの詳細は割愛する。ここ に詳しく書いてあるからである。
ここでは、FreeBSDにpostfixとpop-before-smtpをインストしたので、その記録を報告する。pop-before-smtpはportsに有るが何故か旨く動かない(-o-;)そんなわけでソースからインストした。そのつもりで、見てほしい。尚、postfixのインストは割愛する。 ここ に詳しく書いてある。


1.pop-before-smtpをportsからインストする

# cd /usr/ports/mail/pop-before-smtp
# make install clean


2.Perlスクリプト、pop-before-smtpを変更する

# vi /usr/sbin/pop-before-smtp

省略

# Default values, possibly overridden in the config file.
$pat = '^(... .. ..:..:..) \S+ (?:ipop3s?d|imaps?d)\[\d+\]: ' .
'(?:Login|Authenticated|Auth|APOP) user=\S+ ' .
'host=(?:\S+ )?\[(\d+\.\d+\.\d+\.\d+)\]';
← デフォルトでは、ipop3dになっている。ここを自分が使ってるPOPモジュールに変更する。パターンマッチングによる正規表現で記載する。

$write = 1; # open and change the DB
$flock = 1; # we do the exclusive file-locking when updating
$debug = 0; # no debug messages
$reprocess = 0; # no debug reprocessing of watchlog
$dbfile = '/usr/local/etc/postfix/pop-before-smtp'; # DB hash to write ← ハッシュタイプのDBが生成される。このDBのパスは、Postfixのmain.cfに記述しなければならない。
$dbvalue = 'ok';
$grace = 5*60; # 5-minute grace period
← グレースタイムはデフォルトで30分であるが長すぎるので俺の場合、5分に変更している。これはPOP認証したIPアドレスを記憶している時間だが、あまり長すぎるのはセキュリティ的にも良くないであろう。
my($daemon_pidfile, $list_ips, $dump_config);

省略


3.postfix main.cfの変更

# cd /usr/local/etc/postfix
# vi main.cf

省略

smtpd_recipient_restrictions = permit_mynetworks,
                   reject_non_fqdn_recipient,
                   check_client_access hash:/usr/local/etc/postfix/pop-before-smtp,
   ← ハッシュDBのパスを追加(ここは、一行でかくこと)
                   check_relay_domains

省略


4.起動

これで、/usr/sbin/pop-before-smtpを起動すれば良い。
きどうした後、/var/log/pop-before-smtpログをウォッチすればうまくいってるかいっていないかが判る。

以上


 
 
 



Copyright 2005 Kozupon.com.