![]() | |
Sun Java System Directory Proxy Server 5 2004Q2 管理ガイド |
第 12 章
セキュリティの設定Directory Proxy Server は、クライアントとバックエンドディレクトリサーバーの間での通信をセキュリティ保護するために、SSL/TLS をサポートしています。
この章は、次の概念を理解していることを前提に記述されています。
Directory Proxy Server には、設定可能な 2 つの異なる通信リンクがあります。各通信リンクは、プレーンテキストを利用するだけでなく、TLS (Transport Layer Security) プロトコルまたは SSL (Secure Sockets Layer) プロトコルによって暗号化することもできます。2 つの独立した通信リンクを利用できるので、LDAP クライアントと Directory Proxy Server の間、および Directory Proxy Server と LDAP ディレクトリの間で TLS または SSL が有効な通信を設定することができます。図 12-1 は、Directory Proxy Server の対応能力を示しています。
図 12-1 Directory Proxy Server の 2 つの独立した通信リンク
検証される証明書のルート CA 証明書がインストールされ、Directory Proxy Server がそれを利用できる場合、Directory Proxy Server はクライアントとサーバーの両方の証明書を検証できます。
図 12-2 は、クライアントとの SSL セッションの確立後にクライアントから提示された証明書を Directory Proxy Server がどのように検証するかを示しています。
図 12-2 証明書に基づくクライアントの認証
SSL と TLS の設定準備SSL と TLS の設定は、内部セキュリティデバイスを使用するか、外部ハードウェアデバイスを使用するか、または両方を使用するかによって異なります。ここでは、その方法について説明します。
内部セキュリティデバイスを使用する場合の SSL または TLS の設定
内部セキュリティデバイスを使用する場合に SSL または TLS を設定するには、証明書を要求し、それをインストールする必要があります。証明書を要求するときは、証明書リクエストウィザードを使用します。証明書をインストールするときは、証明書インストールウィザードを使用します。プロンプトが表示されるので、内部セキュリティデバイスに証明書をインストールすることを指定します。
外部セキュリティデバイスを使用する場合の SSL または TLS の設定
FORTEZZA などの外部セキュリティデバイスを使用する場合に SSL を設定するときは、まず、外部デバイスに付属する PKCS #11 モジュールをインストールします。次に、証明書リクエストウィザードを実行し、プロンプトが表示されたら外部セキュリティデバイスを指定します。
内部と外部のセキュリティデバイスを使用する場合の SSL の設定
企業によっては、サーバーとクライアントで内部セキュリティデバイスだけを使用しますが、内部と外部、両方のセキュリティデバイスを使用する企業もあります。サーバーが内部と外部のセキュリティデバイスを両方とも実行する製品と通信する場合は、証明書リクエストウィザードを 2 回実行します。最初の実行では、プロンプトが表示されたときに内部セキュリティデバイスを指定します。2 回目の実行では、プロンプトが表示されたときに外部セキュリティデバイスを指定します。
SSL 通信の設定一般に、Directory Proxy Server での SSL 対応通信の設定では、次の手順で行われます。
Directory Proxy Server のサーバー証明書のインストール
証明書を要求し、それをインストールするときは、2 つのウィザードを使用します。新しいサーバー証明書を要求する、またはすでに使用している証明書を更新するときは、証明書リクエストウィザードを使用します。認証局 (CA) から受け取った証明書をインストールするときは、証明書インストールウィザードを使用します。証明書リクエストウィザードを初めて使用するときは、鍵と証明書のデータベースも作成およびインストールされます。
Directory Proxy Server のサーバー証明書をインストールするには、次の手順を実行します。
SSL 証明書
Directory Proxy Server では、サーバー証明書、サーバー証明書チェーン、信頼された CA 証明書という 3 種類の証明書をインストールできます。
サーバー証明書は、そのサーバーだけに関連付けられる 1 つの証明書です。これは、クライアントがこのサーバーを識別するための証明書です。この証明書を CA に要求する必要があります。サーバー証明書を取得してインストールするには、要求を作成して CA に送信します。次に、その証明書をインストールします。
サーバー証明書チェーンは、企業の社内証明書サーバーまたは既知の CA によって自動的に生成される証明書の集合です。チェーンに含まれる証明書は、元の CA にまで遡ることができ、識別情報が裏付けられます。この裏付けは、新しいサーバー証明書を取得またはインストールするたびに必要となります。
信頼された CA 証明書は、企業の社内証明書サーバーまたは既知の CA によって自動的に生成される 1 つの証明書です。信頼された CA 証明書は、クライアントの認証に使用されます。
信頼された CA 証明書を取得するには、まず、社内証明書サーバーまたは CA の Web サイトにアクセスします。必要な証明書情報をコピーしてファイルとして保存します。次に、証明書インストールウィザードを使用してその証明書をインストールします。
サーバーにインストールできる SSL 証明書の数には制限はありません。Directory Server のインスタンスで SSL を設定するには、少なくともサーバー証明書と信頼された CA 証明書をインストールする必要があります。
サーバー証明書要求を作成するには
Directory Proxy Server を使用して、認証局 (CA) に送信する証明書要求を作成できます。
- Directory Proxy Server のナビゲーションツリーで、SSL 暗号化を適用するサーバーインスタンスを選択します。
- サーバーインスタンスをダブルクリックするか、「開く」をクリックして、そのサーバーインスタンスの管理ウィンドウを表示します。
- 「コンソール」メニューから、「セキュリティ」 > 「証明書の管理」を選択します。
「証明書の管理」タスクをクリックすることもできます。
セキュリティデバイスがパスワードを持たない場合、パスワードの入力を促すメッセージが表示されます。
- 「要求」をクリックして「証明書リクエストウィザード」を開きます。
- 「手動で証明書を要求」を選択し、「次へ」をクリックします。
- 次の情報を入力します。
サーバー名 : (省略可) 証明書を要求するマシンの完全修飾ホスト名を入力します。
組織 : (省略可) 組織の名前を入力します。
組織単位 : (省略可) 部門、部署などの組織単位を入力します。
都市/地域 : (省略可) 組織単位が存在する都市または地域を入力します。
都道府県 : (省略可) 組織単位が存在する都道府県を入力します。
国/地域 : (省略可) 組織単位が存在する国または地域をドロップダウンメニューから選択します。
次のボタンを使用して、要求の表示形式を切り替えることができます。
DN を表示 : クリックすると、識別名 (DN) の形式で要求者情報が表示されます。このボタンは、フィールドに情報を入力する場合にだけ表示されます。
フィールドの表示 : クリックすると、要求者情報がフィールドに表示されます。このボタンは、情報を DN 形式で入力する場合にだけ表示されます。
- 「次へ」をクリックします。
- この証明書を格納するセキュリティデバイスのパスワードを入力します。
内部 (ソフトウェア) セキュリティデバイスを使用している場合は、鍵と証明書のデータベースのパスワードを入力します。外部 (ハードウェア) モジュールを使用している場合は、SmartCard などのセキュリティデバイスのパスワードを入力します。
- 「次へ」をクリックします。
- 次のどちらかを選択します。
クリップボードにコピー : クリックすると、証明書要求がクリップボードにコピーされます。
ファイルに保存 : クリックすると、要求がテキストファイルとして保存されます。ファイルの名前と場所を選択するためのダイアログボックスが表示されます。
- 「終了」をクリックして、証明書リクエストウィザードを終了します。
サーバー証明書要求を送信するには
サーバー証明書要求を作成したら、それを CA に送信します。多くの CA では、Web サイトで証明書要求を受け付けています。要求を含む電子メールメッセージの送信を必要とする CA もあります。
要求を送信したら、CA から証明書が送られてくるまで待ちます。応答時間は CA によって大きく異なります。社内 CA がある場合は、1 〜 2 日で証明書を受け取れます。外部の CA を利用する場合は、CA が要求に応じるまでに数週間かかることもあります。
証明書をインストールするには
証明書を電子メールメッセージとして受け取るか、CA の Web サイトで受け取るかは、CA によって異なります。証明書を入手したら、バックアップをとってインストールします。
- CA から受け取った証明書データをテキストファイルとして保存します。
これにより、証明書データを失っても、このバックアップファイルから証明書を再インストールできます。
- Directory Proxy Server のナビゲーションツリーで、証明書をインストールするサーバーインスタンスを選択します。
- 「開く」をクリックして、そのサーバーインスタンスの管理ウィンドウを開きます。
- 「タスク」タブで、「証明書の管理」タスクボタンをクリックします。
「コンソール」メニューから「セキュリティ」 > 「証明書の管理」を選択することもできます。
- 「サーバー証明書」タブを選択します。
- この証明書の格納先を指定します。
この証明書を内部セキュリティデバイスに格納する場合は、「セキュリティデバイス」ドロップダウンリストから内部 (ソフトウェア) を選択し、「インストール」をクリックします。
この証明書を外部ハードウェアデバイスに格納する場合は、「セキュリティデバイス」ドロップダウンリストからデバイスを選択し、「インストール」をクリックします。
- 証明書の場所を指定するか、その内容を入力します。
このローカルファイル内 : 証明書がシステム上のテキストファイルとして保存されているときは、そのファイルへの完全パスを入力します。
次の符号化されたテキストブロック中 : 証明書をクリップボードにコピーしたときは、「クリップボードから貼り付け」ボタンをクリックして、証明書の内容をテキストフィールドに貼り付けます。
- 「次へ」をクリックします。
入力した証明書情報が有効であれば、証明書の詳細を示すページが表示されます。
- 証明書情報が正しいことを確認し、「次へ」をクリックします。
- 証明書名を入力し、「次へ」をクリックします。
- この証明書を格納するセキュリティデバイスのパスワードを入力します。
証明書を内部 (ソフトウェア) セキュリティデバイスにインストールする場合は、鍵と証明書のデータベースのパスワードを入力します。証明書を外部 (ハードウェア) セキュリティデバイスにインストールする場合は、そのデバイスのパスワードを入力します。
- 「終了」をクリックします。
CA 証明書またはサーバー証明書チェーンをインストールするには
- CA から CA 証明書またはサーバー証明書チェーンを取得します。
- Directory Proxy Server のナビゲーションツリーで、CA 証明書をインストールするサーバーインスタンスを選択します。
- 「開く」をクリックして、そのサーバーインスタンスの管理ウィンドウを開きます。
- 「タスク」タブで、「証明書の管理」タスクボタンをクリックします。
「コンソール」メニューから「セキュリティ」 > 「証明書の管理」を選択することもできます。
- 「CA 証明書」タブを選択し、「インストール」をクリックします。
- 証明書の場所を指定するか、その内容を入力します。
このローカルファイル内 : 証明書がシステム上のテキストファイルとして保存されているときは、そのファイルへの完全パスを入力します。
次の符号化されたテキストブロック中 : 証明書をクリップボードにコピーしたときは、「クリップボードから貼り付け」ボタンをクリックして、証明書の内容をテキストフィールドに貼り付けます。
- 「次へ」をクリックします。
入力した証明書情報が有効であれば、証明書の詳細を示すページが表示されます。
- 証明書情報が正しいことを確認し、「次へ」をクリックします。
- 証明書名を入力し、「次へ」をクリックします。
- この証明書の信頼オプションを選択します。
クライアントからの接続を受け入れる : この CA が発行するクライアント証明書を信頼するときは、このボックスにチェックマークを付けます。
ほかのサーバーに接続する : この CA が発行するサーバー証明書を信頼するときは、このボックスにチェックマークを付けます。
- 「終了」をクリックします。
証明書データベースをバックアップおよび復元するには
証明書をインストールするときは、証明書データベースのバックアップをその都度行う必要があります。データベースが破損した場合でも、このバックアップから証明書情報を復元することができます。
証明書データベースのバックアップ
バックアップからの証明書データベースの復元
Directory Proxy Server とクライアントの間の SSL 接続の設定
Directory Proxy Server と LDAP クライアントの間の SSL 接続を設定するときは、次の手順を実行します。
クライアントの信頼データベースに Directory Proxy Server CA 証明書を追加するには
注
この手順が必要となるのは、クライアントがサーバー証明書を検証する場合だけです。Netscape と Sun のすべてのクライアントは検証を行います。しかし、検証を行わないクライアントもあります。その場合は、信頼データベースの設定は不要です。
Directory Proxy Server が証明書を LDAP クライアントに提示すると、クライアントはその証明書の有効性を検証しようとします。クライアントは、この検証プロセスの一部として、証明書を発行した CA がクライアントによって信頼されているかどうかを確認します。このため、Directory Proxy Server のサーバー証明書を発行した CA のルート証明書がクライアントの信頼データベースにインストールされている必要があります。
Directory Proxy Server のサーバー証明書をインストールする最後の手順で、Directory Proxy Server の証明書をテキストファイルとして保存しました。クライアントアプリケーションのマニュアルを参照し、信頼データベースに CA 証明書をインストールします。
Directory Proxy Server のシステム設定を変更するには
Directory Proxy Server コンソールの「設定」タブと「暗号化」タブでは、SSL 対応通信の条件を Directory Proxy Server に定義することができます。詳細は、「システム設定インスタンスの作成」を参照してください。
適切なシステム設定インスタンスに次の変更を加え、変更内容を保存します。
Directory Proxy Server のネットワークグループを変更するには
Directory Proxy Server は、ネットワークグループを使用してクライアントを識別し、LDAP ディレクトリ内の情報に対するアクセス権を決定しています。詳細は、「グループの作成と管理」を参照してください。
すでに設定されている各グループについて、「暗号化」タブで適切なオプションを指定します。LDAP 操作を送信する前にクライアントが TLS セッションを開始するように強制する、TLS セッションを利用するかどうかの判断をクライアントに任せる、またはクライアントによる TLS セッションの開始を許可しないように指定できます。たとえば、「SSL は利用可能です」と「クライアントは SSL セッションを確立する必要がある」の 2 つのオプションの有効化が必要になるかもしれません。「暗号化」タブのオプションについては、「Directory Proxy Server のネットワークグループを作成するには」の手順 9 を参照してください。
リフェラルの実行が有効な場合は、「リフェラル SSL ポリシー」も指定します。リフェラルの実行を有効にするには、ウィンドウの左側のリストで「リフェラル」を選択します。
Directory Proxy Server は、バックエンドサーバーから返されるリフェラルを実行できます。返される LDAP URL は、RFC 2255 形式である必要があります。ホストポートが指定されていない場合、クライアントは、接続する適切な LDAP サーバーについて何らかの情報を持っている必要があります。
Directory Proxy Server は、ホストまたはポート番号が指定されていない LDAP URL を、そのリフェラルの送信元と同じホストへのリフェラルであると解釈します。次の例を参照してください。
ldap:///dc=central,dc=sun,dc=com
同一ホスト、ベースが異なるポートへのリフェラル
ldap://:10389/
同一ホスト、別ポートへのリフェラル
ldap://host/
「host」というホスト、デフォルトポート (389) へのリフェラル
Directory Proxy Server と LDAP サーバー間の SSL 接続の設定
Directory Proxy Server と LDAP サーバー間の SSL 接続を設定するときは、次の手順を実行します。
CA 証明書またはサーバー証明書チェーンをインストールするには
この手順が必要になるのは、LDAP サーバーが提示する証明書を Directory Proxy Server に検証させる場合だけです。詳細は、「CA 証明書またはサーバー証明書チェーンをインストールするには」を参照してください。
LDAP サーバーの信頼データベースに Directory Proxy Server CA 証明書を追加するには
Directory Proxy Server が証明書を LDAP サーバーに提示すると、サーバーはその証明書の有効性を検証しようとします。サーバーは、この検証プロセスの一部として、Directory Proxy Server の証明書を発行した CA がサーバーによって信頼されているかどうかを確認します。このため、Directory Proxy Server のサーバー証明書を発行した CA のルート証明書が LDAP サーバーの信頼データベースにインストールされている必要があります。
Directory Proxy Server のサーバー証明書をインストールする最後の手順で、Directory Proxy Server の証明書をテキストファイルとして保存しました。LDAP サーバーのマニュアルを参照し、信頼データベースに CA 証明書をインストールします。Sun Java System Directory Server を使用している場合は、Directory Server コンソールの「タスク」タブから「証明書の管理」ウィザードを呼び出して、CA 証明書を Directory Server の信頼データベースに追加できます。
LDAP サーバープロパティを変更するには
「LDAP サーバープロパティ」ウィンドウの「暗号化」タブでは、各 LDAP サーバーの SSL 対応通信の条件を設定できます。詳細は、「LDAP サーバープロパティオブジェクトの作成」を参照してください。
適切な LDAP サーバープロパティオブジェクトに次の変更を加え、変更内容を保存します。
- 「セキュリティポリシー」を設定します。バックエンドサーバーとの接続で Directory Proxy Server が常に SSL/TSL を確立する、TLS/SSL 接続を確立しない、またはクライアントが Directory Proxy Server との接続に SSL/TLS を利用している場合にだけバックエンドサーバーとの間で SSL/TLS 接続を確立するように指定できます。
- 「X.509 証明書サブジェクト DN」フィールドを、LDAP サーバー証明書のサブジェクト名 (X.509 証明書のサブジェクト属性) に設定します。これを指定すると、Directory Proxy Server は指定した証明書のサブジェクトを LDAP サーバーの証明書に含まれるサブジェクトと照合し、一致しない場合は TLS セッションを拒否します。この属性により、Directory Proxy Server は接続先の LDAP サーバーを認証します。この属性が設定されていない場合、Directory Proxy Server は、どのようなサブジェクト名でも受け付けます。