POP over SSL

[サーバの実験室 Redhat/Fedora]

作成 : 2004/06/06

"サーバの実験室"の検索


POP over SSL

POP3ではPOPサーバとMUA(メールクライアント)の間を、ログイン名・パスワード・メールの内容が平文で流れてしまう。 SSLを使用して暗号化することで、POPサーバから安全にデータを転送することができる。

サーバ秘密鍵と証明書の作成

POPサーバの秘密鍵と証明書を作成する。 dovecotパッケージをインストールすると、秘密鍵と証明書を作成するためのシェルスクリプトmkcert.sh/usr/share/dovecot-0.99.10.4ディレクトリにインストールされる。 設定ファイルdovecot-openssl.cnfをサーバに合わせて編集した後、シェルスクリプトを実行する。

/usr/share/dovecot-0.99.10.4/dovecot-openssl.cnf

[ req ]
default_bits = 1024
encrypt_key = yes
distinguished_name = req_dn
x509_extensions = cert_type
prompt = no

[ req_dn ]
# Organizational Unit Name (eg. section)
OU=pop3s server

# Common Name (*.example.com is also possible)
CN=pop.nina.jp    <---メールクライアントで指定するPOPサーバ名

# E-mail contact
emailAddress=root@pop.nina.jp    <---サーバ管理者のメアド

[ cert_type ]
nsCertType = server

シェルスクリプトを実行すると、秘密鍵/etc/ssl/private/imapd.pemと証明書/etc/ssl/certs/imapd.pemが作成される。 ディレクトリを事前に作成しておかないと、エラーになる。

# mkdir -p /etc/ssl/private
# mkdir -p /etc/ssl/certs

# cd /usr/share/doc/dovecot-0.99.10.4
# chmod 755 mkcert.sh
# ./mkcert.sh
Generating a 1024 bit RSA private key
...........................................++++++
.....................................++++++
writing new private key to '/etc/ssl/private/imapd.pem'
-----

subject= /OU=pop3s server/CN=pop.nina.jp/emailAddress=root@pop.nina.jp
MD5 Fingerprint=4F:97:EE:72:2F:70:60:32:C1:C3:16:58:AC:4F:84:A5

実際は、シェルスクリプトのなかで以下のようなコマンドを実行している。 "-days 30"で証明書の有効期間は30日と指定してあるので、もっと長くしたいならスクリプトを修正する。 opensslのコマンドについては、opensslコマンドを参照。

# openssl req -new -days 30 -x509 -nodes -config dovecot-openssl.cnf -out /etc/ssl/certs/imapd.pem -keyout /etc/ssl/private/imapd.pem

作成した秘密鍵は、root以外のユーザからアクセスできないようにすること!

POP over SSLサーバとしてのdovecotの設定

dovecotの設定は、/etc/dovecot.confファイルに記述する。

#protocols = imap imaps    <---デフォルトはIMAP/IMAPS
protocols = pop3s    <---POP3S(POP over SSL)を有効にする

dovecotの起動

dovecotを再起動する。 特に指定しなければ、POP over SSLはTCP 995番ポートを使用する。 ファイアウォールを使用している場合は、TCP 995番ポートをあけておくこと。

# /etc/init.d/dovecot restart

メールクライアントの設定

EudoraでPOP over SSLまたはOutlook ExpressでPOP over SSLを参照。


[サーバの実験室 Redhat/Fedora]