2022年8月、ホームページを全面リニューアルしました! 情報を分かりやすくお伝えできるサイト作りを目指してまいります。

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ログをウォッチすればうまくいってるかいっていないかが判る。

以上

コメント