■CommuniGate ProにStartSSLの証明書を複数使うメモ
さっと覚書程度。無償SSL証明書の入手 【5/11追記】 で追記したのは、こちらの確認をしていたため。最後にTLS接続のブラウザ挙動の試験結果も軽く記載。
■試験前提
ドメイン:example.com
サーバ名:mail.example.com
a) user01はuser01@mail.example.comとuser01@example.comの両方を受信可能にする
b) user02はuser02@sub.example.comで利用する
c) user01はsub.example.comでは受信しない
d) user02はmail.example.comでもexample.comでも受信しない
e) CommuniGate Proで利用するプロトコルは以下
SMTP/SMTPS/POP/POPS/IMAP/IMAPS/HTTP/HTTPS
f) example.com, mail.example.com, sub.example.comのIPアドレスは同一
■CommuniGate Proの設定
ここでは過去にCentOS5向けに高パフォーマンス環境のインストール記事があるので、そのリンクを紹介しておく。こちらの記事のプロセス1〜6までがおよそのインストール手順となる。
カスタム版MyNETSとCentOS5で1万人規模のSNSを構築する
http://blog.isnext.net/issy/archives/384
ここではCommuniGate Proの管理画面で
[code] Mail Domain Name : mail.example.com
Langage : Japanese
Preferred Charactor Set : UTF8
Time Zone : (+0900) Japan_Koria
interface : expert[/code]
としてスタートする
1)user01の設定を行う
管理画面>アカウント>ドメイン>mail.example.com>オブジェクトにて
アカウント作成 に user01 と入力してアカウント作成ボタンを押す
管理画面>アカウント>ドメイン>mail.example.com>ドメイン設定にて
画面一番下、ドメインエイリアスに example.com と入力して更新ボタン
2)user02の設定を行う
管理画面>アカウント>ドメインにて
ドメインを作成 に sub.example.com と入力してドメインを作成ボタンを押す
一覧に作成されたsub.example.comのリンクをクリック
アカウント作成 に user02 と入力してアカウント作成ボタンを押す
ここまででa-dの条件は完了
■SSL証明書をインストールする
StartSSLの証明書に関してはこちら参照。ここでは別途作成済みの秘密鍵と証明書をインストールする手順を紹介。
3)mail.example.comの証明書をインストール
管理画面>アカウント>ドメイン>mail.example.com>セキュリティ>SSL/TLSにて
鍵のサイズでインポートを選択して、鍵の生成ボタンを押す
カスタムPEM符号化鍵の入力の入力フィールドが表示される
そこにmail.example.comの秘密鍵をペーストして鍵の生成ボタンを押す
PEM符号化証明書の入力フィールドが表示される
そこにmail.example.comの証明書をペーストして証明書の組み込みボタンを押す
StartSSLから中間証明sub.class1.server.ca.pemを取得する
認証局チェーン (オプション)にsub.class1.server.ca.pemの値をペーストして
認証チェーンの組み込みボタンを押す
StartSSLのCA証明はCommuniGate Pro標準で組み込み済みなので不要
最後にSSL/TLSタブ下のPKIサービスをオンにする
StartSSLの証明書はドメインのみ+指定ホスト名の2つのURLを証明してくれるので、これでexample.comとmail.example.comの2つ分の証明書が組み込まれたことになる。
4)sub.example.comの証明書をインストール(3とほぼ同じ)
管理画面>アカウント>ドメイン>sub.example.com>セキュリティ>SSL/TLSにて
鍵のサイズでインポートを選択して、鍵の生成ボタンを押す
カスタムPEM符号化鍵の入力の入力フィールドが表示される
そこにsub.example.comの秘密鍵をペーストして鍵の生成ボタンを押す
PEM符号化証明書の入力フィールドが表示される
そこにsub.example.comの証明書をペーストして証明書の組み込みボタンを押す
認証局チェーン (オプション)にsub.class1.server.ca.pemの値をペーストして
認証チェーンの組み込みボタンを押す
最後にSSL/TLSタブ下のPKIサービスをオンにする
これでsub.example.comの証明書も組み込み完了。
5)ユーザがアクセスするHTTPポートを変更する
管理画面>設定>サービス>HTTPUから画面右側のリスナーのリンクをクリック
以下の設定を追加して更新ボタンを押す(1行1回)
80, 全てのアドレス, オフ, なし
443, 全てのアドレス, オン, なし
これでHTTP:80とHTTPS:443でユーザがサーバにアクセスできるようになる。証明書の組み込み手順はここまで。
■ブラウザ毎のTLSの動作結果
CommuniGate ProサーバにHTTPSでアクセスした場合に、TLS1.0の接続が正しく行われて同一IPでmail.example.comとsub.example.comの証明書が適切に選択されるブラウザはGoogle Chrome11とFireFox4だけで、IE8やSafari5はメインドメインになっているmail.example.comの証明書が優先的に適用され、sub.example.comにアクセスした場合証明書が正しくない旨のダイアログが表示されてしまう。ブラウザの仕様によって動作に差があることが確認できた。
CommuniGate Pro本体で複数の証明書を取り扱う場合には上記に配慮し、ブラウザの選択に注意する必要がある。
…5ユーザまで無償のCommuniGate Proと無償のStartSSL証明書の組み合わせって個人で運用できる最強にセキュアなメッセージングサーバになるんじゃないかという気がする。
no comment untill now