[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で証明書のインストール時に、鍵が合わないとのエラーになります。

 

 

 

 


KingSSL - © 2010, Toriton,Inc. All rights Reserved.
KingSSL Certificates supported by all Popular Browsers & Web Servers