<Homeへもどる>   <前に戻る>

POPサーバーはqpopperで安全且つ簡単に

1.qpopper-3.0b18 のインストール

 ここでは、/usr/src/ に展開することに。

tar zxvf qpopper-3.0b18.tar.Z

とすると、ディレクトリが作成されその中に展開される。
INSTALLファイルを読むと、

./configure
make

 上記のようにすれば、./popper 配下に popper ができると書いてあるので、
素直にそのまま実行した。(後に、この作業に不足があることが発覚)
 できあがった popper を /usr/sbin/ にコピー。
さらに、/etc/inetd.conf 中の一行を変更しなければならない。(以下の通り)

pop3 stream tcp nowait root /usr/local/bin/tcpd popper -s

また、/etc/services も環境によっては変更が必要かもしれない。以下の一行。

pop-3     110/tcp     # PostOffice V.3

この行がコメントアウトされていなければOK。

2.動作の確認

Linux上からtelnetで。

telnet 192.168.0.1 110
 Trying 192.168.0.1...
 Connected to db.bush.ne.jp.
 Escape character is '^]'.
 +OK QPOP (version 3.0b18) at db.bush.ne.jp starting.
 user XXXXXXXX            <実際には表示される
 +OK Password required for taka.
 pass XXXXXXXX            <実際には表示される
 +OK taka has 0 messages (0 octets).
 quit
 +OK Pop server at db.bush.ne.jp signing off.
 Connection closed by foreign host.

 このように telnet でポート110に繋げ、user・pass コマンドをそれぞれ実行すれば”通常は”上記のような表示が現れる。
ところが、何度やってもパスワードのところでつまずいてしまう。
WEBや雑誌等でざっと調べてみるが、インストール手順や設定自体は間違っていないようだ。
しかし、パスワード認証に失敗する。

 ふと思いつきで、/etc/passwd を覗いてみると shadow 化されていることに目がいった。また、思いつきで

/usr/sbin/pwunconv

をやってみる。
するとどうだろう、難なく qpopper が動いてくれた。
つまり、shadow 化しているとそのままではだめなようだ。
改めて、マニュアル等を読み返してみる。
また、./configur --help でオプション関係にも目を通すと、
「enable secure crypt or shadow passwords」 という一行がある。
つまり、パスワードファイルをシャドウ化している場合、このオプションを付加しなければいけない。

 早速コンパイルし直し動作チェックを行うと、
パスワードファイルがシャドウ化されている場合でもしっかりと動作してくれた。

もちろんクライアントマシンからもメールチェックが可能だ。

3.蛇足

 いわゆる(Linux関連の)インストール本というのが最近では急激に増えている。
Linuxでサーバー運営と称したものもまた然り。
私もそれらの本・雑誌・WEB等々を参考にプライベートサーバーを運営しているわけだが、
今回 qpopper をインストールしてみて思った。
 セキュリティについては触れないの?と。
インターネットに繋げないのならセキュリティもくそもない。
使い心地がよく便利であれば、それでかまわないだろう。
しかし、Linuxサーバーという性質上、そして、インターネットに繋げる以上、セキュリティを無視してはならない。
ましてや、パスワードファイルをシャドウ化しないというのはどうだろう。

 初めての人のためにインストール手順をわかりやすくするのは大変ありがたいことなのだが、
そのために穴だらけのサーバーになってしまうのも悲しい。
同時にセキュリティ意識の低い管理者を生み出しかねないのではと・・・
(大げさかな?)





2000/02/29 追記

 qpopper を APOP に対応させる。

 上記のインストール方法ではPOP3でのパスワード認証となる。
実はこのPOP3は平分でパスワードを流してしまうため、悪意ある第三者に盗まれる可能性もある。
これを防ぐためにはパスワードを暗号化すればよいわけだが、そのためのプロトコルとしてAPOPがある。
 また、新たに”POP”というqpopperが使用するユーザーアカウントを設定してインストールし直すことにした。

# useradd pop
# ./configure --enable-apop=/etc/pop.auth --with-popuid=pop
# make
# cd popper
# install popper /usr/sbin
# install -m 4577 -o pop popauth /usr/bin

 上記のようにコマンドする事で APOP に対応した qpopper はインストール完了。
早速 inetd を再起動させて利用したいところだが、その前にもう一つ。

# popauth -init
# popauth -user taka
Changing POP password for taka.
Old Password: ************
Retype new password: ***********
pop

一行目で共有秘密鍵データベースの初期化をし二行目でユーザーの共有秘密鍵の登録を行っている。

<Homeへもどる>   <前に戻る>