![]() | |
Sun Java System Directory Proxy Server 5 2004Q2 管理ガイド |
第 1 章
Directory Proxy Server の概要この章では、Directory Proxy Server の概要について説明します。この章は、次の節から構成されています。
概要Directory Proxy Server は、電子商取引ソリューションで使用されるミッションクリティカルなディレクトリサービスの重要なコンポーネントです。Directory Proxy Server は、強化されたディレクトリアクセス制御、スキーマ互換性、およびアプリケーション層のロードバランスとフェイルオーバーによる高い可用性を提供する、LDAP アプリケーション層プロトコルゲートウェイです。
機能の面から見ると、Directory Proxy Server は LDAP クライアントと LDAP ディレクトリサービスの間に置かれる「LDAP アクセスルータ」です。LDAP クライアントからの要求を、Directory Proxy Server の設定に定義されている規則に基づいてフィルタリングし、LDAP ディレクトリサーバーに転送することができます。ディレクトリサーバーからの結果は、フィルタリングされ、クライアントに戻されます。この処理には、Directory Proxy Server の設定に定義されている規則が適用されます。このプロセスは、LDAP クライアントには完全に透過的です。LDAP クライアントは、通常の LDAP ディレクトリサーバーに接続するように Directory Proxy Server に接続します。
Directory Proxy Server は、高い可用性、セキュリティ、クライアント互換性機能を、エクストラネットとイントラネットの両方のディレクトリインフラストラクチャに提供するユニークな製品です。主な機能は次のとおりです。
Directory Proxy Server は新しいまたは既存の LDAP ディレクトリインフラストラクチャと共存し、その機能を補完します。また、企業のエクストラネットおよびイントラネットにすでに配備されているディレクトリ対応アプリケーションとシームレスに統合できます。このため、既存のディレクトリインフラストラクチャ投資を活用するように配備することができます。Directory Proxy Server は、あらゆる LDAP 互換ディレクトリサーバーと相互動作します。Directory Proxy Server は、LDAP に対応準拠する、ネイティブ LDAP ディレクトリ、LDAP 対応 X.500 ディレクトリ、または LDAP 対応リレーショナルデータベースなどすべてのディレクトリで使用できます。
Directory Proxy Server は LDAPv3 インターネット仕様を実装しますが、すでに配備され、LDAPv2 を使用するディレクトリ対応クライアントアプリケーションとの互換性を維持するために、機能が少なく、古い LDAPv2 仕様もサポートします。Directory Proxy Server は、UNIX プラットフォームで独立したシステムサーバープロセスとして実行されます。サーバーはマルチスレッド化され、数千の LDAP クライアント要求を処理すると同時に、各要求にアクセス制御規則とプロトコルフィルタリング規則を適用できます。
Directory Proxy Server は、組織が非公開ディレクトリ情報を未認証のアクセスから保護し、公開情報の安全なパブリッシングを行う上で役立ちます。Directory Proxy Server を使用することで、LDAP ディレクトリに対する詳細なアクセス制御ポリシーを設定できます。たとえば、ディレクトリ情報ツリー (DIT) の特定部分に対して特定の操作を実行できるユーザーを制御することができます。また、Web トローラやロボットが情報収集のためによく実行する特定種類の操作を許可しないように Directory Proxy Server を設定することもできます。
Web プロキシサーバーとは異なり、Directory Proxy Server は逆プロキシモードで動作します。ファイアウォール内のクライアントからは、インターネット上の任意のサーバーに対して順方向に接続しません。また、検索結果もキャッシュしません。その主な理由は、データにアクセス制御を適用する問題です。現時点では、この動作はアクセス制御が管理される LDAP ディレクトリサーバーだけで行われています。Directory Proxy Server は、ディレクトリサーバーのアクセス制御には一切関与しません。
Directory Proxy Server の機能セットDirectory Proxy Server の機能セットには、高い可用性、ロードバランス、フェイルオーバー、ファイアウォールのようなセキュリティ、クライアントとサーバーの互換性など、独特な機能が含まれます。
高い可用性
Directory Proxy Server は、レプリケートされている LDAP ディレクトリサーバー間で、自動的なロードバランスと、自動的なフェイルオーバーおよびフェイルバックを行うことで、配備したディレクトリの高い可用性を実現します。エクストラネット環境やイントラネット環境では多くの場合、ミッションクリティカルなディレクトリ対応クライアントとアプリケーションからディレクトリデータに、1 日 24 時間、週に 7 日アクセスできることが必要になります。Directory Proxy Server は、認識しているすべてのディレクトリサーバーの接続状態情報を維持し、設定されているディレクトリサーバー間で LDAP 処理の比例ロードバランスを動的に実行できます。1 つまたは複数のサーバーが使用不能になった場合、その負荷は残りのサーバーに比例配分されます。ディレクトリサーバーがオンライン状態に戻ると、負荷は動的かつ比例的に割り当て直されます。
たとえば、ディレクトリサーバー A が LDAP クライアントロードの 40%、サーバー B が 20%、サーバー C が 20%、サーバー D が 20% を受け持つように設定されていると仮定します。ディレクトリサーバー B が使用不能になると、Directory Proxy Server はサーバー A がサーバー C、D の 2 倍の負荷を受け持つように設定されていることを認識し、サーバー B が受け持つ 20% 分の負荷を比例配分し、A が 50%、C が 25%、D が 25% を受け持つように変更します。ディレクトリサーバー B が復帰すると、Directory Proxy Server はそれを検出し、4 つのサーバー全体で負荷を元の設定割合に戻します。
ネットワーク層 IP ロードバランスデバイスは、LDAP プロトコル層にアクセスできません。しかし、Directory Proxy Server はロードバランスをアクセス制御、クエリフィルタリング、クエリルーティングと統合し、アプリケーション層アクセス制御と LDAP ルーティングの決定をインテリジェントに行うことができます。
ロードバランス
「プロパティオブジェクトの定義と管理」で説明するロードバランスプロパティを使用して、Directory Proxy Server にロードバランスを設定する必要があります。Directory Proxy Server が通信できるバックエンドディレクトリサーバーには、合計クライアントロードの何パーセントを受け持つかがそれぞれに設定されます。Directory Proxy Server は、この設定に定義されている負荷条件に合わせて、各バックエンドサーバーにクライアントクエリを自動的に配分します。サーバーが使用不能になると、Directory Proxy Server はこのサーバーの受け持ち負荷を、残りのサーバーのそれぞれの受け持ち負荷の割合に基づいて再配分します。すべてのバックエンド LDAP サーバーが使用不能になると、Directory Proxy Server はクライアントからのクエリを拒否するようになります。
Directory Proxy Server のロードバランスはセッションベースで行われます。つまり、クライアントからのクエリを担当させるサーバーを選択する決定機能は、クライアントセッションごとに、特にクライアントセッションの開始時に適用されます。そのセッションの以後のすべてのクライアントクエリは、セッションの開始時に選択されたサーバーに向けられます。
Directory Proxy Server がロードバランスを行えるバックエンド LDAP サーバーの数は、いくつかの条件によって変わります。この条件には、Directory Proxy Server が稼動するホストのサイズ、利用できるネットワーク帯域幅、Directory Proxy Server が受信するクエリミックス、クライアントセッションの時間的な長さ、Directory Proxy Server の設定が含まれます。一般に、ほとんどのセッションの存続時間が短く、クエリがコンピュータ集約型である場合は、Directory Proxy Server がサポートできるサーバーの数は少なくなります。コンピュータ集約型のクエリは、「属性名変更プロパティ」で説明する属性名変更機能が使用される場合のように、メッセージ全体の検査を必要とします。
Directory Proxy Server は監視プロセスを使用して、バックエンドサーバーを診断します。対象には、SSL を通じてだけ通信するバックエンドサーバーも含まれます。ロードバランスを使用する場合は、この機能は自動的に有効になります。Directory Proxy Server は、それぞれのバックエンドディレクトリサーバーに対して 10 秒おきに Root DSE の匿名検索を実行します。いずれかが使用不能になったり、応答を返さない場合、サーバーセットのロードバランスのために Directory Proxy Server はそのサーバーをセットから外します。使用可能な状態に戻ると、このサーバーはセットに戻されます。
フェイルオーバー
サーバーが使用不能になったことを Directory Proxy Server が検出するのは、接続試行時に接続拒否が返された場合と、タイムアウトが生じた場合です。どちらもセッションの初期段階で発生し、そのセッションのための処理はまだ行われていないため、Directory Proxy Server は透過的に使用可能な別のサーバーがあれば、そのサーバーにフェイルオーバーします。接続試行時にタイムアウトが生じた場合は、クライアントは応答の取得まで長く待たされる可能性があります。Directory Proxy Server とバックエンドサーバーとの間の接続が急に失われた場合、Directory Proxy Server は進行中のすべての処理について、影響を受けるクライアントに LDAP_BUSY エラーを返します。続いて、Directory Proxy Server はそのクライアントセッションを別のディレクトリサーバーにフェイルオーバーします。
Directory Proxy Server がディレクトリ配備のシングルポイント障害となることがないように、少なくとも 2 つの Directory Proxy Server を使用し、その前段に IP 関連装置を構成することをお勧めします。
セキュリティ
Directory Proxy Server には柔軟な外部ディレクトリアクセス制御機能が用意されており、ディレクトリサーバーによる基本的なアクセス制御を強化することができます。アクセス制御メカニズムでは、特定のユーザーやユーザーコミュニティに特定のアクセスグループを関連付けることができ、このアクセスグループには、管理者が定義したセキュリティ制限とクエリフィルタが適用されます。管理者は、LDAP 認証情報、IP アドレス、ドメイン名などの条件に基づいてエントリへのアクセスを制御できます。
Directory Proxy Server が提供する重要なセキュリティ機能に、LDAP クライアントと LDAP ディレクトリサーバーの間で確立されている接続の数による保護があります。並行して実行されているクライアント処理の数、1 回の接続でクライアントが要求できる処理の数、特定のクライアントグループの接続数など、数多くの指標を監視するように Directory Proxy Server を設定することで、LDAP ディレクトリサーバーを接続攻撃から保護することができます。また、無効になったクライアントをタイムアウトにすることもできます。
Directory Proxy Server では、特定の指標にしきい値を設定することもできます。Directory Proxy Server はこれらの指標を監視し、その値がしきい値を超えていないことを確認します。Directory Proxy Server は、ディレクトリのトローリングやサービス拒否攻撃の可能性を制限するために、特定のホストから開かれている接続の数、特定のセッションで実行された処理の数などのいくつかの指標を維持します。これらのパラメータの設定については、「システム設定インスタンスの作成」を参照してください。
Directory Proxy Server は、(cn=A*) や (cn>A) などの特定種類の汎用フィルタを禁止することによってもトローリングを制限しています。フィルタのフィルタリングを設定する方法については、「グループの作成と管理」を参照してください。
Directory Proxy Server では、認証されたクライアントはディレクトリサービスへのアクセス制御を変更できます。これにより、認証されたクライアントがセキュリティ保護されたネットワークの外にある場合でも、ディレクトリ情報に対して強力なアクセス権を持つことができます。
Directory Proxy Server は、SSL (Secure Socket Layer) 転送プロトコルによるデータの保護に対応しています。たとえば、保護されたネットワークの外からディレクトリサービスにアクセスするすべてのクライアントに対して、SSL セッションの確立を要求するように Directory Proxy Server を設定することができます。SSL の設定については、「セキュリティの設定」の「Directory Proxy Server」を参照してください。
これらの機能は、近年一般化してきた「サービス拒否攻撃」や「洪水攻撃」の防止に役立ちます。Directory Proxy Server は、しきい値の超過を検出すると、ディレクトリサーバーへの接続を拒否するようになり、ディレクトリサーバーを攻撃や過大な集中アクセスから保護します。
クライアントとサーバーの互換性
Directory Proxy Server は、LDAP 識別名 (DN) とグループアクセス権 (認証の証明情報に基づくモバイルユーザーの識別を含む) に基づいてクエリのルーティングを決定します。Directory Proxy Server は、ディレクトリサービスの高度な分散とスケーラビリティをサポートするために、LDAP リフェラルを自動的に実行します。このリフェラルには、ディレクトリサーバーから返されたリフェラルも含まれます。リフェラルの自動実行は、ディレクトリサーバーのセットにディレクトリ情報を物理的に分散させる必要があり、その分散されたディレクトリがユーザーからは 1 つの論理ディレクトリに見えるような大規模なディレクトリ配備で大きな利点となります。Directory Proxy Server は、分散されたディレクトリデータを論理的に統合する機能を提供することで、このような配備例に対応し、これによってスケーラブルな分散ディレクトリサービスをサポートします。
Directory Proxy Server は、LDAPv2 または LDAPv3 に準拠するあらゆるクライアントアプリケーションをサポートします。これは、スキーマの書き替えにより、ディレクトリサーバーのスキーマと常に一致するとは限らない固定スキーマを持つクライアントアプリケーションに対応することで実現されています。たとえば、Microsoft OutlookTM 電子メールクライアントには、Microsoft が定義した属性がディレクトリサーバーに実装されることを前提とした固定スキーマがあり、これは、企業のより一般的なスキーマ要件と一致しない可能性があります。スキーマ書き替え機能により、ディレクトリシステムの管理者は企業の汎用スキーマを実装し、そのスキーマの特定の要素を、機能が限定されているクライアントアプリケーションで必要とされる属性タイプのセットにダイナミックにマッピングすることができます。それ以外の面では、Directory Proxy Server はスキーマを重用しません。多くの標準で定義されているあらゆる属性タイプやオブジェクトクラスだけでなく、RFC1274、X.520、X.521、LIPS、PKIX、inetOrgPerson、DEN など、業界で提唱されている特別なスキーマ定義の属性タイプとオブジェクトクラスも受け付けます。