Sun Java ロゴ     前へ      目次      索引      次へ     

Sun ロゴ
Sun Java System Calendar Server 管理ガイド 

第 7 章
SSL の設定

Calendar Server は、カレンダークライアントのエンドユーザーと Calendar Server との間でデータを暗号化するために、SSL (Secure Sockets Layer) プロトコルをサポートしています。SSL をサポートするために、Calendar Server は Sun Java System 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/lib

 または、最新バージョンを Web サイトからダウンロードしてください。

ライブラリパス変数

Mozilla ツールを使用するには、事前に LD_LIBRARY_PATH 変数を適切に設定する必要があります。
例 :

setenv LD_LIBRARY_PATH /opt/SUNWics5/cal/lib

例で使用するファイルとディレクトリ

この章で紹介する例は、次のファイルとディレクトリを使用します。

 

証明書データベースを作成するには

  1. スーパーユーザー (root) としてログインするか、スーパーユーザーになります。
  2. /etc/opt/SUNWics5/config/sslPasswordFilecertutil の証明書データベースパスワードを指定します。
    例 :
  3. # echo 'password> /etc/opt/SUNWics5/config/sslPasswordFile

    password には実際のパスワードを指定します。

  4. 証明書データベースの alias ディレクトリを作成します。
    例 :
  5. # cd /var/opt/SUNWics5
    # mkdir alias

  6. bin ディレクトリに移動し、証明書データベース (cert7.db) と鍵データベース (key3.db) を生成します。
    例 :
  7. # cd /opt/SUNWics5/cal/bin
    # ./certutil -N -d /var/opt/SUNWics5/alias-f /etc/opt/SUNWics5/config/sslPasswordFile


    certutil ユーティリティを実行する必要がある場合は、例に従って実行するか、または certutil のヘルプページを参照して構文を理解してください。

    たとえばこの場合、-d /file 情報を指定せずに -N オプションを付けてユーティリティを実行することは避けてください。


  8. デフォルトの自己署名ルート CA (認証局) 証明書を生成します。
    例 :
  9. # ./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

  10. ホスト用の証明書を生成します。
    例 :
  11. # ./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 はサーバーホスト名です。

  12. 証明書を検証します。
    例 :
  13. # ./certutil -V -u V -n SampleRootCA        -d /var/opt/SUNWics5/alias
    # ./certutil -V -u V -n SampleSSLServerCert -d /var/opt/SUNWics5/alias

  14. 証明書をリスト表示します。
    例 :
  15. # ./certutil -L -d /var/opt/SUNWics5/alias
    # ./certutil -L -n SampleSSLServerCert -d /var/opt/SUNWics5/alias

  16. modutil を使用して、使用できるセキュリティモジュール (secmod.db) をリスト表示します。
    例 :
  17. # ./modutil -list -dbdir /var/opt/SUNWics5/alias

  18. alias ファイルの所有者を icsusericsgroup (または Calendar Server を実行するそれ以外のユーザーとグループの ID) に変更します。
    例 :
  19. # find /var/opt/SUNWics5/alias -exec chown icsuser {} ¥;
    # find /var/opt/SUNWics5/alias -exec chgrp icsgroup {}
    ¥;
     

ルート CA (認証局) への証明書の要求と証明書のインポート

次に、証明書要求の生成、PKI (Public Key Infrastructure) の Web サイトへの要求の送信、証明書のインポートを行う手順について説明します。

ルート CA (認証局) に証明書を要求し、証明書をインポートするには

  1. スーパーユーザー (root) としてログインするか、スーパーユーザーになります。
  2. bin ディレクトリに移動します。
  3. # cd /opt/SUNWics5/cal/bin

  4. certutil を使用して、認証局または PKI (Public Key Infrastructure) の Web サイトに適した証明書要求を作成します。
    例 :
  5. # ./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 -a

    hostname.sesta.com はホスト名です。

  6. SSL Web サーバー用のテスト証明書を CA (認証局) または PKI (Public Key Infrastructure) の Web サイトに要求します。hostnameCert.req ファイルの内容をコピーして証明書要求に貼り付けます。
  7. 証明書への署名が完了し、準備が整った時点で通知が送信されてきます。

  8. 証明書認証局チェーンと SSL サーバー証明書をテキストファイルにコピーします。
  9. 認証局証明書チェーンを証明書データベースにインポートし、認証チェーンを確立します。
    例 :
  10. # ./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

  11. 署名された SSL サーバー証明書をインポートします。
  12. # ./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

  13. 証明書データベース内の証明書をリスト表示します。
  14. # ./certutil -L -d /var/opt/SUNWics5/alias

  15. ics.conf ファイルで、署名された SSL サーバー証明書の SSL サーバーニックネームを設定します。
  16. 例 : "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 ファイルの特定のパラメータを設定する必要があります。表 7-1 に表示されるパラメータのいずれかが ics.conf ファイルにない場合、指定した値とともにファイルに追加します。システムの起動時 (start-cal の発行時) に ics.conf が読み取り専用の場合、新しい値は Calendar Server が再起動されるまで反映されません。SSL パラメータについては、「SSL の設定」を参照してください。

表 7-1 SSL の設定に必要な ics.conf パラメータ 

パラメータ

encryption.rsa.nssslactivation

"on"

encryption.rsa.nssslpersonalityssl

"SampleSSLServerCert"

encryption.rsa.nsssltoken

"internal"

service.http.tmpdir

"/var/opt/SUNWics5/tmp"

service.http.uidir.path

"html"

service.http.ssl.cachedir

"."

service.http.ssl.cachesize

"10000"

service.http.ssl.certdb.password

"anypassword"(適切なパスワードを入力)

service.http.ssl.certdb.path

"/var/opt/SUNWics5/alias"

service.http.ssl.port.enable

"yes"

service.http.ssl.port

"443" (デフォルトのポート番号)

service.http.ssl.securelogin

"yes" (ログインとパスワードを暗号化する)

service.http.securesession

"yes" (セッション全体を暗号化する)

service.http.ssl.sourceurl

"https"//localhost:port" (ローカルホスト名、および service.http.ssl.port の値を入力)

service.http.ssl.ssl2.ciphers

""

service.http.ssl.ssl2.sessiontimeout

"0"

service.http.ssl.ssl3.ciphers

"rsa_rc4_40_md5,rsa_rc2_40_md5,rsa_des_sha,
rsa_rc4_128_md5,rsa_3des_sha"

service.http.ssl.ssl3.sessiontimeout

"0"

service.http.sslusessl

"yes"


次のパラメータを設定することで、Calendar Server のログインとパスワードだけ、またはカレンダーセッション全体を暗号化するように Calendar Server を設定できます。service.http.ssl.securelogin, service.http.ssl.securesession.

ログインとセッションの暗号化の両方を行う場合、両方のパラメータの値として "yes" を指定する必要があります。



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



前へ      目次      索引      次へ     


Copyright 2004 Sun Microsystems, Inc. All rights reserved.