[POP over SSL] Qpopperでの設定方法
メールサーバや、FTPサーバ、Webサーバが同一筐体の場合、ワイルドカードをご利用いただくことで、1枚の証明書で運用することが可能です。詳しくはこちらをご覧ください。
マニュアルの手順にて動作検証をおこなっておりますが、メールサーバの動作を保証するものではございません。また、証明書の設定部分のみの解説となっておりますので、サーバ構築方法やアプリケーションの詳細については付属のドキュメントや関連書籍等でご確認ください。
Qpopperはオープンソースのアプリケーションです。脆弱性などの問題がないか、随時情報を確認いただき、万一問題が発見された場合は、該当サービスの停止や、対応パッチがリリースされている場合は速やかに適用するなど、運用には十分ご注意ください。
※本例では以下環境を前提としています。
各ファイル名やパスは、お客様の環境に合わせて任意に読み替えてご覧ください。
POPサーバ | qpopper4.0 |
スーパーサーバ | xinetd |
SSLライブラリ(Openssl) | /usr/share/ssl |
コモンネーム | pop.kingssl.com |
証明書・鍵の保存ディレクトリ | /etc/mail/certs |
qpopper設定用証明書ファイル名 (秘密鍵・証明書が統合されたファイル) |
cert.pem |
CSRファイル名 | req.pem |
証明書ファイル名 | server.crt |
中間証明書ファイル名 | cacert.crt |
お申込みの準備
※秘密鍵と、お申し込み画面に貼り付けるCSRを生成します。
qpopper用の証明書を保存するディレクトリを作成します。
mkdir -p -m 660 /etc/mail/certs
ディレクトリの権限を設定します。
chown root:mail /etc/mail/certs
秘密鍵を作成します。
openssl genrsa -out cert.pem 2048
CSRファイルを作成します。
openssl req -new -key cert.pem -out req.pem
※ 半角英数文字 および半角スペース[ ]、ハイフン[-]、ドット[.]、アンダースコア[_]、カンマ[,]、プラス[+]、
スラッシュ[/]、かっこ[(]、閉じかっこ[)]がご利用可能です。
※ ワイルドカードオプションをご利用の場合は、Common Nameにアスタリスク[*]を含めてください。例: *.kingssl.com
フィールド | 説明 | 例 |
---|---|---|
Country Name | 国を示す2文字のISO略語です。 | JP |
State or Province Name | 組織が置かれている都道府県です。 | Kanagawa |
Locality Name | 組織が置かれている市区町村です。 | Kamakura |
Organization Name | 組織の名称です。 | KingSsl |
Organization Unit Name | 組織での部署名です。 ※指定がない場合は - (ハイフン)を入力してください。 |
Sales |
Common Name | ウェブサーバのFQDNです。 | pop.kingssl.com |
Email Addres | 入力不要です。 | - |
A challenge password | 入力不要です。 | - |
An optional company name | 入力不要です。 | - |
生成されたCSR(req.pem)を、お申し込みの際にフォームに貼り付けてください。
[-----BEGIN CERTIFICATE REQUEST-----] から[-----END CERTIFICATE REQUEST-----] までをコピーペーストして下さい。
秘密鍵のアクセス権の変更
chmod 600 /etc/mail/certs/cert.pem
証明書のインストール。
証明書が発行されますと、サーバ証明書が契約者宛てにメールで届きます。
証明書の保存
メール本文中の「◆証明書」の部分 [-----BEGIN CERTIFICATE-----] から[-----END CERTIFICATE-----]
までをコピーし、サーバに保存します。
/etc/mail/certs/server.crt
中間証明書の保存
メール中の「◆中間証明書」をコピーしてサーバに保存します。
中間証明書は、リポジトリのページからも取得できます。
/etc/mail/certs/cacert.crt
証明書ファイルの結合
qpopperでは1つのファイルに秘密鍵、証明書をまとめて設定します。
お客様の証明書(server.crt)と中間証明書(cacert.crt)を、秘密鍵ファイル(cert.pem)に追記して使用します。
証明書の書き込み
cat server.crt >> cert.pem
中間証明書の書き込み
cat cacert.crt >> cert.pem
Qpopperの設定
POP orver SSLを使用する場合、QpopperがSSLに対応している必要があります。
もしSSL対応のオプションをつけていない場合は、コンパイルしなおす必要があります。
SSLのライブラリーにOpensslを使用する場合は、コンパイルオプションに
--with-openssl=path をつけてqpopperをコンパイルします。
※お客様が独自にオプションを設定されている場合は、そのオプションも合わせてご指定ください。
例)
# ./configure --with-openssl=/usr/share/ssl
# make
# make install
Qpopper設定(qpopperr.config)ファイルの作成
設定ファイルにて、QpopperのSSLサーポートの有効化と、キーペアファイルを指定します。
設定ファイル保存用のディレクトリを作成します。
mkdir /etc/mail/pop
viコマンドで、configファイルを作成します。内容は、以下背景色のついている2行です。
vi /etc/mail/pop/qpopper.config
set tls-support = stls
set tls-server-cert-file = /etc/mail/certs/cert.pem
xinetdの設定
pop3sの定義を作成します。
xinetdを設定するディレクトリに移動します。
cd /etc/xinetd.d/
viコマンドでpop3sファイルを作成します。内容は、以下背景色をつけている9行です。
vi pop3s
Service pop3s
{
disable = no
socket_type =stream
wait = no
user = root
server = /usr/local/sbin/popper
server_args = popper -s -f /etc/mail/pop/qpopper.config -l 2
}
※ server_argsに作成した、設定ファイルの指定とTSL、SSLを有効にする ”-l 2” のオプションを
指定してください。
servicesファイルの確認
serviceファイルにpop3s のサービスと使用ポートが記載されている必要があります。記載がない
場合は、viなどのエディタで追記してください。
servicesファイルの中身を確認します。
cat /etc/services
pop3s 995/tcp # POP-3 over SSL
pop3s 995/udp # POP-3 over SSL
上記記載があれば問題ありません。#以下はコメントなので記載しなくても結構です。
サービスの再起動
スーパーサーバプロセスxinetdの再起動を行います。
/etc/init.d/xinetd restart
以上で完了です。
OpenSSLのs_clientオプションを利用することにより、SSL通信途中の証明書のやり取りを確認することが可能です。
参考:Apacheで証明書のインストール時に、鍵が合わないとのエラーになります。