Sun Java System Access Manager 7 2005Q4 管理ガイド

第 3 章 Access Manager の SSL モードへの設定

SSL (Secure Socket Layer) を単純な認証で使用することで、機密性とデータの整合性とが保証されます。Access Manager を SSL モードにするには、通常は次のようにします。

セキュリティー保護された Sun Java Enterprise System Web Server による Access Manager の設定

Web Server で実行する Access Manager を SSL モードに設定するには、次の手順を参照してください。

Procedureセキュリティー保護された Web Server を設定する

手順
  1. Access Manager コンソールで、サービス設定モジュールに移動し、「プラットフォーム」サービスを選択します。「サーバーリスト」属性で http:// プロトコルを削除し、https:// プロトコルを追加します。「保存」をクリックします。


    注 –

    必ず「保存」をクリックしてください。そうしないと、次の手順に進むことはできますが、設定の変更内容はすべて失われ、それを修正するために管理者としてログインすることもできなくなります。


    手順 2 〜手順 24 では、Web Server を設定します。

  2. Web Server コンソールにログオンします。デフォルトのポート番号は、8888 です。

  3. Access Manager を実行している Web Server インスタンスを選択し、「Manage」をクリックします。

    設定が変更されたことを知らせるポップアップウィンドウが表示されます。「了解」をクリックします。

  4. 画面の右上部にある「Apply」ボタンをクリックします。

  5. 「変更の適用」をクリックします。

    Web Server が自動的に再起動されます。「OK」をクリックして先に進みます。

  6. 選択した Web Server インスタンスを停止します。

  7. 「Security」タブをクリックします。

  8. 「Create Database」をクリックします。

  9. 新しいデータベースのパスワードを入力し、「OK」をクリックします。

    あとで使用するために、このデータベースパスワードを書き留めておくようにしてください。

  10. 証明書データベースが作成されたら、「Request a Certificate」をクリックします。

  11. 画面に表示されるフィールドにデータを入力します。

    「Key Pair Field Password」フィールドは、手順 9 で入力した値と同じ値にします。場所のフィールドには、場所を完全名で入力する必要があります。「CA」などの省略形では動作しません。すべてのフィールドを定義する必要があります。「Common Name」フィールドには、使用している Web Server のホスト名を入力します。

  12. フォームを送信すると、次のようなメッセージが表示されます。


    --BEGIN CERTIFICATE REQUEST---
    
    afajsdllwqeroisdaoi234rlkqwelkasjlasnvdknbslajowijalsdkjfalsdflasdf
    
    alsfjawoeirjoi2ejowdnlkswnvnwofijwoeijfwiepwerfoiqeroijeprwpfrwl
    
    --END CERTIFICATE REQUEST--
    
                   
  13. このテキストをコピーし、証明書要求として送信します。

    ルート CA 証明書を取得するようにしてください。

  14. 証明書の含まれた証明書応答が返されます。たとえば次のようになります。


    --BEGIN CERTIFICATE---
    
    afajsdllwqeroisdaoi234rlkqwelkasjlasnvdknbslajowijalsdkjfalsdflasdf
    
    alsfjawoeirjoi2ejowdnlkswnvnwofijwoeijfwiepwerfoiqeroijeprwpfrwl
    
    --END CERTIFICATE---
    
                   
  15. このテキストをクリップボードにコピーするか、ファイルに保存します。

  16. Web Server コンソールで、「Install Certificate」をクリックします。

  17. 「Certificate for this Server」をクリックします。

  18. 「鍵ペアファイルパスワード」フィールドに、証明書データベースのパスワードを入力します。

  19. 証明書を表示されたテキストフィールドに貼り付けます。またはラジオボタンをクリックし、テキストボックスにファイル名を入力します。「送信」をクリックします。

    ブラウザに証明書と、証明書を追加するボタンが表示されます。

  20. 「Install Certificate」をクリックします。

  21. 「Certificate for Trusted Certificate Authority」をクリックします。

  22. 手順 16 〜手順 21 と同じ方法で、ルート CA 証明書をインストールします。

  23. 両方の証明書をインストールしたら、Web Server コンソールで「Preferences」タブをクリックします。

  24. 別のポートで SSL を有効にする場合は、「Add Listen Socket」を選択します。次に、「Edit Listen Socket」を選択します。

  25. セキュリティー状態を「Disabled」から「Enabled」に変更し、「OK」をクリックして変更を送信してから、「Apply」および「 Apply Changes」をクリックします。

    手順 26 〜手順 29 では、Access Manager を設定します。

  26. AMConfig.properties ファイルを開きます。このファイルの場所は、デフォルトで /etc/opt/SUNWam/config です。

  27. プロトコルで http:// が出現する箇所をすべて https:// に変更します。ただし Web Server インスタンスディレクトリの箇所は除きます。これは AMConfig.properties でも指定していますが、そのままにしておきます。

  28. AMConfig.properties ファイルを保存します。

  29. Web Server コンソールで、Web Server インスタンスをホスティングする Access Manager の「ON/OFF」ボタンをクリックします。

    Web Server で「Start/Stop」ページにテキストボックスが表示されます。

  30. このテキストフィールドに、証明書データベースのパスワードを入力し、「Start」を選択します。

セキュリティー保護された Sun Java System Application Server による Access Manager の設定

SSL が有効になっている Application Server 上で Access Manager を実行するには、次の 2 つの手順で設定します。まず、インストールされた Access Manager に対して Application Server のインスタンスをセキュリティー保護します。次に、Access Manager 自体を設定します。

Application Server 6.2 を SSL で設定する

ここでは、Application Server 6.2 を SSL モードに設定する手順について説明します。

ProcedureApplication Server インスタンスをセキュリティーで保護する

手順
  1. ブラウザに次のアドレスを入力して、Sun Java System Application Server コンソールに管理者としてログインします。

    http://fullservername:port

    デフォルトのポート番号は、4848 です。

  2. インストール時に入力したユーザー名とパスワードを入力します。

  3. Access Manager をインストールした (または、これからインストールする) Application Server インスタンスを選択します。設定が変更されたことが、右側のフレームに表示されます。

  4. 「変更の適用」をクリックします。

  5. 「再起動」をクリックします。Application Server が自動的に再起動されます。

  6. 左側のフレームで、「セキュリティー」をクリックします。

  7. 「データベースの管理」タブをクリックします。

  8. 「データベースを作成」が選択されていない場合は、それをクリックします。

  9. 新しいデータベースのパスワードを入力し、確認のパスワードを入力してから、「OK」をクリックします。あとで使用するために、このデータベースパスワードを書き留めておくようにしてください。

  10. 証明書データベースが作成されたら、「証明書管理」タブをクリックします。

  11. 「要求」リンクが選択されていない場合は、それをクリックします。

  12. 証明書要求のデータを次のように入力します。

    1. 新規の証明書か、証明書の書き換えかを選択します。証明書の多くは、一定の期間が過ぎると期限切れになります。書き換え通知を自動的に送信する認証局 (CA) もあります。

    2. 証明書要求を送信する方法を指定します。

      要求を電子メールメッセージで受け取る CA の場合は、「CA 電子メールアドレス」を選択し、CA の電子メールアドレスを入力します。CA のリストを表示するには、「List of Available Certificate Authorities」をクリックします。

      Certificate Server を使用している内部 CA に証明書を要求する場合は、「CA URL」をクリックし、Certificate Server の URL を入力します。この URL は、Certificate Server で証明書要求を処理するプログラムを指している必要があります。

    3. 鍵ペアファイルのパスワードを入力します。これは、手順 9 で指定したパスワードです。

    4. 次の識別情報を入力します。

      「共通名」: ポート番号も含む完全なサーバー名。

      「要求者名」: 要求者の名前。

      「電話番号」: 要求者の電話番号。

      「共通名」: デジタル証明書のインストール先となる Sun Java System Application Server の完全修飾名。

      「メールアドレス」: 管理者の電子メールアドレス。

      「組織」: 組織の名前。認証局によっては、この属性に入力されたホスト名が、この組織に登録済みのドメインに属していることが必要になります。

      「組織単位」: 部課名など、組織の運営単位の名前。

      「地域」: 市区町村の名前。

      「州または都道府県名」: 組織がアメリカ合衆国またはカナダで運営されている場合は、その州の名前。省略形は使用しないでください。

      「国名」: 国を表す 2 文字の ISO コード。たとえば、アメリカ合衆国のコードは US です。

  13. 「OK」ボタンをクリックします。次のようなメッセージが表示されます。


    --BEGIN NEW CERTIFICATE REQUEST---
    afajsdllwqeroisdaoi234rlkqwelkasjlasnvdknbslajowijalsdkjfalsdfla
    alsfjawoeirjoi2ejowdnlkswnvnwofijwoeijfwiepwerfoiqeroijeprwpfrwl
    --END NEW CERTIFICATE REQUEST--
  14. このテキスト全体をファイルにコピーし、「OK」をクリックします。ルート CA 証明書を取得するようにしてください。

  15. CA を選択し、その CA の Web サイトにある指示に従ってデジタル証明書を取得します。証明書は CMS、Verisign、または Entrust.net から取得できます。

  16. 認証局からデジタル証明書を受け取ったら、そのテキストをクリップボードにコピーするか、ファイルに保存します。

  17. Application Server コンソールに移動し、「インストール」リンクをクリックします。

  18. 「Certificate for this Server」を選択します。

  19. 「鍵ペアファイルパスワード」フィールドに、証明書データベースのパスワードを入力します。

  20. 「メッセージ」テキストフィールドに、証明書をヘッダーも含めて貼り付けるか、ファイル名を入力します。適切なラジオボタンをクリックします。

  21. 「OK」ボタンをクリックします。ブラウザに証明書と、証明書を追加するボタンが表示されます。

  22. 「サーバー証明書を追加」をクリックします。

  23. すでに説明した方法に従って、ルート CA 証明書をインストールします。ただし、ここでは「証明書」の「信頼できる証明書発行局 (CA)」をクリックします。

  24. 両方の証明書をインストールしたら、左側のフレームで「HTTP サーバー」ノードを展開します。

  25. 「HTTP サーバー」の下にある「HTTP リスナー」を選択します。

  26. http-listener-1 を選択します。ソケットの情報がブラウザに表示されます。

  27. http-listener-1 で使用するポートの値を、Application Server のインストール時に入力した値から、より適切な値 (443 など) に変更します。

  28. 「SSL/TLS を有効」を選択します。

  29. 「証明書のニックネーム」を選択します。

  30. 「戻すサーバー名」を指定します。手順 12 で指定した「共通名」と同じにする必要があります。

  31. 「保存」をクリックします。

  32. Access Manager ソフトウェアをインストールする Application Server インスタンスを選択します。設定が変更されたことが、右側のフレームに表示されます。

  33. 「変更の適用」をクリックします。

  34. 「再起動」をクリックします。Application Server が自動的に再起動されます。

Application Server 8.1 を SSL で設定する

Application Server 8.1 を SSL で設定する基本手順は、次のとおりです。詳細な手順については、Application Server 8.1 のマニュアルを参照してください。

  1. Application Server 上で Application Server 管理コンソールを使ってセキュリティー保護されたポートを作成します。詳細については、次の場所にある『Sun Java System Application Server Enterprise Edition 8.1 管理ガイド』の「セキュリティーの設定」を参照してください。

    http://docs.sun.com/app/docs/coll/1369.1?l=ja

  2. Web コンテナの信頼データベース内にそのサーバーの証明書を信頼する認証局 (CA) が存在していることを確認します。次に、Web コンテナに対するサーバー証明書を取得してインストールします。詳細については、次の場所にある『Sun Java System Application Server Enterprise Edition 8.1 管理ガイド』の「証明書と SSL の操作」を参照してください。

    http://docs.sun.com/app/docs/coll/1369.1?l=ja

  3. Web コンテナを再起動します。

Access Manager の SSL モードへの設定

ここでは、Access Manager を SSL モードに設定する手順について説明します。Access Manager の SSL を設定する前に、配備先の Web コンテナが設定されていることを確認してください。

ProcedureAccess Manager を SSL モードに設定する

手順
  1. Access Manager コンソールで、サービス設定モジュールに移動し、「プラットフォーム」サービスを選択します。「サーバーリスト」属性で、同じ URL を HTTPS プロトコルで追加し、SSL が有効になっているポート番号を追加します。「保存」をクリックします。


    注 –

    Access Manager の 1 つのインスタンスが、2 つのポート (HTTP と HTTPS) で待機しているとき、未処理のまま蓄積されたクッキーを使って Access Manager にアクセスしようとすると、Access Manager は応答しなくなります。この設定はサポートされていません。


  2. AMConfig.properties ファイルを開きます。デフォルトでは次の場所にあります。


    /etc/opt/SUNWam/config.
  3. プロトコルで http:// が出現する箇所をすべて https:// に変更します。また、ポート番号を、SSL が有効になっているポート番号に変更します。

  4. AMConfig.properties ファイルを保存します。

  5. Application Server を再起動します。

セキュリティー保護された BEA WebLogic Server による AMSDK の設定

BEA WebLogic Server は、最初にインストールして Web コンテナとして設定してから、SSL で AMSDK を使用して設定する必要があります。インストールの詳細については、BEA WebLogic Server のマニュアルを参照してください。Access Manager の Web コンテナとして WebLogic を設定するには、第 1 章「Access Manager 7 2005Q4 の設定スクリプト」を参照してください。

Procedureセキュリティー保護された WebLogic インスタンスを設定する

手順
  1. クイックスタートメニューを使用してドメインを作成します。

  2. WebLogic インストールディレクトリに移動し、証明書要求を生成します。

  3. CSR テキストファイルを使用し、サーバー証明書を CA に申請します。

  4. 承認証明書をテキストファイルに保存します。たとえば、approvedcert.txt に保存します。

  5. 次のコマンドを使用し、cacerts でルート CA をロードします。

    cd jdk141_03/jre/lib/security/

    jdk141_03/jre/bin/keytool -keystore cacerts -keyalg RSA -import -trustcacerts -alias "<alias name>" -storepass changeit -file /opt/bea81/cacert.txt

  6. 次のコマンドを使用し、サーバー証明書をロードします。

    jdk141_03/jre/bin/keytool -import -keystore <keystorename> -keyalg RSA -import -trustcacerts -file approvedcert.txt -alias "mykey"

  7. ユーザー名とパスワードを使用し、WebLogic コンソールにログインします。

  8. 次の場所を参照します。

    yourdomain> Servers> myserver> Configure Keystores

  9. 「Custom Identity」、次に「Java Standard Trust」を選択します。

  10. キーストアの場所を入力します。たとえば /opt/bea81/keystore のように入力します。

  11. キーストアパスワードとキーストアパスフレーズを入力します。次に例を示します。

    キーストアパスワード: JKS/Java Standard Trust (WL 8.1 の場合は JKS のみ)

    キーストアパスフレーズ: changeit

  12. SSL 非公開鍵の別名とパスワードを確認してください。


    注 –

    完全な SSL ライセンスを使用しないと、SSL が起動しません。


  13. Access Manager では、AmConfig.properties の次のパラメータが、インストール中に自動的に設定されます。設定されていない場合は、適切に編集できます。


    com.sun.identity.jss.donotInstallAtHighestPriority=true [ AM 6.3 以上では不要]
    com.iplanet.security.SecureRandomFactoryImpl=com.iplanet.am.util.SecureRandomFactoryImpl
    com.iplanet.security.SSLSocketFactoryImpl=netscape.ldap.factory.JSSESocketFactory
    com.iplanet.security.encryptor=com.iplanet.services.util.JCEEncryption

    JDK パスが次のようになっている場合は、keytool ユーティリティーを使用し、証明書データベースにルート CA をインポートします。


    com.iplanet.am.jdk.path=/usr/jdk/entsys-j2se

    次に例を示します。


    /usr/jdk/entsys-j2se/jre/lib/security
    /usr/jdk/entsys-j2se/jre/bin/keytool -keystore cacerts  
    -keyalg RSA -import -trustcacerts -alias "machinename" -storepass changeit -file
    /opt/bea81/cacert.txt

    keytool ユーティリティーは次のディレクトリにあります。


    /usr/jdk/entsys-j2se/jre/bin/keytool
  14. Access Manager amadmin コマンド行ユーティリティーから -D"java.protocol.handler.pkgs=com.iplanet.services.comm" を削除します。

  15. Access Manager を SSL モードに設定します。詳細は、「Access Manager の SSL モードへの設定」を参照してください。

セキュリティー保護された IBM WebSphere Application Server による AMSDK の設定

IBM WebShpere Server は、最初にインストールして Web コンテナとして設定してから、SSL で AMSDK を使用して設定する必要があります。インストール手順については、WebSphere Server のマニュアルを参照してください。Access Manager の Web コンテナとして WebLogic を設定するには、第 1 章「Access Manager 7 2005Q4 の設定スクリプト」を参照してください。

Procedureセキュリティー保護された WebSphere インスタンスを設定する

手順
  1. Websphere の /bin ディレクトリの ikeyman.sh を起動します。

  2. 「署名者」メニューから認証局 (CA) からの証明書をインポートします。

  3. 「Personal Certs」メニューから CSR を生成します。

  4. 前の手順で作成された証明書を取得します。

  5. 「Personal Certificates」を選択し、サーバー証明書をインポートします。

  6. WebSphere コンソールからデフォルト SSL 設定を変更し、暗号を選択します。

  7. デフォルトの IBM JSSE SSL プロバイダを設定します。

  8. 次のコマンドを入力し、作成したファイルからアプリケーションサーバー JVM キーストアに、ルート CA 証明書をインポートします。


    $ appserver_root-dir/java/bin/ keytool -import -trustcacerts -alias cmscacert 
    -keystore ../jre/lib/security/cacerts -file 
    /full_path_cacert_filename.txt

    app-server-root-dir はアプリケーションサーバーのルートディレクトリであり、full_path_cacert_filename.txt は、証明書を含むファイルのフルパスです。

  9. Access Manager において、AmConfig.properties の次のパラメータを、JSSE を使用するように更新します。


    com.sun.identity.jss.donotInstallAtHighestPriority=true
    com.iplanet.security.SecureRandomFactoryImpl=com.iplanet.
    am.util.SecureRandomFactoryImpl
    com.iplanet.security.SSLSocketFactorImpl=netscape.ldap.factory.
    JSSESocketFactory
    com.iplanet.security.encyptor=com.iplanet.services.unil.JCEEncryption
  10. Access Manager を SSL モードに設定します。詳細は、「Access Manager の SSL モードへの設定」を参照してください。

Access Manager を SSL モードの Directory Server に設定する

ネットワーク上でセキュリティー保護された通信を確保するため、Access Manager には LDAPS 通信プロトコルが含まれています。LDAPS は LDAP の標準プロトコルで、SSL (Secure Socket Layer) 上で実行されます。SSL 接続を有効にするためには、まず Directory Server を SSL モードにして、次に Access Manager を Directory Server に接続します。基本的な手順は次のとおりです。

  1. Directory Server 用の証明書を入手してインストールし、Directory Server が認証局 (CA) からの証明書を信頼するように設定します。

  2. ディレクトリで SSL をオンにします。

  3. SSL が有効化された Directory Service に接続するよう、認証、ポリシーおよびプラットフォームサービスを設定します。

  4. セキュリティー保護された状態で Directory Server に接続できるよう Access Manager を設定します。

Directory Server を SSL モードに設定する

Directory Server を SSL モードに設定するには、サーバー証明書を入手してインストールし、CA からの証明書を信頼するように Directory Server を設定し、SSL を有効にする必要があります。これらの作業をどのように行うかについての詳細は、『Directory Server 管理ガイド』の中の第 11 章「認証と暗号化の管理」を参照してください。このマニュアルは、次の場所にあります。

http://docs.sun.com/app/docs/coll/DirectoryServer_04q2_ja

Directory Server の SSL がすでに有効になっている場合は次の節に進んでください。そこで Access Manager を Directory Server に接続する方法の詳細について説明します。

SSL が有効化された Directory Server に Access Manager を接続する

Directory Server が SSL モードに設定されたら、Access Manager をセキュリティー保護された状態で Directory Server に接続する必要があります。

ProcedureDirectory Server に Access Manager を接続する

手順
  1. Access Manager コンソールで、「サービス設定」モジュールの LDAP 認証サービスに移動します。

    1. Directory Server ポートを SSL ポートに変更します。

    2. 「LDAP サーバーへの SSL アクセスを有効」属性を選択します。

  2. 「サービス設定」モジュールのメンバーシップ認証サービスに移動します。

    1. Directory Server ポートを SSL ポートに変更します。

    2. 「LDAP サーバーへの SSL アクセスを有効」属性を選択します。

  3. 「サービス設定」の「ポリシー設定」サービスに移動します。

    1. Directory Server ポートを SSL ポートに変更します。

    2. 「LDAP SSL を有効」属性を選択します。

  4. テキストエディタで serverconfig.xml を開きます。このファイルは、次の場所にあります。

    /etc/opt/SUNWam/config

    1. <Server> 要素で、次の値を変更します。

      port - Access Manager が待機するセキュリティー保護されたポート番号 (デフォルト値は 636) を指定します。

      type - SIMPLE を SSL に変更します。

    2. serverconfig.xml を保存して閉じます。

  5. AMConfig.properties ファイルを開きます。デフォルトでは次の場所にあります。

    /etc/opt/ SUNWam/config

    次のプロパティーを変更します。

    1. com.iplanet.am.directory.port = 636 (デフォルトを使う場合)

    2. com.iplanet.am.directory.sslenabled=true

    3. AMConfig.properties を保存します。

  6. サーバーを再起動します。