Sun Java System Access Manager 7 2005Q4 配備計画ガイド

ロードバランサ用の SSL ターミネーションの設定

ロードバランサを設定して SSL 要求を処理できるようにする前に、まず、Access Manger Web コンテナの SSL を設定します。手順については、『Sun Java System Access Manager 7 2005Q4 管理ガイド』の第 3 章「Access Manager を SSL モードに設定する」を参照してください。

ロードバランサと Access Manager サーバー用に SSL を設定するには、次の場合につ いて考慮してください。

SSL パススルー設定を除き、標準のサーバー証明書を使用してロードバランサの SSL ターミネーションを有効にすることができます。ただし、ロードバランサと Access Manager サーバー用に SSL パススルーを設定し、ロードバランサがクライアントから Access Manager サーバーへのすべての要求をバイパスする場合は、標準のサーバー証明書では SSL に関する次の問題が発生します。

これらの問題を解決するために、Access Manager には次のプロパティーが用意されています。

SubjectAltName 拡張機能を使用した CSR の生成

SubjectAltName 拡張機能を使用して証明書署名要求 (CSR) を生成するには、証明書データベースツール (certutil) を使用します。certutil/usr/sfw/bin ディレクトリにない場合、まず、Solaris システムの場合は SUNWtlsu パッケージを、Linux システムの場合は sun-nss-sun-nss-devel RPM をインストールします。必要に応じて、 LD_LIBRARY_PATH 環境変数に、適切な certutil のパスを設定します。

certutil については、次のサイトを参照してください。http://www.mozilla.org/

ここでは、Web コンテナとして Web Server または Application Server を使用している場合の certutil の使用方法について説明します。Web コンテナとして BEA WebLogic Server または IBM WebSphere Application Server を使用している場合は、それぞれの BEA または IBM 製品のマニュアルを参照してください。

SubjectAltName 拡張機能を使用して CSR を生成するには、次の手順に従います。

  1. スーパーユーザー (root) としてログインするか、スーパーユーザーになります。

  2. certutil -N オプションを使用して、新しい証明書データベース (cert8.db) を作成します。必要に応じて、最初に、データベース用のディレクトリを作成します。次に例を示します。

    # mkdir certdbdir 
    # cd certdbdir 
    # certutil -N -d .

    certutil から入力を求められたら、鍵を暗号化するためのパスワードを入力します。

    Enter a password which will be used to encrypt your keys. 
    The password should be at least 8 characters long, 
    and should contain at least one non-alphabetic character.
    
    Enter new password: your-password 
    Re-enter password:  your-password
    
  3. SubjectAltName 拡張機能を使用して CSR を生成します。次に例を示します。

    # certutil -R -s "cn=lb.example.com,o=example.com,c=us" 
    -o server.req -d . -a -8 amserv1.example.com,amserv2.example.com

    certutil から入力を求められたら、パスワード (または pin) を入力し、次にランダムシードを生成するための鍵を入力して鍵を作成します。

    Enter Password or Pin for "NSS Certificate DB": your-password
    
    A random seed must be generated that will be used in the  
    creation of your key.  One of the easiest ways to create a  
    random seed is to use the timing of keystrokes on a keyboard.   
    
    To begin, type keys on the keyboard until this progress meter  
    is full.  DO NOT USE THE AUTOREPEAT FUNCTION ON YOUR KEYBOARD!   
    
    Continue typing until the progress meter is full:   
    
    |************************************************************|   
    
    Finished.  Press enter to continue:   
    
    Generating key.  This may take a few moments...
  4. CSR (この例では server.req ファイル) を認証局 (CA) に送信します。サーバー証明書を取得し、certutil -A オプションを使用して、それを証明書データベースに追加します。

  5. 証明書データベース (cert8.db) を Web コンテナのディレクトリにコピーします。

    • Web Server。cert8.db および key3.db データベースを /opt/SUNWwbsrv/alias ディレクトリにコピーし、Web Server インスタンスの名前を使用してその名前を変更します。次に例を示します。

      https-webserver.example.com-webserver-cert8.db
      https-webserver.example.com-webserver-key3.db
    • Application Server。cert8.db および key3.db データベースをインスタンスの /config ディレクトリにコピーします。次に例を示します。

      /var/opt/SUNWappserver/domains/domain1/config/cert8.db 
      /var/opt/SUNWappserver/domains/domain1/config/key3.db