POP over SSL
作成 : 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を参照。