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

Sun ONE Web Server 6.1 管理者ガイド

第 6 章
証明書と鍵の使用

この章では、証明書と鍵の認証を使用した、Sun ONE Web Server 6.1 のセキュリティ保護について説明します。データを保護し、侵入者からのアクセスを拒否して、適切なユーザーからのアクセスを許可するための、各種セキュリティ機能を有効化する方法について説明します。Sun ONE Web Server 6.1 には、Sun ONE サーバーのすべてのセキュリティアーキテクチャが統合されています。Sun ONE Web Server 6.1 のセキュリティアーキテクチャは、相互運用性と整合性を最大限確保するため、業界標準および標準プロトコルに基づいて構築されています。

この章を読む前に、公開鍵の暗号法に関する基本概念をよく知っておくことをお勧めします。知っておくべき概念には、暗号化と復号化、公開鍵と非公開鍵、電子証明書および暗号化プロトコルなどがあります。詳細は、「Introduction to SSL」を参照してください。

Web サーバーをセキュリティ保護する手順の詳細は、次の各節で説明します。


証明書ベースの認証

認証とは、同一性 (ID) を確認するためのプロセスのことです。ネットワークを利用した対話の中で、一方のグループは、認証によって他方のグループとの同一性を識別します。証明書は、認証をサポートする方法の 1 つです。

証明書を使用した認証

証明書は、個人、企業、またはその他のエンティティの名前を指定するデジタルデータで構成され、その公開鍵が、証明書に含まれていれば、そのエンティティに属しているという証明となります。クライアントとサーバーの両方に証明書を持たせることができます。

証明書は、認証局 (CA) によって発行され、デジタル署名がなされます。CA は、インターネットを通じて証明書を販売する企業の場合も、企業のイントラネットやエクストラネットの証明書の発行を担当する、企業内の部門の場合もあります。ユーザーの同一性 (ID) の検証手段として、どの CA を信頼するかはユーザーが決定します。

証明書には、公開鍵および証明書によって識別されるエンティティの名前のほかに、有効期限、証明書を発行した CA の名称および証明書を発行する CA の「デジタル署名」も含まれます。証明書の内容および書式については、「Introduction to SSL」を参照してください。


暗号化機能を有効にするには、事前にサーバー証明書をインストールしておく必要があります。


サーバー認証

サーバー認証とは、クライアントによる、サーバーの確実な ID、すなわち特定のネットワークアドレスにあるサーバーに対して責任を持つとされている組織の ID です。

クライアント認証

クライアント認証とは、サーバーによる、クライアントの確実な ID、すなわちクライアントソフトウェアを使用していると見なされる人の ID です。クライアントは、複数の証明書を所有できます。これは、1 人の人が数種類の ID を所有しているのと同じことです。

仮想サーバー証明書

仮想サーバーごとに異なる証明書データベースを持つことができます。各仮想サーバーのデータベースには、複数の証明書を含めることができます。仮想サーバーも同様に各インスタンス内に複数の異なる証明書を所有できます。


信頼データベースの作成

サーバー証明書を要求する前に、信頼データベースを作成しておく必要があります。Sun ONE Web Server では、管理サーバーと各サーバーのインスタンスが、それぞれ専用の信頼データベースを所有できます。信頼データベースは、ローカルマシン上にだけ作成できます。

信頼データベースを作成するときには、鍵ペアファイルに使用されるパスワードを指定します。このパスワードは、暗号化された通信を使用してサーバーを起動させるときにも必要です。パスワードを変更するときに考慮するガイドラインのリストは、「パスワードまたは PIN の変更」を参照してください。

信頼データベースでは、鍵ペアファイルと呼ばれる公開鍵と非公開鍵を作成し、保存します。鍵ペアファイルは、SSL 暗号化に使用されます。サーバー証明書を要求し、インストールするときには、鍵ペアファイルを使用します。証明書は、インストールしたあとに信頼データベースに格納されます。鍵ペアファイルは、次のディレクトリ内に暗号化されて保存されます。

管理サーバーは、信頼データベースを 1 つだけ所有できます。また、サーバーに含まれる各インスタンスは、それぞれ専用の信頼データベースを所有できます。仮想サーバーは、そのサーバーインスタンス用に作成された信頼データベースによってカバーされます。

信頼データベースの作成

信頼データベースを作成するには、次の手順を実行します。

  1. 管理サーバーまたはサーバーマネージャにアクセスし、「Security」タブを選択します。
  2. サーバーマネージャを使用する場合には、はじめにドロップダウンリストからサーバーインスタンスを選択する必要があります。

  3. 「Create Database」リンクをクリックします。
  4. データベースのパスワードを入力します。
  5. 操作を繰り返します。
  6. 「OK」をクリックします。
  7. サーバーマネージャを使用する場合には、「Apply」をクリックし、変更内容を有効にするため「Restart」をクリックします。

password.conf の使用

デフォルトでは、管理者は、Web サーバーを起動するときに、キーデータベースのパスワードを入力する必要があります。Web サーバーを人の介入なしで再起動できるようにするには、password.conf ファイルにパスワードを保存する必要があります。このファイルと鍵のデータベースが危険にさらされないようにするために、これを行うのはシステムが充分にセキュリティ保護されている場合だけにします。

通常、サーバーは起動する前にパスワードを要求するため、/etc/rc.local ファイルまたは /etc/inittab ファイルで、UNIX の SSL 有効サーバーを起動することはできません。ファイル内にプレーンテキストでパスワードを保存しておくと SSL 有効サーバーを自動的に起動することができますが、これは推奨される方法ではありません。サーバーの password.conf ファイルは、root またはサーバーをインストールしたユーザーだけが所有し、その所有者のみがこのファイルの読み書きアクセス権を持つべきです。

UNIX で、password.conf ファイル内に SSL が有効なサーバーのパスワードを保存しておくことは、セキュリティ上のリスクが大きくなります。ファイルにアクセスできるユーザーなら誰でも、SSL が有効なサーバーのパスワードにアクセスできます。したがって、SSL が有効なサーバーのパスワードをpassword.confファイルに保存する前に、セキュリティ上のリスクについて検討しておく必要があります。

Windows では、NTFS ファイルシステムを使用する場合は、password.conf ファイルを使用しなくても、アクセス制限によってこのファイルの保存されているディレクトリのセキュリティを保護してください。ただしこのディレクトリには、管理サーバーのユーザーと Web サーバーのユーザーに対して読み取り/書き込み許可を持たせる必要があります。ディレクトリのセキュリティを保護しておくと、他者が偽の password.conf ファイルを作成することを防げます。FAT ファイルシステム上では、ディレクトリやファイルへのアクセスを制限しても、ディレクトリやファイルのセキュリティを保護することはできません。

SSL 有効サーバーの自動起動

セキュリティ上のリスクが問題とならない場合は、以下の手順を実行して SSL が有効なサーバーを自動的に起動します。

  1. SSL が有効になっていることを確認します。
  2. サーバーインスタンスの config サブディレクトリ内に、新規のpassword.conf ファイルを作成します。
    • サーバーに付属している内部 PKCS#11 ソフトウェア暗号化モジュールを使用している場合には、次の情報を入力します。
    • internal:your_password

    • それ以外の PKCS#11 モジュール (ハードウェアの暗号化またはハードウェアアクセラータ用に) を使用している場合は、PKCS#11 モジュールの名前を指定し、その後ろにパスワードを入力します。その例を次に示します。
    • nFast:your_password

  3. 新しい設定が有効になるように、サーバーを停止させてからもう一度起動させます。

password.conf ファイルを作成した後でも、Web サーバーを起動させるときには、毎回パスワードを入力するよう求めるプロンプトが表示されます。


VeriSign 証明書の要求およびインストール

VeriSignは、Sun ONE Web Server の推奨する認証局です。VeriSign の VICE プロトコルは、証明書要求プロセスをシンプルにします。VeriSign は、直接サーバーに対して証明書を返せるという利点があります。

サーバーに証明書信頼データベースを作成後、証明書を要求し、認証局 (CA) にこれを提出できます。会社に独自の内部 CA がある場合には、そこから発行される証明書を要求します。商用 CA からの証明書購入を予定している場合には、CA を選定し、CA が必要とする情報の特定の書式を入手してください。Web サイトのリンク先を含む、利用可能な認証局のリストは、「Request a Certificate」ページにあります。CA が必要とする情報については、「Request a Certificate」ページの下の「Server Administrator」ページおよび「Server Manager Security」ページの「List of Certificate Authorities」(認証局リスト) に記載されています。

管理サーバーは、サーバー証明書を 1 つしか所有できません。各サーバーのインスタンスは、専用のサーバー証明書を所有できます。各仮想サーバーについては、サーバーインスタンスの証明書を選択することができます。

VeriSign 証明書の要求

VeriSign 証明書を要求するには、次の手順を行います。

  1. 管理サーバーまたはサーバーマネージャにアクセスし、「Security」タブを選択します。
  2. サーバーマネージャを使用する場合には、はじめにドロップダウンリストからサーバーインスタンスを選択する必要があります。

  3. 「Request VeriSign Certificate」リンクをクリックします。
  4. 必要な手順を確認します。
  5. 「OK」をクリックします。
  6. VeriSign の手順に従います。

VeriSign 証明書のインストール

VeriSign 証明書を要求し、承認が得られたら、1 〜 3 日ほどで「Install Verisign Certificate」ページのドロップダウンリストに証明書が表示されます。VeriSign 証明書をインストールするには、次の手順を行います。

  1. 管理サーバーまたはサーバーマネージャにアクセスし、「Security」タブを選択します。
  2. サーバーマネージャを使用する場合には、はじめにドロップダウンリストからサーバーインスタンスを選択する必要があります。

  3. 「Install VeriSign Certificate」リンクをクリックします。
  4. 外部の暗号化モジュールを使用する場合以外は、暗号化モジュールのドロップダウンリストから「internal (software) 」を選択します。
  5. 鍵ペアファイルのパスワードまたは PIN を入力します。
  6. ドロップダウンリストから「Transaction ID to Retrieve」を選択します。
  7. 通常は、一番下の選択肢に該当します。

  8. 「OK」をクリックします。
  9. サーバーマネージャを使用する場合には、「Apply」をクリックし、変更内容を有効にするため「Restart」をクリックします。


他のサーバー証明書の要求およびインストール

VeriSign のほかに、他の認証局からの証明書を要求し、インストールすることができます。CA のリストは、「Request a Certificate」ページの下の「Server Administrator」ページと「Server Manager Security」ページで入手できます。会社または組織が独自の内部証明書を提供している場合もあります。この節では、このような他の種類のサーバー証明書を要求しインストールする方法について説明します。

必要な CA 情報

要求処理を始める前に、CAが必要とする情報を確認しておく必要があります。商用の CA が発行するサーバー証明書を要求する場合でも、内部 CA に要求する場合でも、次の情報を提供する必要があります。

これらの情報の全体は、識別名 (DN) と呼ばれ、属性と属性値のペアの系列のように結合されており、証明書のサブジェクトを一意に識別することができます。

商用の CA から証明書を購入する場合は、証明書が発行される前に、上記のほかにどんな情報が必要とされているのか知るために、事前に CA に確認しておく必要があります。ほとんどの CA では、身分証明書を要求してきます。たとえば、会社名や、会社によってサーバー管理者権限を与えられている人の名前を確認します。そして、場合によっては、提供した情報を使用する法的権利をユーザーが持っているかどうかを尋ねられることもあります。

一部の商用 CA では、さらに徹底した識別情報を提供した組織や個人に対して、さらに詳細で正確性の高い証明書を発行します。たとえば、個人が www.sun.com というサイトが動作しているコンピュータの正当な管理者であるということを確認したことに加えて、企業が過去 3 年間に渡って運営されており、現在顧客と係争中の訴訟が無いことを CA が確認したことを記述した証明書を購入することもできます。

他のサーバー証明書の要求

証明書を要求するには、次の手順を行います。

  1. 管理サーバーまたはサーバーマネージャにアクセスし、「Security」タブを選択します。
  2. サーバーマネージャを使用する場合には、はじめにドロップダウンリストからサーバーインスタンスを選択する必要があります。

  3. 「Request a Certificate」リンクをクリックします。
  4. 新しい証明書か証明書の更新かを選択します。
  5. 多くの証明書は、6 か月や 1 年などの一定期間が経過すると、有効期限が終了になります。自動的に更新した証明書を送信してくる CA もあります。

  6. 証明書の要求を送信する方法を指定するには、次の手順に従います。
    • CA が電子メールのメッセージで要求を受け付けている場合は、「CA Email」にチェックマークを付け、CA の電子メールアドレスを入力します。CA のリストが必要な場合には、「List of available Certificate Authorities」をクリックします。
    • Netscape Certificate Server を使用している内部 CA が発行する証明書を要求する場合は、「CA URL」をクリックし、Certificate Server の URL を入力します。この URL には、証明書の要求を扱う証明書サーバーのプログラムを指定する必要があります。URL の例は、次のとおりです。https://CA.mozilla.com:444/cms
  7. ドロップダウンリストから、証明書を要求するときに使用する鍵ペアファイルの暗号化モジュールを選択します。
  8. 鍵ペアファイルのパスワードを入力します。
  9. このパスワードは、内部モジュール以外の暗号化モジュールを選択していないかぎり、信頼データベースを作成したときに指定したパスワードと同一です。サーバーは、このパスワードを使用して、ユーザーの非公開鍵を取得したり、CA に対するメッセージを暗号化します。そして、ユーザーの公開鍵と暗号化されたメッセージの両方を CA に送信します。CA は、公開鍵を使用してメッセージを復号化します。

  10. ユーザーの ID 情報を入力します。
  11. この情報の書式は、CA によって異なります。これらのフィールドの一般的な説明は、「Request a Certificate」ページの下の「Server Administrator」ページおよび「Server Manager Security」ページの「List of Certificate Authorities」(認証局) に記載されています。これらの情報のほとんどは、証明書の更新の場合には通常必要ありません。

  12. 正確に行うため、入力内容を見直します。
  13. 情報が正確であれば、証明書の承認も早まります。要求を証明書サーバーに送るとき、送信する前に、フォーム情報を確認するよう求めるプロンプトが表示されます。

  14. 「OK」をクリックします。
  15. サーバーマネージャを使用する場合には、「Apply」をクリックし、変更内容を有効にするため「Restart」をクリックします。

サーバーは、入力した情報を含む証明書要求を作成します。要求には、ユーザーの非公開鍵を使用して作成されたデジタル署名が含まれます。CA は、デジタル署名を使用して、サーバーマシンから CA に送付されている間、その要求が不正に変更されていないことを確認します。まれに要求が不正に変更されたような場合には、通常 CA から電話などでの連絡があります。

要求を電子メールで送信する場合には、サーバーがその要求を含んだ電子メールメッセージを作成して、CA に送信します。通常、電子メールにより証明書が返されます。証明書サーバーに URL を指定した場合は、サーバーがその URL を使用して Certificate Server にその要求を送信します。電子メールで返信を受けるか、その他の手段になるかは、CA によって異なります。

CA は、証明書を発行することに同意するかどうかを通知します。ほとんどの場合、CA は、電子メールで証明書を送信します。所属している組織が証明書サーバーを使用している場合には、証明書サーバーのフォームを使用して証明書を検索できます。


商用 CA に証明書を要求しても、必ず証明書が発行されるとはかぎりません。多くの CA で、証明書の発行前に、ユーザーが自らの ID を示すことが要求されます。証明書発行の承認には 1 日から 2 か月かかることがあります。つまり、必要な情報をすべて迅速に CA に提供することが重要です。


証明書を受け取ったら、それをインストールできます。それまでの間は、SSL を使用せずにサーバーを運用することになります。

他のサーバー証明書のインストール

CA から証明書を受け取るときには、ユーザーだけがこれを復号化できるように、公開鍵で暗号化されています。信頼データベースの正しいパスワードを入力しないと、証明書を復号化しインストールすることはできません。

証明書には、次の 3 種類があります。

証明書チェーンは、連続した認証局によって署名された、一連の階層的証明書です。CA 証明書は、認証局 (CA) の ID を示すもので、その機関によって発行される証明書に署名するのに使用されます。CA 証明書は、次に親 CA の CA 証明書によって署名されるというように、順にルート CA まで署名されることができます。


CA が CA の証明書を自動的にユーザーに送信しない場合には、ユーザーから証明書を要求する必要があります。多くの CA は、ユーザーの証明書を電子メールで送信する際に CA 証明書も同時に送信してくるため、ユーザーのサーバーは、両方の証明書を同時にインストールします。


CA から証明書を受け取るときには、ユーザーだけがこれを復号化できるように、公開鍵で暗号化されています。サーバーは、証明書をインストールする際、その証明書を復号するのに指定した鍵ペアファイルのパスワードを使用します。サーバーがアクセス可能な場所にその電子メールを保存するか、または次に説明する「Install Certificate」フォームにペーストするためにその電子メールのテキストをコピーしておきます。

証明書のインストール

証明書をインストールするには、次の手順を行います。

  1. 管理サーバーまたはサーバーマネージャにアクセスし、「Security」タブを選択します。
  2. サーバーマネージャを使用する場合には、はじめにドロップダウンリストからサーバーインスタンスを選択する必要があります。

  3. 「Install Certificate」リンクをクリックします。
  4. インストールする証明書の種類を確認します。
    • 「This Server」は、使用しているサーバーだけに関係する 1 つの証明書に使用します。
    • 「Server Certificate Chain」は、証明書チェーンに組み込む CA の証明書に使用します。
    • 「Trusted Certificate Authority (CA)」は、クライアントの認証のための信頼できる CA として受け入れたい CA の証明書に使用します。
  5. ドロップダウンリストから「Cryptographic Module」を選択します。
  6. 鍵ペアファイルのパスワードを入力します。
  7. 次の場合を除いて、証明書がこのサーバーインスタンスにだけに使用される場合は、証明書フィールドの名前を空白のままにします。
    • 複数の証明書を仮想サーバーに使用する場合。
    • サーバーインスタンス内で一意の証明書名を入力します。

    • 内部モジュール以外の暗号化モジュールを使用する場合。
    • 1 つの暗号化モジュール内のすべてのサーバーインスタンスで一意の証明書名を入力します。

      名前は入力されると、「Manage Certificates」リストに表示されるため、内容を識別しやすい名前にしてください。たとえば、「United States Postal Service CA」は CA の名前で、「VeriSign Class 2 Primary CA」は CA と証明書の種類の両方を表しています。証明書名を入力しない場合は、デフォルトの値が使用されます。

  8. 次のいずれかを選択します。
    • 電子メールが保存されているファイルへの、絶対パスを入力する
    • 「Message text (with headers)」というフィールドに、電子メールのメッセージテキストをペーストする
    • テキストをコピーしてペーストする場合には、必ず、「Begin Certificate」と「End Certificate」の 2つのヘッダーを入れます。メッセージの最初と最後にあるハイフンも含める必要があります。

  9. 「OK」をクリックします。
  10. 次のいずれかを選択します。
    • 新しい証明書をインストールする場合は、「Add Certificate」
    • 更新された証明書をインストールする場合は、「Replace Certificate」
  11. サーバーマネージャを使用する場合には、「Apply」をクリックし、変更内容を有効にするため「Restart」をクリックします。

証明書は、サーバーの証明書データベース内に格納されます。ファイル名は、<alias>-cert8.dbとなります。その例を次に示します。


アップグレード時の証明書の移行

iPlanet Web Server 4.1 または 6.0 から移行する場合には、ユーザーのファイル (信頼データベースと証明書データベースを含む) は自動的に更新されます。

しかし、Enterprise Server 3.x からアップグレードする場合には、ユーザーの信頼データベースと証明書データベースを移行する必要があります。Sun ONE Web Server 6.1 管理サーバーのユーザーが古い 3.x データベースのファイルに対して読み書き許可を持っていることを確認してください。ファイル名は <alias>-cert.db および <alias>-key.db で、<3.x_server_root>/alias ディレクトリ内にあります。

サーバーでセキュリティが有効になっている場合だけ、鍵ペアファイルと証明書が移行されます。「Administration Server」ページと「Server Manager」ページの「Security」タブを使用して、鍵と証明書を移行させることもできます。

旧バージョンでは、証明書と鍵ペアファイルは、複数のサーバーインスタンスによって使用できるエイリアスによって参照されていました。管理サーバーは、すべてのエイリアスとそれらの構成要素である証明書を管理していました。Sun ONE Web Server 6.1 では、管理サーバーと各サーバーインスタンスに独自の証明書と鍵ペアファイルがあり、エイリアスではなく信頼データベースとして参照されます。

サーバー証明書とすべての含まれている認証局を含む、信頼データベースとその構成要素である証明書を管理するには、それら自体の管理については管理サーバーを、サーバーインスタンスについてはサーバーマネージャを使用します。証明書および鍵ぺアデータベースファイルは、それらを使用するサーバーインスタンス名をとって、名付けられます。以前のバージョンで複数のサーバーインスタンスが同じエイリアスを共用していた場合は、移行されると、証明書と鍵ペアファイルは新しいサーバーインスタンスの名前をとって名前変更されます。

サーバーインスタンスに関連のある信頼データベース全体が移行されます。以前のデータベースにリストされている認証局はすべて、Sun ONE Web Server 6.1 データベースに移行されます。CA が重複している場合には、有効期限が切れるまで以前の CA を使用します。重複している CA は削除しないでください。

組み込みルート証明書モジュールの使用

ダイナミックに読み込み可能なルート証明書モジュールが、Sun ONE Web Server 6.1 に付属しており、VeriSign を含む多数の CA のルート証明書が格納されています。ルート証明書モジュールを使用すると、旧バージョンと比べて、より簡単な方法でルート証明書を新しいバージョンにアップグレードできます。旧バージョンでは、古いルート証明書を 1 つずつ削除し、その後新しいルート証明書を 1 つずつインストールする必要がありました。よく知られているCA 証明書をインストールすると、ルート証明書モジュールファイルを、将来 Sun ONE Web Server や Service Pack の新しいバージョンへ更新するだけですみます。

ルート証明書はPKCS#11暗号化モジュールとして実装されているため、モジュールに含まれているルート証明書を削除することはできません。削除のオプションは、ルート証明書を管理するときには提供されません。サーバーインスタンスからルート証明書を削除する場合は、サーバーの alias ファイル内で次の情報を削除すれば、ルート証明書モジュールを無効にできます。

ルート証明書モジュールをあとで復元する場合は、bin/https/lib (UNIX および HP) または bin¥https¥bin (Windows) から、該当する拡張子を持つファイルを alias サブディレクトリにコピーして、後から元の場所に戻すことができます。

ルート証明書の信頼情報は変更できます。信頼情報は、編集されるサーバーインスタンスの証明書データベースに書き込まれ、ルート証明書モジュールそのものには戻されません。


証明書の管理

ユーザーのサーバーにインストールされたさまざまな証明書の信頼の設定値を表示、削除または編集できます。これには、ユーザー自身の証明書や CA から取得した証明書も含まれます。

証明書リストを管理するには、次の手順を行います。

  1. 管理サーバーまたはサーバーマネージャにアクセスし、「Security」タブを選択します。
  2. サーバーマネージャを使用する場合には、はじめにドロップダウンリストからサーバーインスタンスを選択する必要があります。

  3. 「Manage Certificates」リンクをクリックします。
    • 内部暗号化モジュールを使用して、デフォルト設定の証明書を管理する場合には、インストールされているすべての証明書のリストがその種別および有効期限とともに表示されます。証明書はすべて、ディレクトリ server_root/alias に格納されています。
    • ハードウェアアクセラレータなどの外部の暗号化モジュールを使用している場合には、各モジュールのパスワードを最初に入力し、「OK」をクリックします。モジュール内に証明書が組み込まれ、証明書リストが更新されます。
  4. 管理する「Certificate Name」をクリックします。
  5. その種類の証明書に関する管理オプションのある「Edit Server Certificate」ページが表示されます。クライアントの信頼情報を設定したり設定解除できるのは、CA 証明書だけです。外部の暗号化モジュールのなかには、証明書を削除できないものもあります。

    「Edit Server Certificate」ページ
    「Edit Server Certificate」ウィンドウを示す図

  6. 「Edit Server Certificate」ウィンドウには、次の選択肢があります。
    • 内部的に取得した証明書については、「Delete Certificate」または「Quit」
    • CA から発行された証明書については、「Set client trust」、「Unset server trust」、または「Quit」
  7. 「OK」をクリックします。
  8. サーバーマネージャを使用する場合には、「Apply」をクリックし、変更内容を有効にするため「Restart」をクリックします。

証明書情報には、所有者と発行者が含まれます。

信頼の設定では、クライアントの信頼情報を設定したり、サーバーの信頼情報の設定を解除したりできます。LDAP サーバー証明書の場合は、サーバーが信頼されている必要があります。


CRL と CKL のインストールと管理

証明書の失効リスト (CRL) および危殆化鍵リスト (CKL) は、クライアントまたはサーバーのユーザーが信頼すべきでない証明書および鍵を知らせます。証明書のデータが変わった場合、たとえば、証明書の有効期限が切れる前にユーザーが事務所を変更したり、その組織を離れるような場合には、その証明書は無効になり、そのデータが CRL に表示されます。鍵が不正に変更されたり、その他不正に使用された場合には、その鍵とそのデータが CKL に表示されます。CRL と CKL は、両方とも CA によって作成され、定期的に更新されます。

CRL または CKLのインストール

CA から CRL または CKLを取得するには、次の手順を行います。

  1. CRL または CKL をダウンロードするための、CA の URL を確認します。
  2. ブラウザに URL を入力して、CA のサイトにアクセスします。
  3. CA の指示に従って CRL または CKL をローカルディレクトリにダウンロードします。
  4. 管理サーバーまたはサーバーマネージャにアクセスし、「Security」タブを選択します。
  5. サーバーマネージャを使用する場合には、はじめにドロップダウンリストからサーバーインスタンスを選択する必要があります。

  6. 「Install CRL/CKL」リンクをクリックします。
  7. 次のいずれかを選択します。
    • 「Certificate Revocation List」
    • 「Compromised Key List」
  8. インストールするファイルへの絶対パス名を入力します。
  9. 「OK」をクリックします。
    • 「Certificate Revocation List」を選択した場合には、CRL 情報をリストした「Add Certificate Revocation List」ページが表示されます。
    • 「Certificate Revocation Key List」を選択した場合には、CKL 情報をリストした「Add Compromised Key List」ページが表示されます。

      データベースに CRL または CKL リストがすでにある場合には、「Replace Certificate Revocation List」ページまたは「Replace Compromised Key List」ページが表示されます。


  10. 「Add」をクリックします。
  11. 「OK」をクリックします。
  12. サーバーマネージャを使用する場合には、「Apply」をクリックし、変更内容を有効にするため「Restart」をクリックします。

CRL と CKL の管理

CRL と CKL を管理するには、次の手順を行います。

  1. 管理サーバーまたはサーバーマネージャにアクセスし、「Security」タブを選択します。
  2. サーバーマネージャを使用する場合には、はじめにドロップダウンリストからサーバーインスタンスを選択する必要があります。

  3. 「Manage CRL/CKL」リンクをクリックします。
  4. 「Manage Certificate Revocation Lists /Compromised Key Lists」ページが表示されます。すべてのインストールされている Server CRL と Server CKL が、有効期限とともに一覧されます。

  5. 「Server CRL」または「Server CKL」リストのどちらかから「Certificate Name」を選択します。
  6. 次のいずれかを選択します。
    • 「Delete CRL」
    • 「Delete CKL」
  7. サーバーマネージャを使用する場合には、「Apply」をクリックし、変更内容を有効にするため「Restart」をクリックします。


セキュリティに関する詳細設定

証明書を取得すると、サーバーのセキュリティ保護を開始できます。Sun ONE Web Server は複数のセキュリティ要素を提供しています。

暗号化とは、情報を対象とした受信者以外の人が読めないような内容にするための、変換プロセスのことです。復号化とは、暗号化された情報を判読可能な状態に戻すための、変換プロセスのことです。Sun ONE Web Server は、SSL と TLS 暗号化プロトコルをサポートしています。

暗号化方式とは、暗号化または復号化に使用する暗号アルゴリズム (数学関数) です。SSL と TLS プロトコルには、多数の暗号化方式のセットが含まれています。暗号化方式には、他に比べて強力でよりセキュリティ性の高いものもあります。一般的に、暗号化方式で使用するビット数が多いほど、データの復号化は難しくなります。

双方向の暗号化プロセスでは、必ず、送信側と受信側の両方が同じ暗号化方式を使用する必要があります。多数の暗号化方式があるため、最も一般的に使用されている方式に対してサーバーを有効にしておく必要があります。

セキュリティ保護された接続時には、クライアントとサーバーは、通信に、その双方が持てる最も強力な暗号化方式を使用します。SSL2、SSL3 および TLS プロトコルから暗号化方式を選択できます。


SSL バージョン 2.0より後のバージョンでは、安全性と性能が向上しています。このため、システムに SSL3 を使用できないクライアントが存在する場合を除き、SSL2 を使用すべきではありません。クライアント証明書は、SSL2 暗号化方式での動作が保証されていません。


暗号化プロセスだけでは、サーバーの機密情報のセキュリティ保護には十分ではありません。実際に暗号化結果を生成したり、すでに暗号化された情報を復号化するためには、暗号化方式と一緒に鍵を使用する必要があります。暗号化プロセスでは、この結果を出すために 2 つの鍵を使用します。1 つは公開鍵でもう 1 つが非公開鍵です。公開鍵を使用して暗号化された情報は、対応する非公開鍵を使用した場合にのみ復号化できます。公開鍵は、証明書の一部として発行され、対応する非公開鍵だけがセキュリティ保護されます。

各種暗号化方式のセットについての説明と、鍵および証明書については、「Introduction to SSL」を参照してください。

サーバーが使用できる暗号化方式を指定するには、リスト内で暗号化方式にチェックマークを付けます。特定の暗号化方式を使用してはならない理由がある場合を除き、すべてにチェックマークを付けるようにします。ただし、最適ではないと思われる暗号化方式を有効にする必要はありません。


警告

「No Encryption, only MD5 message authentication」は選択しないでください。クライアントサイドでその他の暗号化方式を利用できない場合には、サーバーがデフォルトによりこの設定を使用し、暗号化は行われません。


SSL と TLS プロトコル

Sun ONE Web Server 6.1 は、暗号化通信に SSL (Secure Sockets Layer) プロトコルと TLS (Transport Layer Security) プロトコルをサポートしています。SSL と TLS は、アプリケーションには依存せず、より高レベルのプロトコルをこの上に透過的に階層化することができます。

SSL と TLS の両プロトコルは、サーバーとクライアントを相互に認証するのに使用されるさまざまな暗号化方式をサポートし、証明書を送信してセッション鍵を確定します。クライアントとサーバーは、サポートしているプロトコルや、暗号化の強度についての会社の方針および暗号化されたソフトウェアの輸出に対する行政上の制約条件などの要因に基づいて、別の暗号化方式セットをサポートすることができます。他の機能の中でも特に、SSL と TLS ハンドシェイクプロトコルは、どの暗号化方式のセットを通信に使用するかをサーバーとクライアントが交渉する方法を決定します。

SSL を使用した LDAP との通信

管理サーバーは SSL を使用して LDAP と通信するようにする必要があります。管理サーバーで SSL を有効にするには、次の手順を行います。

  1. 管理サーバーにアクセスして、「Global Settings」タブをクリックします。
  2. 「Configure Directory Service」リンクをクリックします。
  3. 「Yes」を選択して、接続に SSL (Secure Sockets Layer) を使用します。
  4. 「Save Changes」をクリックします。
  5. 「OK」をクリックして、SSL を介した LDAP の標準ポートにポートを変更します。

待機ソケットのセキュリティの有効化

次の方法で、サーバーの待機ソケットをセキュリティ保護できます。

セキュリティ機能をオンにする

待機ソケット用に他のセキュリティ設定を行うには、セキュリティ機能をオンにしておく必要があります。新しい待機ソケットを作成したり、既存の待機ソケットを編集するときに、セキュリティ機能をオンにできます。

待機ソケットの作成時にセキュリティ機能をオンにする

新しい待機ソケットを作成するときにセキュリティをオンにするには、次の手順を行います。

  1. サーバーマネージャにアクセスし、ドロップダウンリストから待機ソケットが作成されるサーバーインスタンスを選択します。
  2. まだ表示されていない場合には「Preferences」タブを選択します。
  3. 「Edit Listen Sockets」リンクを選択します。
  4. 「Edit Listen Sockets」ページが表示されます。

  5. 「New」ボタンをクリックします。
  6. 「Add Listen Socket」ページが表示されます。

  7. 必要な情報を入力してから、デフォルトの仮想サーバーを選択します。
  8. セキュリティをオンにするには、「Security」ドロップダウンリストから「Enabled」を選択します。
  9. 「OK」をクリックします。
  10. 「Apply」をクリックしてから、変更内容を有効にするため「Restart」をクリックします。

    待機ソケットを作成したあとでセキュリティの設定を行うには、「Edit Listen Sockets」リンクを使用する必要があります。


待機ソケットの編集時にセキュリティ機能をオンにする

管理サーバーまたはサーバーマネージャのどちらかから待機ソケットを編集するときにも、セキュリティ機能をオンにできます。待機ソケットの編集時にセキュリティ機能をオンにするには、次の手順を行います。

  1. 管理サーバーまたはサーバーマネージャにアクセスし、「Security」タブを選択します。
  2. サーバーマネージャを使用する場合には、はじめにドロップダウンリストからサーバーインスタンスを選択する必要があります。

  3. まだ表示されていない場合には「Preferences」タブを選択します。
  4. 「Edit Listen Sockets」リンクを選択します。
  5. 「Edit Listen Sockets」ページが表示されます。

  6. 待機ソケットを編集するには、編集する待機ソケットの「Listen Socket ID」をクリックします。
  7. 「Edit Listen Socket」ページが表示されます。

  8. 待機ソケットのセキュリティをオンにするには、「Security」ドロップダウンリストから「Enabled」を選択します。
  9. 「OK」をクリックします。
  10. サーバーマネージャを使用する場合には、「Apply」をクリックし、変更内容を有効にするため「Restart」をクリックします。

待機ソケットのサーバー証明書の選択

管理サーバーまたはサーバーマネージャのどちらかで、ユーザーが要求しインストールしたサーバー証明書を使用するように待機ソケットを設定できます。


少なくとも 1 つは証明書をインストールしておく必要があります。


待機ソケットが使用するサーバー証明書を選択するには、次の手順を行います。

  1. 管理サーバーまたはサーバーマネージャにアクセスし、「Preferences」タブを選択します。
  2. サーバーマネージャを使用する場合には、はじめにドロップダウンリストからサーバーインスタンスを選択する必要があります。

  3. 「Edit Listen Sockets」リンクを選択します。
  4. 「Edit Listen Sockets」ページが表示されます。

  5. 待機ソケットを編集するには、編集する待機ソケットの「Listen Socket ID」をクリックします。
  6. 「Edit Listen Socket」ページが表示されます。

  7. 待機ソケットのセキュリティをオンにするには、「Security」ドロップダウンリストから「Enabled」を選択します。
  8. .


    外部モジュールがインストールされている場合には、処理を続行する前に、外部モジュールのパスワードを入力するよう求める「Manage Server Certificates」ページが表示されます。


  9. 「Server Certificate Name」ドロップタウンリストから待機ソケットのサーバー証明書を選択します。
  10. このリストには、インストールされているすべての内部および外部の証明書が記載されています。


    サーバー証明書がインストールされていない場合は、それを警告するメッセージが「Server Certificate Name」ドロップダウンリストの場所に表示されます。


  11. 「OK」をクリックします。
  12. サーバーマネージャを使用する場合には、「Apply」をクリックし、変更内容を有効にするため「Restart」をクリックします。

暗号化方式の選択

Web サーバーのセキュリティを保護するためには、SSL を有効にすることをお勧めします。SSL2.0、SSL3.0 および TLS 暗号化プロトコルを有効にして、各種の暗号化方式セットを選択することができます。管理サーバーの待機ソケットで、SSL および TLS を有効にできます。サーバーマネージャの待機ソケットで SSL と TLS を有効にすると、その待機ソケットに関連するすべての仮想サーバーに対して、これらのセキュリティの指定が設定されます。

仮想サーバーをセキュリティ保護されていない状態で使用するには、それらをすべてセキュリティ機能をオフにした同じ待機ソケットに設定する必要があります。

デフォルトの設定では、最も一般的に使用されている暗号化方式が使用できます。特定の暗号化方式セットを使用したくない特別な理由がある場合を除き、それらをすべて選択すべきです。特定の暗号化方式については、「Introduction to SSL」を参照してください。


少なくとも 1 つは証明書をインストールしておく必要があります。


tlsrollback パラメータの推奨される設定 (デフォルト設定) は true です。true に設定すると、人が介在するバージョンロールバック攻撃を検出するようにサーバーが設定されます。TLS 仕様を正しく実装できない一部のクライアントとの相互運用を確保するために、この値を false に設定しなければならない場合があります。

tlsrollbackfalse に設定すると、通信がバージョンロールバック攻撃を受けやすくなるので注意してください。バージョンロールバック攻撃は、第三者がクライアントおよびサーバーで SSLv2 などの古くてセキュリティ保護機能が低いプロトコルを使用して通信を行うようにするメカニズムです。SSLv2 プロトコルには既知の脆弱性があるため、バージョンロールバック攻撃を検出できない場合、第三者による暗号化された通信の傍受と復号化が容易になってしまいます。

SSL と TLS を有効にするには、次の手順を行います。

  1. 管理サーバーまたはサーバーマネージャにアクセスし、「Preferences」タブを選択します。
  2. サーバーマネージャを使用する場合には、はじめにドロップダウンリストからサーバーインスタンスを選択する必要があります。

  3. 「Edit Listen Sockets」リンクをクリックします。
  4. 「Edit Listen Sockets」ページが表示されます。待機ソケットがセキュリティ保護されている場合は、「Edit Listen Sockets」ページに使用可能な暗号化方式セットが表示されます。


    待機ソケットのセキュリティ機能が有効になっていない場合は、SSL と TLS の情報は表示されません。暗号化方式を使用するには、選択している待機ソケットでセキュリティ機能が有効になっている必要があります。詳細は、「待機ソケットのセキュリティの有効化」を参照してください。


  5. 必要な暗号化方式セットに対応するチェックボックスにチェックマークを付けます。

    Netscape Navigator 6.0 では、TLS と SSL3 の両方にチェックマークを付けます。「TLS Rollback」の場合にも、TLS にチェックマークを付け、SSL3 と SSL2 の両方が無効になっていることを必ず確認してください。


  6. 「OK」をクリックします。
  7. サーバーマネージャを使用する場合には、「Apply」をクリックし、変更内容を有効にするため「Restart」をクリックします。

    待機ソケットのセキュリティ機能をオンにしたあとで変更を適用するときには、セキュリティがオンであることを示すよう magnus.conf ファイルが自動的に変更され、その待機ソケットに関連するすべての仮想サーバーに自動的にデフォルトのセキュリティパラメータが割り当てられます。


サーバーで SSL が有効になったら、その URL には http の代わりに https が使用されます。SSL 有効サーバー上のドキュメントを示す URL の書式は次のとおりです。

例 : https://admin.sun.com:443

デフォルトのセキュリティ保護された http ポート番号 (443) を使用する場合には、URL にポート番号を入力する必要はありません。

セキュリティのグローバルな設定

SSL 有効サーバーをインストールすると、グローバルセキュリティパラメータの指令エントリが、magnus.conf ファイル (サーバーのメイン設定ファイル) 内に作成されます。仮想サーバーのセキュリティ設定が機能するよう、セキュリティは「On」に設定しておく必要があります。仮想サーバーの SSL のプロパティは、server.xml ファイルのSSLPARAMS 要素内にサーバーごとに記述されています。

SSL 設定ファイル指令の値を設定するには、次の手順を行います。

  1. サーバーマネージャにアクセスし、仮想サーバーのサーバーインスタンスをドロップダウンリストから選択します。
  2. 設定する待機ソケットでセキュリティが有効になっていることを確認してください。これを行うには、次の手順を実行します。
    1. 「Edit Listen Sockets」リンクをクリックします。
    2. セキュリティを有効にする待機ソケットに対応する「Listen Socket ID」をクリックします。
    3. 「Edit Listen Socket」ページが表示されます。

    4. 「Security」ドロップダウンリストから「Enabled」を選択します。
    5. 「OK」をクリックします。
  3. 「Magnus Editor」リンクをクリックします。
  4. ドロップダウンリストから「SSL Settings」を選択し、「Manage」をクリックします。
  5. 次の項目の値を入力します。
    • SSLSessionTimeout
    • SSLCacheEntries
    • SSL3SessionTimeout
  6. 「OK」をクリックします。
  7. 「Apply」をクリックしてから、変更内容を有効にするため「Restart」をクリックします。

これらの SSL 設定ファイル指令について、次に説明します。

SSLSessionTimeout

SSLSessionTimeout 指令は、SSL2 セッションのキャッシュを制御します。

構文

SSLSessionTimeout seconds

seconds は、キャッシュされた SSL セッションが無効になるまでの秒数です。デフォルト値は 100 です。SSLSessionTimeout 指令が指定された場合には、秒数値は暗黙のうちに 5〜100 秒の間であると想定されます。

SSLCacheEntries

キャッシュできる SSL のセッション数を指定します。

SSL3SessionTimeout

SSL3SessionTimeout 指令は、SSL3 および TLS セッションのキャッシュを制御します。

構文

SSL3SessionTimeout seconds

seconds は、キャッシュされた SSL3 セッションが無効になるまでの秒数です。デフォルト値は 86400 (24 時間) です。SSL3SessionTimeout 指令が指定されている場合、この秒数の値は暗黙的に 5 〜 86400 秒間に制限されます。


外部暗号化モジュールの使用

Sun ONE Web Server 6.1 は、スマートカードやトークンリングなどの外部の暗号化モジュールとして、次の方法をサポートしています。

FIPS-140 暗号化標準を有効化する前に、PKCS#11 モジュールを追加しておく必要があります。

PKCS#11 モジュールのインストール

Sun ONE Web Server は、PKCS (Public Key Cryptography Standard) #11をサポートします。この標準は、SSL と PKCS#11 モジュール間の通信に使用されるインタフェースを定義します。PKCS#11 モジュールは、SSL ハードウェアアクセラレータへの標準ベースの接続に使用されます。外部のハードウェアアクセラレータにインポートされた証明書と鍵は、secmod.db ファイルに格納されます。このファイルは、PKCS#11 モジュールをインストールしたときに生成されます。

modutil による PKCS#11 モジュールのインストール

PKCS#11 モジュールを、modutil ツールを使用して.jar ファイルまたはオブジェクトファイルの形式でインストールできます。

modutil を使用して PKCS#11 モジュールをインストールするには、次の手順を行います。

  1. 管理サーバーを含むすべてのサーバーが停止していることを確認します。
  2. データベースが置かれている server_root/alias ディレクトリに移動します。
  3. PATH にserver_root/bin/https/admin/bin を追加します。
  4. server_root/bin/https/admin/binmodutilを特定します。
  5. 環境を設定します。その例を次に示します。
    • UNIX では、setenv
    • LD_LIBRARY_PATH server_root/bin/https/lib:${LD_LIBRARY_PATH}

    • IBM-AIX では、LIBPATH
    • HP-UX では、SHLIB_PATH
    • Windows では、PATH に次を追加します。

      LD_LIBRARY_PATH server_root/bin/https/bin

      使用しているマシンの PATH は、以下で参照できます。server_root/https-admin/start.

  6. 次のコマンドを入力します : modutil
  7. オプションの一覧が表示されます。

  8. 必要な操作を行います。
  9. たとえば、UNIX に PCKS#11 モジュールを追加する場合には、次のように入力します。

    modutil -add (PCKS#11 ファイルの名前) -libfile (PCKS#11 用のユーザーの libfile) -nocertdb -dbdir (db ディレクトリ)

pk12util の使用

pk12util 使用して、内部データベースから証明書と鍵をエクスポートしたり、内部または外部の PKCS#11 モジュールにこれらをインポートすることができます。証明書と鍵は内部データベースにいつでもエクスポートできますが、ほとんどの外部トークンでは証明書と鍵のエクスポートは許可されません。デフォルトでは、pk12util は、cert8.dbkey3.db という名前の証明書と鍵データベースを使用します。

pk12util によるエクスポート

内部データベースから証明書と鍵をエクスポートするには、次の手順を行います。

  1. データベースが置かれている server_root/alias ディレクトリに移動します。
  2. PATH にserver_root/bin/https/admin/bin を追加します。
  3. server_root/bin/https/admin/binpk12utilを特定します。
  4. 環境を設定します。その例を次に示します。
    • UNIX では、setenv LD_LIBRARY_PATH server_root/bin/https/lib:${LD_LIBRARY_PATH}
    • IBM-AIX では、LIBPATH
    • HP-UX では、SHLIB_PATH
    • Windows では、PATH に次を追加します。
    • LD_LIBRARY_PATH server_root/bin/https/bin

      使用しているマシンの PATH は、以下で参照できます。server_root/https-admin/start.

  5. 次のコマンドを入力します : pk12util
  6. オプションの一覧が表示されます。

  7. 必要な操作を行います。
  8. たとえば、UNIX では次のように入力します。

    pk12util -o certpk12 -n Server-Cert [-d /server/alias] [-P https-test-host]

  9. データベースパスワードを入力します。
  10. pkcs12 パスワードを入力します。
pk12util によるインポート

内部または外部の PKCS#11 モジュールに証明書と鍵をインポートするには、次の手順を行います。

  1. データベースが置かれている server_root/alias ディレクトリに移動します。
  2. PATH にserver_root/bin/https/admin/bin を追加します。
  3. server_root/bin/https/admin/binpk12util を特定します。
  4. 環境を設定します。その例を次に示します。
    • UNIX では、setenv LD_LIBRARY_PATH server_root/bin/https/lib:${LD_LIBRARY_PATH}
    • IBM-AIX では、LIBPATH
    • HP-UX では、SHLIB_PATH
    • Windows では、PATH に次を追加します。
    • LD_LIBRARY_PATH server_root/bin/https/bin

      使用しているマシンの PATH は、以下で参照できます。server_root/https-admin/start

  5. 次のコマンドを入力します : pk12util
  6. オプションの一覧が表示されます。

  7. 必要な操作を行います。
  8. たとえば、UNIX では次のように入力します。

    pk12util -i pk12_sunspot [-d certdir][-h "nCipher"][-P https-jones.redplanet.com-jones-]

    -P は-h のあとに、最後の引数として使用します。

    引用符記号の中の大文字と空白文字を含む、正確なトークン名を入力します。

  9. データベースパスワードを入力します。
  10. pkcs12 パスワードを入力します。

外部証明書を使用してサーバーを起動するには : 外部 PKCS#11 モジュール (たとえば、ハードウェアアクセラレータなど) にサーバーの証明書をインストールする場合には、server.xml を編集するか、または次に述べるように、証明書名を指定するまで、サーバーはその証明書の使用を開始できません。

サーバーは常に、「Server-Cert」という名前の証明書を使用して起動しようとします。しかし、外部 PKCS#11 モジュール内の証明書には、識別子内にモジュールのトークン名のうちの 1 つが含まれています。たとえば、「smartcard0」と呼ばれる外部スマートカードリーダー上にインストールされているサーバー証明書の名前が「smartcard0:Server-Cert」となるなどです。

外部モジュールにインストールされている証明書を使用してサーバーを起動するには、稼動する待機ソケットの証明書名を指定する必要があります。

待機ソケットの証明書名の選択

待機ソケットの証明書名を選択するには、次の手順を行います。


待機ソケットのセキュリティ機能が有効になっていない場合は、証明書情報は表示されません。待機ソケットの証明書名を選択するには、最初にセキュリティ機能が有効になっている必要があります。詳細は、「待機ソケットのセキュリティの有効化」を参照してください。


  1. 管理サーバーまたはサーバーマネージャにアクセスし、「Preferences」タブを選択します。
  2. サーバーマネージャを使用する場合には、はじめにドロップダウンリストからサーバーインスタンスを選択する必要があります。

  3. まだ選択されていない場合には「Preferences」タブを選択します。
  4. 「Edit Listen Sockets」リンクをクリックします。
  5. 「Edit Listen Sockets」ページが表示されます。

  6. 証明書と関連付ける待機ソケットに対応する「Listen Socket Id」リンクをクリックします。
  7. 「Edit Listen Socket」ページが表示されます。

  8. 「Server Certificate Name」ドロップタウンリストから待機ソケットのサーバー証明書を選択します。
  9. このリストには、インストールされているすべての内部および外部の証明書が記載されています。


    サーバー証明書がインストールされていない場合は、それを警告するメッセージが「Server Certificate Name」ドロップダウンリストの場所に表示されます。


  10. 「OK」をクリックします。
  11. サーバーマネージャを使用する場合には、「Apply」をクリックし、変更内容を有効にするため「Restart」をクリックします。

手動で server.xml ファイルを編集することにより、代わりにそのサーバー証明書を使用して起動することをサーバーに指示することもできます。SSLPARAMS の servercertnickname 属性を次のように変更します。

$TOKENNAME に使用する値を知るには、サーバーの「Security」タブに移動して、「Manage Certificates」リンクを選択します。Server-Cert の格納されている外部モジュールにログインすると、「$TOKENNAME:$NICKNAME」フォームのリスト内にその証明書が表示されます。


信頼データベースを作成していない場合には、外部 PKCS#11 モジュールの証明書を要求するかまたはインストールすると信頼データベースが 1 つ作成されます。作成されるデフォルトのデータベースには、パスワードがないためアクセスできません。外部モジュールは動作しますが、サーバー証明書を要求してインストールすることはできません。パスワードのないデフォルトのデータベースが作成された場合には、「Security」タブの「Create Database」ページを使用してパスワードを設定してください。


FIPS-140 標準

PKCS#11 API を使用すれば、暗号化操作を実行するソフトウェアまたはハードウェアモジュールとの通信が可能です。PKCS#11 をサーバー上にインストールすると、Federal Information Processing Standards (FIPS) - 140 に準拠するよう Sun ONE Web Server を設定できます。これらのライブラリは、SSL バージョン 3.0 にのみ含まれています。

FIPS-140 を有効にするには、次の手順を行います。

  1. FIPS-140 の指示に従ってプラグインをインストールします。
  2. 管理サーバーまたはサーバーマネージャにアクセスし、「Preferences」タブを選択します。
  3. サーバーマネージャを使用する場合には、はじめにドロップダウンリストからサーバーインスタンスを選択する必要があります。

  4. 「Edit Listen Sockets」リンクをクリックします。
  5. 「Edit Listen Sockets」ページが表示されます。待機ソケットがセキュリティ保護されている場合は、「Edit Listen Sockets」ページに使用可能なセキュリティ設定が表示されます。


    FIPS-140 を使用するには、選択している待機ソケットでセキュリティが有効になっている必要があります。詳細は、「待機ソケットのセキュリティの有効化」を参照してください。


  6. 「Enabled」が選択されていない場合は、「SSL Version 3」ドロップダウンリストから選択します。
  7. 次のうち、適切な FIPS-140 暗号化方式のセットを選択します。
    • (FIPS) DES with 56 bit encryption and SHA message authentication
    • (FIPS) Triple DES with 168 bit encryption and SHA message authentication
  8. 「OK」をクリックします。
  9. サーバーマネージャを使用する場合には、「Apply」をクリックし、変更内容を有効にするため「Restart」をクリックします。


クライアントセキュリティ要件の設定

サーバーをセキュリティ保護するためのすべての手順が終了したあと、クライアントに関するその他のセキュリティ要件を設定できます。

クライアント認証の要求

管理サーバーと各サーバーインスタンスの待機ソケットが、クライアント認証を要求できるようになります。クライアント認証を有効にすると、クエリに対してサーバーが応答を送信する前に、クライアントの証明書が必要となります。

Sun ONE Web Server は、クライアント認証に含まれる CA と、信頼できる署名済みクライアント証明書を比較することによってクライアント証明書の認証をサポートします。管理サーバーの「Security」の下にある「Manage Certificates」ページで、クライアント証明書に署名済みの信頼できる CA のリストを参照できます。CA には、次の 4 種類があります。

信頼できる CA からのクライアント証明書を持っていないクライアントを拒絶するよう Web サーバーを設定できます。信頼できる CA を受け入れるまたは拒絶するには、その CA についてクライアント信頼情報を設定しておく必要があります。詳細は、「証明書の管理」を参照してください。

Sun ONE Web Server は、エラーの記録、証明書の拒絶、また証明書が期限切れの場合にはクライアントに対してメッセージの返送を行います。また、管理サーバーの「Manage Certificates」ページで、有効期限切れの証明書を参照できます。

クライアントの証明書から情報を収集し、これを LDAP ディレクトリ内のユーザーエントリと照合するようにサーバーを設定できます。このようにすると確実に、LDAP ディレクトリ内に有効な証明書とエントリをクライアントが持つことを確認できます。また、クライアント証明書が LDAP ディレクトリ内の証明書と確実に一致することを確認できます。これを実行する方法については、「LDAP へのクライアント証明書のマッピング」を参照してください。

証明書のあるユーザーは、信頼できる CA だけでなく、アクセス制御の規則 (ACL) とも一致しなければならないように、クライアント証明書をアクセス制御と組み合わせることができます。詳細は、「アクセス制御ファイルの使用」を参照してください。

クライアントの証明書からの情報も処理することができます。詳細については、『Sun ONE Web Server 6.1 NSAPI Programmer's Guide』を参照してください。

クライアントの認証を要求するには

クライアントの認証を要求するには、次の手順を行います。

  1. 管理サーバーまたはサーバーマネージャにアクセスし、「Preferences」タブを選択します。
  2. サーバーマネージャを使用する場合には、はじめにドロップダウンリストからサーバーインスタンスを選択する必要があります。

  3. 「Edit Listen Sockets」リンクをクリックします。
  4. 「Edit Listen Sockets」ページが表示されます。

  5. クライアント認証を要求する待機ソケットに対応する「Listen Socket Id」リンクをクリックします。
  6. 「Edit Listen Socket」ページが表示されます。

  7. 待機ソケットのクライアント認証を要求するには、「Client Authentication」ドロップダウンリストから「Required」を選択します。
  8. 「OK」をクリックします。
  9. サーバーマネージャを使用する場合には、「Apply」をクリックし、変更内容を有効にするため「Restart」をクリックします。

    現在、Web サーバーインスタンスごとに 1 つの証明書信頼データベースが存在します。そのサーバーインスタンスのもとで稼動しているセキュリティ保護された仮想サーバーはすべて、信頼できるクライアント CA の同じリストを共有します。2 つの仮想サーバーが別の信頼できる CA を要求する場合には、これらの仮想サーバーは、別個の信頼データベースを使用して、異なるサーバーインスタンスで稼動する必要があります。


LDAP へのクライアント証明書のマッピング

この節では、Sun ONE Web Server が LDAP ディレクトリ内のエントリにクライアント証明書をマップするために使用するプロセスを説明します。

サーバーがクライアントから要求を取得すると、処理を進める前にクライアントの証明書を求めます。一部のクライアントは、要求と一緒にクライアント証明書をサーバーに送信します。


LDAP にクライアント証明書をマップする前に、必要な ACL も設定しておく必要があります。詳細は、第 9 章「サーバーへのアクセス制御」を参照してください。


サーバーは、管理サーバーの信頼できる CA リストとその証明書の発行元である CA を照合します。一致しなかった場合には、Sun ONE Web Server はその接続を終了します。一致した場合、サーバーは要求の処理を続行します。

証明書が信頼できる CA からのものであることを確認したあと、サーバーは、次の方法で LDAP エントリにその証明書をマップします。

サーバーは、certmap.conf と呼ばれる証明書マッピングファイルを使用して LDAP 検索を実行する方法を決定します。このマッピングファイルは、クライアント証明書から入手すべき値 (エンドユーザー名、電子メールアドレスなど) をサーバーに通知します。サーバーは、これらの値を使用して LDAP ディレクトリ内にユーザーエントリがないか検索しますが、はじめに、LDAP ディレクトリ内のどこから検索を開始すべきかを決定する必要があります。このような開始すべき場所も、証明書マッピングファイルがサーバーに通知します。

サーバーが、検索を開始する場所および検索すべき内容を確認すると (手順1)、LDAP ディレクトリ内で検索を実行します (手順2)。一致するエントリがなかったり、一致するエントリがあってもマッピングが証明書を検証するように設定されていない場合には、検索は失敗します。検索結果についての予期される動作のリストは、次の表 6-1 を参照してください。予期される動作を ACL で指定できることに注意してください。たとえば、証明書照合が失敗した場合は Sun ONE Web Server がユーザー自身だけを受け入れるよう指定することができます。ACL の詳細設定については、「アクセス制御ファイルの使用」を参照してください。

表 6-1 LDAP 検索結果

LDAP 検索結果

証明書の比較検証が有効 (ON)

証明書の比較検証が無効 (OFF)

検出されたエントリなし

認証失敗

認証失敗

検出されたエントリが 1 つのみ

認証失敗

認証成功

検出されたエントリが複数

認証失敗

認証失敗

サーバーが LDAP ディレクトリ内で一致するエントリと証明書を検出したあと、その情報を使用してトランザクションを処理できます。たとえば、一部のサーバーでは、サーバーへのアクセスを判断するのに証明書 - LDAP 間マップを使用します。

certmap.conf ファイルの使用

証明書のマッピングは、LDAP ディレクトリ内のユーザーエントリをサーバーがどのように検索するか決定します。certmap.conf を使用して、名前で指定された証明書を LDAP エントリにマップする方法を設定できます。このファイルを編集し、エントリを追加して、ユーザーの LDAP ディレクトリの組織に一致するようにし、ユーザーが持っているべき証明書をリストにするようにします。ユーザーは、subjectDN 内で使用されているユーザー ID、電子メールアドレス、またはその他の値に基づいて認証されることができます。特に、マッピングファイルは、次の情報を定義します。

証明書マッピングファイルは、次の場所に格納されています。

このファイルには、それぞれが異なる CA に適用される、1 つまたは複数の名前付きのマッピングが格納されています。マッピングの構文は、次のとおりです。

最初の行にはエントリの名前と、CA 証明書内に記載されている識別名を設定する属性を指定します。名前は任意です。好きな名前に定義できます。ただし、issuerDN は、そのクライアント証明書を発行した CAの発行者 DN と正確に一致している必要があります。たとえば、次の 2 つの issuerDN 行は、属性間に空白文字があるかどうかという点が異なるだけですが、サーバーは、これら 2 つのエントリを別のものとして取り扱います。

名前付きマッピングの 2 行目以降の行は、プロパティが値と照合されます。certmap.conf ファイルには、次に示す 6 つのデフォルトのプロパティがあります (証明書 API を使用すると、ユーザー独自のプロパティをカスタマイズできます)。

これらプロパティについては、「マッピング例」に記述されている例を参照してください。

カスタムプロパティの作成

クライアント証明書 API を使用すると、独自のプロパティを作成できます。クライアント証明書 API のプログラミング法と使用法については、『NSAPI Programmer's Guide』を参照してください。

カスタムマッピングが行われると、次のようにマッピングを参照します。

<name>:library <path_to_shared_library>
<name>:InitFn <name_of_init_function>

その例を次に示します。

マッピング例

certmap.confファイルには、少なくとも1つのエントリが必要です。次の例では、certmap.conf ファイルを使用できる別の方法を示しています。

例 1

この例は、デフォルトのマッピングが 1 つだけある certmap.conf ファイルを表わしています。

この例を使用すると、ou=<orgunit>, o=<org>, c=<country> エントリを格納している LDAP 分岐点からサーバーは検索を開始します。< > 内のテキストは、クライアント証明書内の対象 DN に記載されている値と置き換えられます。

次に、サーバーが証明書に記載されている電子メールアドレスとユーザー ID の値を使用して、LDAP ディレクトリ内で一致するエントリを検索します。エントリを検出すると、サーバーは、ディレクトリ内に格納されているエントリとクライアントが送信したエントリを比較して、証明書を検証します。

例 2

次のファイル例には、2 つのマッピングがあります。1 つはデフォルト用で、もう 1 つは US Postal Service 用です。

サーバーが US Postal Service 以外から証明書を取得している場合、サーバーはデフォルトのマッピングを使用します。これは、LDAP ツリーの一番上から、クライアントの電子メールとユーザー ID に一致するエントリの検索を開始します。その証明書が US Postal Service からのものである場合、サーバーは、その組織単位を格納している LDAP 分岐から、一致する電子メールアドレスの検索を開始します。また、その証明書が USPS (US Postal Service) からのものである場合には、サーバーは証明書の検証を行います。それ以外の証明書は検証されません。


警告

証明書内の発行者 DN (すなわち CA の情報) は、マッピングの最初の行に記述されている発行者 DN と同じでなくてはなりません。前述の例では、o=United States Postal Service,c=US という発行者 DN からの証明書は、o 属性と c 属性の間に空白文字がないため一致しません。


例 3

次の例では、CmapLdapAttr プロパティを使用して、クライアント証明書から取得された対象 DN 全体と同一の値をもつ certSubjectDN という属性を、LDAP データベース内で検索します。

クライアント証明書の対象が次の場合には、

サーバーは、はじめに次の情報を格納しているエントリを検索します。

1 つまたは複数の一致したエントリが検出された場合、サーバーはそのエントリの検証処理を進めます。一致するエントリが検出されなかった場合には、サーバーは、DNCompsFilterComps を使用して、一致するエントリを検索します。この例では、サーバーは、o=LeavesOfGrass Inc, c=US の下にあるすべてのエントリで uid=Walt Whitman を検索します。


この例では、LDAP ディレクトリに certSubjectDN 属性のあるエントリが格納されていると想定しています。



Stronger Ciphers の設定

「Stronger Ciphers」オプションでは、アクセスするための非公開鍵のサイズに 168、128 または 56 ビットのいずれか、または制限なしの選択肢があります。制限に適合しない場合に使用されるファイルを指定することができます。ファイルが指定されていない場合は、Sun ONE Web Server が、「Forbidden」ステータスを返します。

アクセスのための鍵サイズとして、「Security Preferences」の下にある現在の暗号化方式の設定と整合しないサイズを選択すると、Sun ONE Web Server が、暗号化方式でより大きいサイズの非公開鍵を利用可能にする必要があると知らせるポップアップダイアログを表示します。

現在、鍵サイズ制限の実装は、Service fn=key-toosmall ではなく、obj.conf にある NSAPI PathCheck 指令に基づいています。この指令は次のとおりです。

ここで、<nbits> は、非公開鍵で必要とされる最小ビット数で、<filename> は、制限に適合しない場合に使用されるファイル (URI ではなく) の名前です。

SSL が有効ではない場合、またはsecret-keysize パラメータが指定されていない場合には、PathCheckREQ_NOACTION を返します。現在のセッションの非公開鍵サイズが指定された secret-keysize より小さいときは、関数は、bong-file が指定されていない場合には PROTOCOL_FORBIDDEN のスターテスと一緒に REQ_ABORTED を返し、それ以外の場合にはREQ_PROCEED を返して、「path」変数が bong-file <filename> に設定されます。また、鍵のサイズ制限に適合しない場合は、現在のセッションの SSL セッションキャッシュエントリが無効化されるため、次回、同じクライアントがサーバーに接続するとき完全な SSL ハンドシェイクが起こります。


「Stronger Ciphers」フォームは、PathCheck fn=ssl-checkを追加するときにオブジェクト内で検出する Service fn=key-toosmall 指令を削除します。


「Stronger Ciphers」を設定するには、次の手順を行います。

  1. サーバーマネージャにアクセスし、サーバーのサーバーインスタンスをドロップダウンリストから選択します。
  2. 「Virtual Server Class」タブをクリックします。
  3. クラスをドロップダウンリストから選択し、「Manage」をクリックします。
  4. 「Class Manager」ページが表示されます。

  5. 「Content Mgmt」タブを選択します。
  6. 「Stronger Ciphers」を選択します。
  7. 編集項目を選択します。
    • ドロップダウンリストから
    • 「Browse」をクリックして
    • 「Wildcard」をクリックして
  8. 非公開鍵サイズの制限を選択します。
    • 168 bit or larger (168 ビットまたはそれ以上)
    • 128 bit or larger (128 ビットまたはそれ以上)
    • 56 bit or larger (56 ビットまたはそれ以上)
    • No restrictions (制限なし)
  9. アクセスを拒絶するメッセージのファイルの場所を入力します。
  10. 「OK」をクリックします。
  11. 「Apply」をクリックします。
  12. 「hard start/restart」または「dynamically apply」を選択します。

詳細は、「Introduction to SSL」を参照してください。


セキュリティに関するその他の問題

他人が暗号を解読しようとすること以外にも、セキュリティに関するリスクがあります。ネットワークは常に、内部と外部の両側から、ハッカーのリスクにさらされています。ハッカーはさまざまな作戦を使って、サーバー本体やサーバーに格納されている情報にアクセスしようとしています。

したがって、サーバーで暗号化を有効にするだけでなく、さらに別のセキュリティの対策を立てる必要があります。たとえば、セキュリティ保護された部屋にサーバーマシンを設置し、信頼できない個人にサーバーへのプログラムのアップロードを許可しないようにするなどです。

次の各節では、サーバーをさらに安全に保護するのに必要な、最も重要な事項について説明します。

物理的アクセスの制限

このシンプルなセキュリティ手段が、意外と見逃されがちです。この方法では、承認された人だけが入室できる鍵の掛かった部屋にサーバーマシンを設置します。このようにすると、サーバーマシンへの物理的なハッキングを防げます。

また、マシンの管理 (root) パスワードを所有している場合には、パスワードを保護しておく必要があります。

管理アクセスの制限

リモート構成を使用している場合、必ず、数人のユーザーと数台のコンピュータだけが管理作業を実行できるように、アクセス制御を設定します。管理サーバーからエンドユーザーの権限で LDAP サーバーやローカルディレクトリにアクセスさせる場合、2 台の管理サーバーでクラスタ設定を整え、1 台では SSL を有効にしてマスターとなる管理サーバーを設定し、もう 1 台のサーバーでエンドユーザーからのアクセスを許可することを、検討してください。

クラスタについては、「クラスタについて」を参照してください。

管理サーバーの暗号化機能もオンにする必要があります。管理に SSL 接続を使用しない場合、リモートサーバーの管理にセキュリティ保護されていないネットワークを使用することになるという点に注意してください。つまり、SSL を使用しない場合には、通信の途中で管理パスワードを盗まれて、サーバーが不正に設定されてしまう可能性があるということです。

確実なパスワードの選択

サーバーでは多数のパスワードが使用されています。管理パスワード、非公開鍵パスワード、データベースパスワードなどです。この中でもっとも重要なパスワードは管理パスワードです。このパスワードを使えば、誰もがコンピュータ上のどのサーバーの設定でも行えるからです。次に重要なのは、非公開鍵パスワードです。非公開鍵と非公開鍵パスワードを第三者が入手した場合、その第三者が偽のサーバーを作成したり、ユーザー自身のものであるように見せかけたり、サーバーとの間の通信を傍受したり、改ざんしたりする可能性があります。

優れたパスワードは、ユーザー自身がすぐに思い出せて、第三者には推測できないようなパスワードです。たとえば、「My Child is 12 months old!」からは MCi12!mo を思い出すことができます。悪いパスワードは、たとえば子供の名前や誕生日などです。

推測しにくいパスワードの作成

安全性の高いパスワードを作成するのに役立つ、いくつかの簡単な注意事項を示します。

1 つのパスワードに次の規則のすべてを取り込む必要はありませんが、使用する規則が多ければ多いほど、パスワードは推測されにくくなります。

パスワードまたは PIN の変更

信頼データベース/鍵ペアファイルのパスワードまたは PIN を定期的に変更することを習慣付けてください。管理サーバーで SSL を有効にしている場合、サーバーを起動するときにこのパスワードが必要です。パスワードを定期的に変更すると、サーバーのセキュリティ保護が強化されます。

このパスワードは、ローカルマシンにおいてのみ変更すべきです。パスワードを変更するときに考慮すべき注意事項のリストは、「推測しにくいパスワードの作成」を参照してください。

パスワードの変更

管理サーバーまたはサーバーインスタンスの信頼データベース/鍵ペアファイルのパスワードを変更するには、次の手順を行います。

  1. 管理サーバーまたはサーバーマネージャにアクセスし、「Security」タブを選択します。
  2. サーバーマネージャを使用する場合には、はじめにドロップダウンリストからサーバーインスタンスを選択する必要があります。

  3. 「Change Password」リンクを選択します。
  4. パスワードを変更したいセキュリティトークンをドロップダウンリストから選択します。
  5. デフォルトでは、内部鍵データベース用の「internal」になっています。PKCS#11 モジュールがインストールされている場合は、すべてのトークンが一覧で表示されます。「Change Password」リンクをクリックしてください。

  6. 現在のパスワードを入力します。
  7. 新しいパスワードを入力します。
  8. 新しいパスワードをもう一度入力します。
  9. 「OK」をクリックします。
  10. サーバーマネージャの場合には、「Apply」をクリックし、変更内容を有効にするため「Restart」をクリックします。

鍵ペアファイルは必ずセキュリティ保護されるようにします。管理サーバーは、server_root/alias ディレクトリ内に鍵ペアファイルを格納します。コンピュータ上にインストールされている Sun ONE Web Server だけがファイルとディレクトリを読めるようにすることを検討してください。

ファイルがバックアップテープ上に格納されるかどうか、またはそのファイルが第三者が傍受できるような状態かどうかを知っておくことも大切です。そのような場合には、バックアップをサーバーと同等に、完全にセキュリティ保護する必要があります。

サーバー上での他のアプリケーションの制限

サーバーと同じマシンで稼動するすべてのアプリケーションを十分に検討します。サーバー上で稼動する他のアプリケーションのセキュリティホールを使って、サーバーのセキュリティが保護されなくなる可能性があります。不必要なプログラムやサービスはすべて無効にしてください。たとえば、UNIX sendmail デーモンは、安全に設定することが難しく、他のプログラムがサーバーマシン上で稼動するようにプログラムされてしまう可能性もあります。

UNIX と Linux

inittab スクリプトと rc スクリプトから開始するプロセスを注意して選択します。telnet または rlogin をサーバーマシン上で起動させないでください。また、サーバーマシン上に rdist を格納すべきではありません。格納すると、ファイルを分散することができる反面、サーバーマシン上のファイルの更新に使用されてしまう可能性もあります。

Windows

他のマシンと共有するドライブやディレクトリについて、十分に検討してください。また、どのユーザーがアカウントやゲストの特権を所有しているかについても検討してください。

同様に、管理者がサーバー上に置いているプログラムや、サーバー上で他のユーザーにインストールを許可するプログラムについても注意を払ってください。他のユーザーのプログラムには、セキュリティホールがあるかもしれません。最悪の場合には、セキュリティを侵害するために設計された悪意のあるプログラムをアップロードする人がいるかもしれません。したがって、サーバー上にプログラムを置くことを許可する前に、そのプログラムを良く調べてください。

クライアントによる SSL ファイルのキャッシングを防ぐ

HTML 形式のファイルの <HEAD> タグの部分に次の行を追加することで、暗号化されているファイルをクライアントがキャッシュに書き込むのを前もって防止することができます。

ポートの制限

マシン上で使用していないポートは、すべて無効にします。ルータやファイアウォールの設定を使用して、最少数のポートセット以外には着信接続ができないように設定します。このように設定すると、マシン上でシェルを取得する方法が、サーバーマシンを物理的に使用することだけになり、制限された領域内にしか接続できないことになります。

サーバーの限界を知る

サーバーは、サーバーとクライアントの間にセキュリティ保護された接続を提供します。サーバーは、情報を一度クライアントに取得されると、情報のセキュリティを制御することはできず、サーバーマシン自体およびディレクトリやファイルに対するアクセスも制御できません。

このような限界を認識しておくことは、避けるべき状況を理解するのに役立ちます。たとえば、SSL 接続を通じてクレジットカードの番号を取得するとして、そのような番号をサーバーマシン上のセキュリティ保護されたファイルに保存できるでしょうか。SSL 接続が終了したあとでこれらの番号に何が起こるのでしょうか。SSL を通じてクライアントが送信してきた情報に対しては、セキュリティ保護する責任があります。

サーバーを保護するためのその他の追加変更

保護されているサーバーと保護されていないサーバーの両方が必要な場合には、保護されているサーバーとは異なるマシンで保護されていないサーバーを運用する必要があります。リソースが限られており、保護されているサーバーと同じマシン上で保護されていないサーバーを稼動しなくてならない場合には、次のようにしてください。

chroot を使用して、サーバーを特定のディレクトリに限定するよう第 2 のルートディレクトリを作成できます。保護されていないサーバーの保護対策としてこの機能を使用します。たとえば、ルートディレクトリを /d1/ms とすることもできます。そのとき、Web サーバーが、ルートディレクトリにアクセスしようとする場合は常に、実際には /d1/ms に行き着きます。また、/dev にアクセスしようとした場合は、/d1/ms/dev に行き着きます。したがって、実際のルートディレクトリの下にあるファイルにはいっさいアクセスさせずに、UNIX/Linux システムで Web サーバーを稼動することができます。

ただし、chroot を使用する場合には、次の図に示すように、Sun ONE Web Server によって要求されるディレクトリ構造全体を代替ルートディレクトリの下に設定する必要があります。

仮想サーバークラスへの chroot の指定

次の手順で、仮想サーバークラスに chroot ディレクトリを指定できます。

  1. サーバーマネージャにアクセスし、サーバーのサーバーインスタンスをドロップダウンリストから選択します。
  2. 「Virtual Server Class」タブを選択します。
  3. 「Edit Classes」リンクをクリックします。
  4. chroot を指定したいクラスについて、「Option」が「Edit」に設定されていることを確認します。
  5. そのクラスの「Advanced」ボタンをクリックします。
  6. 「Virtual Servers CGI Settings」ページが表示されます。

  7. 「Chroot」フィールドに絶対パス名を入力します。
  8. 「OK」をクリックします。
  9. 「Apply」をクリックします。
  10. 「Load Configuration Files」を選択して、ダイナミックに適用します。

仮想サーバーへの chroot の指定

次の手順で、特定の仮想サーバーに chroot ディレクトリを指定できます。

  1. サーバーマネージャにアクセスし、サーバーのサーバーインスタンスをドロップダウンリストから選択します。
  2. 「Virtual Server Class」タブを選択します。
  3. 「Tree View of the Server」から chroot ディレクトリを指定したい仮想サーバーへのリンクをクリックします。
  4. 「Settings」タブを選択します。
  5. 「Settings」ページが表示されます。

  6. 「Chroot Directory」の隣にある「Set to」フィールドに、絶対パス名を入力します。
  7. 「OK」をクリックします。
  8. 「Apply」をクリックします。
  9. 「Load Configuration Files」を選択して、ダイナミックに適用します。

「Class Manager Virtual Servers」タブと「CGI Settings」リンクを使用して、仮想サーバーに chroot ディレクトリを指定することもできます。

仮想サーバーに chroot ディレクトリを指定する方法の詳細は、『Sun ONE web Server 6.1 Programmer's Guide』を参照してください。



前へ      目次      索引      次へ     


Copyright 2003 Sun Microsystems, Inc. All rights reserved.