POP3,APOP,POP over SSL(IMAP)の設定



 Red Hat Linux 9.0におけるPOP3,APOP,POP over SSLの設定を説明します。
 まず、IMAPがインストールされているか確認して下さい。
  $ rpm -q imap
  imap-2001a-10
 上記のように表示されればインストールされています。インストールされていない場合はこちらからダウンロードしてインストールして下さい。

ipop3の設定

 ipop3の設定ファイルは/etc/xinetd.d/ipop3です。動かすには、このファイルをvi等のエディタで直接編集する方法でも良いですし、setupコマンドで設定する方法でもかまいません。いずれの方法でも、disableの値をnoに変更します。変更後、
  # /etc/rc.d/init.d/xinetd restart
として下さい。これでPOP3サービスが利用できます(ポート番号は110です)。次に、POPサービスの動作確認を行います。
  # telnet 127.0.0.1 110
  Trying 127.0.0.1...
  Connected to 127.0.0.1.
  Escape character is '^]'.
  +OK POP3 localhost.localdomain v2001.78rh server ready
   (上記が表示されない場合は/etc/hosts.allow、/etc.hosts.deny等の確認必要)
  と表示されたら、
  user kenzo  入力する
  +OK Password required for kenzo.
  pass kenzo  入力する(APOP用のパスワードではない)
  +OK kenzo has 0 visible messages (0 hidden) in 0 octets.
  quit  と入力して終了する。
  +OK Pop server at firewall.space.local signing off.
  Connection closed by foreign host.
 POP3のコマンドとレスポンスはこちらにあります。

APOPの設定

 APOPに対応するのは簡単で、/etcディレクトリにcram-md5.pwdというテキストファイルを用意するだけです。
  # vi /etc/cram-md5.pwd
このファイルに[ユーザ名](Tab)[パスワード]という形式で記述します。
  user1     pass001%
  user2     p@ss2345
このファイルにはパスワードがそのまま記載されるので、root以外見ることができないようにします。
  # chmod 600 /etc/cram-md5.pwd
としてファイルのアクセス権を変更しておく必要があります。このファイルを作成すると、通常(shellパスワード)のpopでの認証ができなくなります(正常な動作?)。
 このままでは管理者のみしかパスワードを変更できないので不便です。uw-imapd with cram-md5 and apopの導入というページにmailpasswdというツールが公開されていますので、これを利用すると良いでしょう。

POP over SSLの設定

 APOPは認証処理を暗号化したものですが、POP over SSLは認証処理だけでなく、通信自体がSSLで暗号化されるため、本文も盗聴されにくくなるのが特徴です。
 もっとも、暗号化されるのはメールサーバとメールクライアントの間のみで、そのメールがメールサーバに到着するまでの経路では、暗号化されていなかったかも知れません。また、対応しているメールクライアントも少なく、使われる機会が少ないのが現状です。
 imapのパッケージをインストールしていれば、POP over SSLも簡単に試すことが出来ます。設定ファイルは/etc/xinetd.d/pop3sです。このファイルのdisableの値をnoに変更して、xinetdを再起動します。
 POP over SSLは995番ポートを利用しますので、ファイアウォールを構築している場合には設定の変更が必要になります。

証明書の作成

 SSL対応POP3、IMAP4サーバを利用したい場合は、証明書ファイルが必要となります。この場合の証明書はHTTPS(HTTP over SSL)のような公的な認証局の発行するものである必要はなく、自己署名の付いたもので十分です。作成した証明書は/usr/share/ssl/certsに置くことになっていて、デフォルトでダミー証明書がインストールされています。しかし、これはあくまでダミー証明書であり、適当なデータが入っているだけです。
 実際に使用する場合には以下のようにして証明書を作成して下さい。
  # mkdir /usr/share/ssl/certs
  # cd /usr/share/ssl/certs
  # /usr/bin/openssl req -newkey rsa:1024
                    -keyout key.pem -nodes -x509 -days 365 -out req.pem(実際は1行)
  # cat key.pem req.pem > ipop3sd.pem  ←  POP3サーバ用
  # chmod 600 ipop3sd.pem
  # rm -f key.pem req.pem
  # /usr/bin/openssl req -newkey rsa:1024
                    -keyout key.pem -nodes -x509 -days 365 -out req.pem(実際は1行)
  # cat key.pem req.pem > imap3sd.pem  ←  IMAP4サーバ用
  # chmod 600 imap3sd.pem
  # rm -f key.pem req.pem
 POP3用の証明書ipop3sd.pem、IMAP4の証明書imap3sd.pemとして置いて下さい。

補足

 以下のように、HTTPS用に作成してあるサーバ鍵とサーバ証明書を利用して、POP3サーバ用・IMAP4サーバ用の証明書を作成することもできます。
  # mkdir /usr/share/ssl/certs
  # cd /usr/share/ssl/certs
  # cat /etc/httpd/conf/ssl.key/server.key /etc/httpd/conf/ssl.crt/server.crt > ipop3sd.pem
  # chmod 600 ipop3sd.pem
  # cat /etc/httpd/conf/ssl.key/server.key /etc/httpd/conf/ssl.crt/server.crt > imap3sd.pem
  # chmod 600 imap3sd.pem