●データーベースから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) ◇参考2:Qpopperのセキュリティホール関連リンク(バージョン4.03〜4.04) |
○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コマンドを利用する。
※ユーザーの削除は
とすれば,削除される。 |
○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に変更し,実際に動作,認証するかテストを行っておこう。
4/5 |