Dell Optiplex GXa |
SolarisTM 9 x86 12/02 |
POP Before SMTP with sendmail-8.12.11 + smtpfeed
qpopper4.0.5
ソースディレクトリに移動する。
$ cd /opt/src
作業用ディレクトリを作成する。
$ mkdir qpopper4.0.5
作成したディレクトリに移動する。
$ cd qpopper4.0.5
ダウンロードする。
$ wget ftp://ftp.qualcomm.com/eudora/servers/unix/popper/qpopper4.0.5.tar.gz
解凍展開する
$ tar xozf qpopper4.0.5.tar.gz
セキュリティ を高めるため、POP3でアクセスされた時の応答メッセージ
(pop3d名とバージョン)を変える。
もしも自分が使っているバージョンにセキュリティホールが見つかってしまっ
た場合、クラッカーはその情報を元に攻撃を仕掛けてくる可能性があるので、
ソースを少々書き換えて、表示させるpop3d名とバージョンを架空のPOP3Dにして
しまう。
展開したディレクトリのpopperディレクトリに移動する。
$ cd qpopper4.0.5/popper
SuperUserになる。
$ su
password:
popper.hをviで開く。
# vi popper.h
以下の部分(85行目)を書き換えて保存する。
(ReadOnlyになってるので、強制的に保存する。)
/* ### 変更前 ### */
#define QPOP_NAME "Qpopper"
/* ### 変更後例 ### */
#define QPOP_NAME "Domain1.com_Original"
version.hをviで開く。
# vi version.h
以下の部分(16行目)を書き換えて保存する。
(ReadOnlyになってるので、強制的に保存する。)
/* ### 変更前 ### */
#define VERS_NUM "4.0.5"
/* ### 変更後例 ### */
#define VERS_NUM "3.9.3"
一般ユーザーに戻る。
# exit
$
1つ上のディレクトリに移動する。
$ cd ../
最適化させる。
$ env LD_OPTIONS="-lnsl" LDFLAGS="-lnsl"
$ ./configure --with-drac=/opt/src/drac-1.12/drac-1.12 \
--enable-servermode
コンパイルする。
$ make
SuperUserになる。
$ su
password:
旧バージョンのバックアップを取る。
# cp /usr/sbin/in.pop3d /usr/sbin/in.pop3d.4.0.4
新しいバージョンを手動インストールする。
# cp /opt/src/qpopper4.0.5/qpopper4.0.5/popper/popper /usr/sbin/in.pop3d
/etc/inetd.confを編集する。
# vi inetd.conf
最後に以下の行を追加。
pop3streamtcpnowaitroot/usr/local/sbin/tcpdin.pop3d -s
/etc/servicesには既にpop3の記述があるので、編集する必要はなかった。
inetdにHUPシグナルを送る。
# pkill -HUP inetd
# exit
$
ここまで正常に動作するかどうかの実験
他端末からpopを引いてみる(passまでちゃんと入力してquitする)
(以下は192.168.0.25からpopを引いた場合。)
その後、以下のコマンドを入力する。
$ /usr/local/BerkeleyDB.4.1/bin/db_dump -p /etc/mail/dracd.db
以下のようにDATA部分に端末のIP Addressが表示されればOK。
VERSION=3
format=print
type=btree
HEADER=END
192.168.0.25
1010343631
DATA=END