Dell Optiplex GXa Solaris 8  x86  6/00

POP Before SMTP with sendmail-8.12.7 + smtpfeed

戻る

1. BerkeleyDB.4.1.25のインストール
2. drac-1.12のインストール
3. qpopper4.0.4のインストール
4. smtpfeed-1.18のインストール
5. sendmail-8.12.7のインストール
6. sendmail-8.12.7の設定
6-2 (バーチャルドメインの設定)

qpopper4.0.4
dracを使ったPOP Before SMTP への対応。


ソースディレクトリに移動する。
	$ cd /opt/src

作業用ディレクトリを作成する。
	$ mkdir qpopper4.0.4

作成したディレクトリに移動する。
	$ cd qpopper4.0.4

ダウンロードする。
	$ wget ftp://ftp.qualcomm.com/eudora/servers/unix/popper/qpopper4.0.4.tar.gz

解凍展開する
	$ tar xozf qpopper4.0.4.tar.gz



セキュリティ を高めるため、POP3でアクセスされた時の応答メッセージ
(pop3d名とバージョン)を変える。
もしも自分が使っているバージョンにセキュリティホールが見つかってしまっ
た場合、クラッカーはその情報を元に攻撃を仕掛けてくる可能性があるので、
ソースを少々書き換えて、表示させるpop3d名とバージョンを架空のPOP3Dにして
しまう。

展開したディレクトリのpopperディレクトリに移動する。
	$ cd qpopper4.0.4/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.4"

	/* ### 変更後例 ### */
	#define VERS_NUM          "3.9.3"

一般ユーザーに戻る。
	# exit
	$

1つ上のディレクトリに移動する。
	$ cd ../



最適化させる。
	$ env LD_OPTIONS="-lnsl" LDFLAGS="-lnsl" ./configure --with-drac=/opt/src/drac/drac-1.12/

コンパイルする。
	$ make

SuperUserになる。
	$ su
	password:

旧バージョンのバックアップを取る。
	# cp /usr/sbin/in.pop3d /usr/sbin/in.pop3d.4.0.3

新しいバージョンを手動インストールする。
	# cp /opt/src/qpopper4.0.4/qpopper4.0.4/popper/popper /usr/sbin/in.pop3d

/etc/inetd.confを編集する。
	# vi inetd.conf

最後に以下の行を追加。
	pop3    stream  tcp     nowait  root    /usr/sbin/in.pop3d      in.pop3d -s

/etc/servicesには既にpop3の記述があるので、編集する必要はなかった。

inetdにHUPシグナルを送る。
	# pkill -HUP inetd
	# exit
	$

ここまで正常に動作するかどうかの実験

他端末からpopを引いてみる(passまでちゃんと入力してquitする)
(以下は192.168.0.25からpopを引いた場合。)
その後、以下のコマンドを入力する。
	$ /usr/local/BerkeleyDB.4.0/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