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

Sun ロゴ
Sun Java™ System Directory Server 5 2004Q2 管理ガイド 

付録 A
Sun Crypto Accelerator ボードの使用

この付録では、Directory Server で Sun Crypto Accelerator ボードを使用して、証明書ベースの認証と Secure Sockets Layer (SSL) プロトコルを使用した接続のパフォーマンスを向上させる手順について説明します。


始める前に

Sun Crypto Accelerator ボードを使用して SSL 接続のパフォーマンスを向上させる前に、表 A-1 に示した項目を完了しておく必要があります。

表 A-1 ボードを使用するための前提条件 

前提条件

内容

ボードのインストール

ハードウェア、ドライバ、パッチ、および管理ユーティリティをホストにインストールするときは、ボードに付属の製品マニュアルを参照

Directory Serverインストール

手順については、『Sun Java Enterprise System 2004Q2 インストールガイド』を参照

サーバー証明書 (PKCS#12 形式)

Directory Server のサーバー証明書を .p12 ファイルで取得する

CA 証明書 (PEM 形式)

証明書発行局 (CA) の CA 証明書を PEM (Privacy Enhanced Mail) 形式ファイルで取得する

SSL プロトコルと SSL 証明書、および Server Console による管理をサポートする Sun Java System サーバーでプロトコルを使用する方法については、第 11 章「認証と暗号化の管理」を参照してください。


トークンの作成

Directory Server ではトークンとパスワードを使用して、アクセラレータボード上の適切な暗号化キーマテリアルにアクセスします。トークンは user@realm という形式になります。ここで user は、アクセラレータボードのユーザーで、暗号化キーマテリアルの所有者です。realm は、アクセラレータボードのレルムで、ユーザーとそのキーマテリアルの論理パーティションです。アクセラレータボードのユーザーは、システムのユーザーアカウントとは何も関係を持つ必要はありません。このユーザーはボード専用です。ユーザーとレルムについての詳細は、アクセラレータボードの製品マニュアルを参照してください。

トークンのユーザーとレルムは、ボードで使用するように用意された secadm (1M) ユーティリティを使用して作成できます。また、アクセラレータボードでは、複数のアプリケーションのトークンを管理するために、複数のスロットを作成することもできます。ここでは、パフォーマンス上の理由から、ホストを Directory Server 専用にし、1 スロットだけを使用します。これはデフォルトの設定です。複数のソフトウェアアプリケーションでボードを使用する詳細は、アクセラレータボードの製品マニュアルを参照してください。

デフォルトのスロットにアクセスするためのトークンのユーザーとレルムを作成するには、次の手順を実行します。

  1. secadm ユーティリティを起動します。
  2. $ CryptoPath/bin/secadm

    デフォルトの CryptoPath/opt/SUNWconn/crypto です。

  3. トークンのレルムを作成します。
  4. secadm> create realm=dsrealm
    System Administrator Login Required
    Login: super-user
    Password:
    Realm dsrealm created successfully.

  5. ユーザーを作成するレルムを設定します。
  6. secadm> set realm=dsrealm
    secadm{dsrealm}> su
    System Administrator Login Required
    Login: super-user
    Password:
    secadm{root@dsrealm}#

  7. デフォルトのスロットを使用するユーザー nobody を作成し、SSL を設定した Directory Server を再起動するときに使用するパスワードを指定します。
  8. secadm{root@dsrealm}# create user=nobody
    Initial password:password
    Confirm password:password
    User nobody created successfully.
    secadm{root@dsrealm}# exit

この時点で、トークン nobody@dsrealm のユーザーとレルムが作成され、Directory Server を再起動するときに使用するパスワードを指定しています。


ボード用バインドの生成

アクセラレータボード用のバインドは、生成する外部セキュリティモジュールの形式をとるため、Directory Server はボードにバインドできます。複数の SSL アルゴリズムをサポートした、外部セキュリティモジュールと Directory Server 証明書データベースとの間のバインドを生成するには、次の手順を実行します。

  1. modutil を使用する前にLD_LIBRARY_PATH を設定します。
  2. $ set LD_LIBRARY_PATH=ServerRoot/lib ; export LD_LIBRARY_PATH

  3. セキュリティモジュールデータベースが存在しない場合は作成します。
  4. $ cd ServerRoot/shared/bin
    $ ./modutil -create -dbdir ../../alias -dbprefix "slapd-serverID"

  5. 外部セキュリティモジュールをセキュリティモジュールデータベースに追加します。
  6. $ ./modutil -add "Crypto Mod" -dbdir ../../alias -nocertdb ¥
    -libfile CryptoPath/lib/libpkcs11.so ¥
    -mechanisms "RSA:DSA:RC4:DES" -dbprefix "slapd-serverID"

    デフォルトの CryptoPath/opt/SUNWconn/crypto です。

  7. セキュリティモジュールを一覧にして、追加に成功したことを確認します。
  8. $ ./modutil -list -dbdir ../../alias -dbprefix "slapd-serverID"

    手順 3 で追加した Crypto Mod のエントリが表示されます。

  9. 外部セキュリティモジュールを RSA、DSA、RC4、および DES のデフォルトにします。
  10. $ ./modutil -default "Crypto Mod" -dbdir ../../alias ¥
    -mechanisms "RSA:DSA:RC4:DES" -dbprefix "slapd-serverID"

    デフォルトのセキュリティモジュールの変更が成功します。

この時点で、アクセラレータボード用バインドを生成し、証明書をインポートできるようになりました。


証明書のインポート

SSL を設定する前に、表 A-1 で説明したようにして取得したサーバー証明書と CA 証明書をインポートする必要があります。証明書をインポートするには、次の手順を実行します。

  1. サーバー証明書 .p12 ファイルをインポートします。
  2. $ cd ServerRoot/shared/bin
    $ ./pk12util -i ServerCert.p12 -d ../../alias -P "slapd-serverID" ¥
    -h "nobody@dsrealm"
    Enter Password or Pin for "nobody@dsrealm": password
    Enter Password for PKCS12 file:password

  3. CA 証明書をインポートします。
  4. $ ./certutil -A -n "Crypto CA Cert" -t CT -i CACert.txt ¥
    -d ../../alias -P "slapd-serverID" -h "nobody@dsrealm"

  5. トークンに関連付けられた証明書を一覧にして、インポートが成功したことを確認します。
  6. $ ./certutil -L -d ../../alias -P "slapd-serverID" ¥
    -h "nobody@dsrealm"

    手順 1手順 2 で追加した証明書のエントリが表示されます。

この時点で、証明書がインポートされ、Directory Server が SSL 接続を待機するように設定できるようになります。


SSL の設定

作成したトークンとパスワード、外部セキュリティモジュールと Directory Server 証明書データベースの間に生成したバインド、およびインポートした証明書を使用すると、Directory Server をセキュリティ保護されたモードで起動できます。SSL を設定して Directory Server をセキュリティ保護されたモードで再起動するには、次の手順を実行します。

  1. SSL 関連の Directory Server 設定エントリを変更するための修正ファイル ssl.ldif を作成します。
  2. コード例 A-1 ボードを使用した SSL をアクティブにするための変更 (ssl.ldif)

    dn: cn=RSA,cn=encryption,cn=config

    changetype:add

    objectclass:top

    objectclass: nsEncryptionModule

    cn: RSA

    nsSSLToken: nobody@dsrealm

    nsSSLPersonalitySSL: ServerCertNickname1

    nsSSLActivation:on

    dn:cn=encryption,cn=config

    changetype:modify

    replace:nsSSL3

    nsSSL3:on

    -

    replace:nsSSLClientAuth

    nsSSLClientAuth:allowed

    -

    replace:nsSSL3Ciphers

    nsSSL3Ciphers: -rsa_null_md5,+rsa_rc4_128_md5,+rsa_rc4_40_md5,

    +rsa_rc2_40_md5,+rsa_des_sha,+rsa_fips_des_sha,+rsa_3des_sha,

    +rsa_fips_3des_sha,+fortezza,+fortezza_rc4_128_sha,

    +fortezza_null,+tls_rsa_export1024_with_rc4_56_sha,

    +tls_rsa_export1024_with_rc4_56_sha,

    +tls_rsa_export1024_with_des_cbc_sha

    -

    replace: nsCertfile

    nsCertfile: alias/slapd-serverID-cert8.db

    -

    replace: nsKeyFile

    nsKeyFile: alias/slapd-serverID-key3.db

    dn:cn=config

    changetype:modify

    replace: nsslapd-secureport

    nsslapd-secureport: port

    -

    replace: nsslapd-security

    nsslapd-security:on

    1このニックネームは Directory Server の証明書に含まれている

    ここで nsslapd-secureport の値である port は、Directory Server がセキュリティ保護されたモードで起動した後、SSL 接続を待機するためのポートです。

  3. Directory Server 設定を変更するために、変更内容を適用します。
  4. $ ldapmodify -p currPort -D "cn=directory manager" -w password -f ssl.ldif

    ここで currPort は、Directory Server がクライアント要求を待機している現在のポートの番号です。

  5. Directory Server をセキュリティ保護されたモードで再起動します。
  6. $ ServerRoot/slapd-serverID/restart-slapd
    Enter PIN for nobody@dsrealm:password

    ここで passwordnobody のユーザーパスワードで、トークン nobody@dsrealm を作成したときに指定しています。

この時点で、Directory Server は指定したポートで SSL トラフィックを待機します。そのポートを使用して、 SSL によって Directory Server にアクセスするために、Sun Java System 管理サーバーとクライアントアプリケーションを設定することができます。詳細は、第 11 章「認証と暗号化の管理」を参照してください。



前へ      目次      索引      次へ     


Copyright 2004 Sun Microsystems, Inc. All rights reserved.