Sun ONE ロゴ     前へ      目次      索引      次へ     
Sun ONE Directory Server インストールおよびチューニングガイド



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

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

始める前に

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

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

前提条件

内容

ボードのインストール

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

Directory Serverインストール

手順は、第 1 章「Sun ONE Directory Server のインストール」を参照

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

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

CA 証明書 (PEM 形式)

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

SSL プロトコルと SSL 証明書、および Sun ONE サーバーコンソール管理をサポートする Sun ONE サーバーでプロトコルを使用する方法については、『Sun ONE Server Console Server Management Guide』を参照してください。

トークンの作成

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 を設定する前に、表 B-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. コード例 B-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-cert7.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 ONE 管理サーバーとクライアントアプリケーションを設定することができます。詳細は、『Sun ONE Directory Server 管理ガイド』を参照してください。


前へ      目次      索引      次へ     
Copyright 2002-2003 Sun Microsystems, Inc. All rights reserved.