●データーベースからIPアドレスを消去する時間を設定する

 DRACは初期設定のまま使用すると,IPアドレスは30分間保持される。この時間設定をユーザーの環境に合わせて変更しておく。さきほど/etc/rc.d/init.dへコピーした起動スクリプトを編集し,時間設定を行っておこう。たとえば5分間に設定するのであれば,「daemon /usr/local/sbin/rpc.dracd &」を「daemon /usr/local/sbin/rpc.dracd -i -e 5 &」と変更する。

$ vi /etc/rc.d/init.d/dracd


# See how we were called.
case "$1" in
start)
echo -n "Starting rpc.dracd daemon: "
daemon /usr/local/sbin/rpc.dracd & ←修正:/usr/local/sbin/rpc.dracd -i -e 5 &
echo
touch /var/lock/subsys/rpc.dracd
;;
stop)
echo -n "Stopping rpc.dracd daemon: "
killproc rpc.dracd
echo
rm -f /var/lock/subsys/rpc.dracd
;;
*)
echo "Usage: dracd {start|stop}"
exit 1
esac

exit 0

 修正したら

# /etc/rc.d/init.d/dracd stop
# /etc/rc.d/init.d/dracd start

で再起動させよう。

●POPサーバの設定

 QpopperでDRACを利用するのに特別な設定は必要なく,インストールすればPOP Before SMTPの利用ができるようになるはずだ。ただし,DRACを使用するためにはQpopperの再コンパイルが必要になる。QpopperでDRACを利用するためには,configure時のオプションで「--enable-drac」を指定しなければならないからだ(Qpopper3.1以上のバージョン)。ここでは,DRACの利用と同時に,APOP認証への移行も含めてインストールを行っておこう。

※Qpopperの現状のバージョンは4.04で,古いバージョンにはDoS攻撃などのセキュリティホールが発見されている。古いバージョンを利用している場合は必ずアップデートを行っておこう。また,現在のバージョン4.04にも「~/.qpopper-options」を利用するオプション設定を行っている場合,外部からではないものの,ローカルユーザーがバッファーオーバーフローを生じさせることができるセキュリティホールが発見されている。自宅であればローカルのユーザーは自分だけかもしれないが,「~/.qpopper-options」を利用しない(起動時に-uオプションを使用しない)ようにしておこう。

◇参考1:Qpopperのセキュリティホール関連リンク(バージョン4.0〜4.03)
Qualcomm qpopper Username Buffer Overflow Vulnerability
Qualcomm QPopper Remote Denial of Service Vulnerability

◇参考2:Qpopperのセキュリティホール関連リンク(バージョン4.03〜4.04)
Qualcomm QPopper Bulletin Name Buffer Overflow Vulnerability

○Qpopperのインストール

 はじめに,APOP認証用のアカウント「pop」の作成を行う

# groupadd pop
# useradd -g pop -d /dev/null -s /bin/false pop 

$ wget ftp://ftp.qualcomm.com/eudora/servers/unix
/popper/qpopper4.0.4.tar.gz
$ tar xzvf qpopper4.0.4.tar.gz
$ cd qpopper4.0.4
$ ./configure --enable-apop=/etc/pop.auth --with-popuid=pop --enable-drac
$ make
$ su
password:
# make install

以上で完了する。もしconfigure時に

Can't use DRAC: dracauth not found in -ldrac

というエラーが出る場合,さきほどのDRACインストール時に

# cp libdrac.a /usr/local/lib/

の作業を行っていない可能性がある。DRACの作業ディレクトリに戻り,「libdrac.a」をコピーしてから,再度インストールしよう。

○APOP認証用のパスワード設定

 次に,APOP用の認証設定もしておこう。APOPは通常のPOPアクセスと異なり,パスワードを暗号化してやりとりできる。今回のPOP before SMTPとは主題が異なるが,セキュリティ強化のためにも設定しておいたほうがよい。まず,popauthの所有権とsetuidの設定を行い,データベースファイル「/etc/pop.auth」のパーミッションを「600」に設定する。

# chown pop /usr/local/sbin/popauth
# chmod u+s /usr/local/sbin/popauth
# chmod 600 /etc/pop.auth

 続いて,データベースを初期化する。

# popauth -init
Really initialize POP authentication DB? ←「y」を入力

 初期化したら,ユーザーパスワードを設定して,データベースへユーザーを追加しよう。

# popauth -user ユーザー名
Adding only APOP password for ユーザー名.
New password: パスワードを入力
Retype new password: 再度パスワードを入力

※ユーザーが個別にパスワード設定するにはpopauthコマンドを利用する。

$ popauth
Changing only APOP password for hoge.
Old password: 古いパスワードを入力
New password: 新しいパスワードを入力
Retype new password: 再度新しいパスワードを入力

※ユーザーの削除は

# popauth -delete ユーザー名

とすれば,削除される。

○Qpopperの起動スクリプトの例

 下記のような起動スクリプトを「/etc/xinetd.d」にpopperなどの名前で作成する。

# vi /etc/xinetd.d/popper

service pop3
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/local/sbin/popper
server_args = -s
}

 作成したら,xinetdを再起動する。

# /etc/rc.d/init.d/xinetd restart

 設定が完了したら,受信に利用しているメールソフトの設定をAPOPに変更し,実際に動作,認証するかテストを行っておこう。

PREV 4/5 NEXT