Sun ONE Calendar Server 6.0 管理者ガイド |
第 9 章
Calendar Server での SSL の使用Sun ONE Calendar Server 6.0 は、カレンダークライアントのエンドユーザーと Calendar Server との間でデータを暗号化するために、SSL (Secure Sockets Layer) プロトコルをサポートしています。SSL をサポートするために、Calendar Server は Sun ONE Messaging Server でも使用されている NSS (Netscape Security Services) の SSL ライブラリを使用します。
ics.conf ファイルを使用して、Calendar Server のログインとパスワードだけ、またはカレンダーセッション全体を暗号化するように Calendar Server を設定できます。
この章で説明する内容は次のとおりです。
Calendar Server の SSL 設定Calendar Server の SSL 設定は自己完結型であり、委任された管理者は必要ありません。
Calendar Server の SSL を設定するには、次の手順を実行します。
SSL 証明書データベースの作成
Calendar Server に SSL を実装するには、証明書データベースが必要です。証明書データベースには、CA (認証局) と Calendar Server の証明書を定義する必要があります。
Mozilla ツール
このリリースには次の Mozilla ツールが用意されています。
これらのユーティリティは、次のディレクトリに格納されています。
/opt/SUNWics5/cal/bin
ライブラリパス変数
Mozilla ツールを使用するには、事前に LD_LIBRARY_PATH 変数を適切に設定する必要があります。
例 :
setenv LD_LIBRARY_PATH /opt/SUNWics5/cal/lib
例で使用するファイルとディレクトリ
この章で紹介する例は、次のファイルとディレクトリを使用します。
証明書データベースを作成するには
- スーパーユーザー (root) としてログインするか、スーパーユーザーになります。
- /etc/opt/SUNWics5/config/sslPasswordFile に certutil の証明書データベースパスワードを指定します。
例 :
# echo "password" > /etc/opt/SUNWics5/config/sslPasswordFile
password には実際のパスワードを指定します。
- 証明書データベースの alias ディレクトリを作成します。
例 :
# cd /var/opt/SUNWics5
# mkdir alias
- bin ディレクトリに移動し、証明書データベース (cert7.db) と鍵データベース (key3.db) を生成します。
例 :
# cd /opt/SUNWics5/cal/bin
# ./certutil -N -d /var/opt/SUNWics5/alias
-f /etc/opt/SUNWics5/config/sslPasswordFile
- デフォルトの自己署名ルート CA (認証局) 証明書を生成します。
例 :
# ./certutil -S -n SampleRootCA -x -t "CTu,CTu,CTu"
-s "CN=My Sample Root CA, O=sesta.com" -m 25000
-o /var/opt/SUNWics5/alias/SampleRootCA.crt
-d /var/opt/SUNWics5/alias
-f /etc/opt/SUNWics5/config/sslPasswordFile -z
/etc/passwd
- ホスト用の証明書を生成します。
例 :
# ./certutil -S -n SampleSSLServerCert -c SampleRootCA -t "u,u,u"
-s "CN=hostname.sesta.com, O=sesta.com" -m 25001
-o /var/opt/SUNWics5/alias/SampleSSLServer.crt
-d /var/opt/SUNWics5/alias -f /etc/opt/SUNWics5/config/sslPasswordFile
-z /etc/passwd
hostname.sesta.com はサーバーホスト名です。
- 証明書を検証します。
例 :
# ./certutil -V -u V -n SampleRootCA -d /var/opt/SUNWics5/alias
# ./certutil -V -u V -n SampleSSLServerCert -d /var/opt/SUNWics5/alias
- 証明書をリスト表示します。
例 :
# ./certutil -L -d /var/opt/SUNWics5/alias
# ./certutil -L -n SampleSSLServerCert -d /var/opt/SUNWics5/alias
- modutil を使用して、使用できるセキュリティモジュール (secmod.db) をリスト表示します。
例 :
# ./modutil -list -dbdir /var/opt/SUNWics5/alias
- alias ファイルの所有者を icsuser と icsgroup (または Calendar Server を実行するそれ以外のユーザーとグループの ID) に変更します。
例 :
# find /var/opt/SUNWics5/alias -exec chown icsuser {} ¥;
# find /var/opt/SUNWics5/alias -exec chgrp icsgroup {} ¥;
ルート CA (認証局) への証明書の要求と証明書のインポート
次に、証明書要求の生成、PKI (Public Key Infrastructure) の Web サイトへの要求の送信、証明書のインポートを行う手順について説明します。
ルート CA (認証局) に証明書を要求し、証明書をインポートするには
- スーパーユーザー (root) としてログインするか、スーパーユーザーになります。
- bin ディレクトリに移動します。
# cd /opt/SUNWics5/cal/bin
- certutil を使用して、認証局または PKI (Public Key Infrastructure) の Web サイトに適した証明書要求を作成します。
例 :
# ./certutil -R -s "CN=hostname.sesta.com, OU=hostname / SSL Web Server, O=Sesta C=US" -p "408-555-1234" -o hostnameCert.req -g 1024
-d /var/opt/SUNWics5/alias
-f /etc/opt/SUNWics5/config/sslPasswordFile
-z /etc/passwd -ahostname.sesta.com はホスト名です。
- SSL Web サーバー用のテスト証明書を CA (認証局) または PKI (Public Key Infrastructure) の Web サイトに要求します。hostnameCert.req ファイルの内容をコピーして証明書要求に貼り付けます。
証明書への署名が完了し、準備が整った時点で通知が送信されてきます。
- 証明書認証局チェーンと SSL サーバー証明書をテキストファイルにコピーします。
- 認証局証明書チェーンを証明書データベースにインポートし、認証チェーンを確立します。
例 :
# ./certutil -A -n "GTE CyberTrust Root" -t "TCu,TCu,TCuw"
-d /var/opt/SUNWics5/alias -a -i /export/wspace/Certificates/CA_Certificate_1.txt
-f /etc/opt/SUNWics5/config/sslPasswordFile# ./certutil -A -n "Sesta TEST Root CA" -t "TCu,TCu,TCuw"
-d /var/opt/SUNWics5/alias -a -i /export/wspace/Certificates/CA_Certificate_2.txt
-f /etc/opt/SUNWics5/config/sslPasswordFile- 署名された SSL サーバー証明書をインポートします。
# ./certutil -A -n "hostname SSL Server Test Cert" -t "u,u,u"
-d /var/opt/SUNWics5/alias -a -i /export/wspace/Certificates/SSL_Server_Certificate.txt
-f /etc/opt/SUNWics5/config/sslPasswordFile- 証明書データベース内の証明書をリスト表示します。
# ./certutil -L -d /var/opt/SUNWics5/alias
- ics.conf ファイルで、署名された SSL サーバー証明書の SSL サーバーニックネームを設定します。例 : "hostname SSL Server Test Cert".
注 : ics.conf ファイルの service.http.calendarhostname パラメータと service.http.ssl.sourceurl パラメータのホスト名は、SSL 証明書のホスト名と一致する必要があります (システムに複数のエイリアスがある場合)。
例 : calendar.sesta.com
ics.conf ファイルの SSL パラメータの設定
Calendar Server に SSL を実装するには、ics.conf ファイルの特定のパラメータを設定する必要があります。ここで説明する内容は次のとおりです。
SSL 設定パラメータ
コード例 9-1 は、SSL 設定パラメータを示しています。これらのパラメータが ics.conf ファイルに含まれない場合は、ファイルに追加します。パラメータの設定が完了したら、新しい値が適用されるように Calendar Server を再起動します。SSL パラメータについては、「SSL の設定」を参照してください。
警告
Calendar Server はリモート管理をサポートしていません。service.admin.port パラメータの値はすでに Calendar Server によって適切な値に設定されているので、変更しないでください。この値を変更すると、csadmind プロセスが正常に実行されないことがあります。
Calendar Server のログインまたはカレンダーセッション全体の暗号化
次のパラメータを設定することで、Calendar Server のログインとパスワードだけ、またはカレンダーセッション全体を暗号化するように Calendar Server を設定できます。
SSL のトラブルシューティングまず、復元不可能な問題の発生に備え、証明書データベースを必ず定期的にバックアップしてください。SSL に問題があるときは、次の項目を調べます。
cshttpd プロセスのチェック
SSL が機能するには、Calendar Server の cshttpd プロセスが稼動している必要があります。cshttpd が稼動しているかどうかを調べるには、Solaris システムで次のコマンドを実行します。
# ps -ef | grep cshttpd
証明書の検証
証明書データベースに格納されている証明書をリスト表示し、その有効期限を確認するには、Solaris システムで次のコマンドを実行します。
# ./certutil -L -d /var/opt/SUNWics5/alias
Calendar Server ログファイルの確認
SSL エラーについて、Calendar Server ログファイルを確認します。詳細は、「Calendar Server ログファイルの監視」を参照してください。
SSL ポートへの接続
ブラウザに次の URL を指定し、SSL ポートに接続します。
https://server-name:ssl-port-number
ここで、
server-name は Calendar Server が稼動しているサーバーの名前です。
ssl-port-number は、ics.conf ファイルの service.http.ssl.port パラメータに指定されている SSL ポート番号です。デフォルトは 443 です。