Sun Directory Services により、広域のディレクトリサービスとネームサービスが利用できるようになります。この製品には次のものが含まれます。
Lightweight Directory Access Protocol (LDAP) サーバー。これは LDAP v3 インターネット標準に準拠しています。
LDAP 複製サービス
ネットワーク情報サービス (NIS) サーバー。既存の NIS 環境に統合して使用する統合ネームサービスです。
Remote Access Dialup User Service (RADIUS) サーバー。Network Access Server (NAS) を介してネットワークに接続されたリモートユーザーの認証と、アカウンティングサービスを行います。
管理コンソール。ローカルとリモートの構成と管理を行います。
Deja と呼ぶ Java ディレクトリエディタ。ディレクトリ情報の保守に使います。
どの Web ブラウザからでもディレクトリにアクセスできる Web ゲートウェイ
データインポートとデータエクスポートのユーティリティを含む一連の管理コマンド
管理アプリケーションによる監視に使用する SNMP エージェント
さらに、Sun Directory Services には、次のセキュリティ機能があります。
SSL を使用したクライアントとサーバー間の通信の暗号化 (オプション)
SASL プロトコルによるバインドの強力な認証
RADIUS トランザクションにおけるパスワードの暗号化
この章では、Sun Directory Services のアーキテクチャの概要と製品の構成要素を説明します。さらに、Sun Directory Services のセキュリティ機能の概要についても説明します。
Sun Directory Services では、いくつかのプロトコルを使ってディレクトリ情報にアクセスできます。
LDAP。メッセージ処理、ディレクトリ、または管理用アプリケーションで使用します。
RADIUS。認証アプリケーションで使用します。
NIS。NIS ネーミングサービスを使用するすべてのアプリケーションで使用します。
HTTP。Web ブラウザからアクセスするときに使用します。
さらに、Sun Directory Services には、Java に対応する Web ブラウザでアプレットとして動作するか、アプリケーションとして実行できる次の Java ツールが含まれています。
ローカルやリモートの構成と管理を行う管理コンソール
ディレクトリデータベースの更新に使う Deja ツール
図 2-1 で破線のボックスで囲んだ項目は Sun Directory Services 製品には含まれません。これらは、ディレクトリに格納されている情報を使用する可能性のあるアプリケーションの種類を示しています
この節では、Sun Directory Services の構成要素を簡単に説明します。必要に応じて構成要素の詳しい説明が記載されているページを示します。
Lightweight Directory Access Protocol (LDAP) は Directory Access Protocol の簡易版で、X.500 標準に定義されています。特に TCP/IP ネットワークに適しています。
Sun Directory Services 3.1 には、『RFC 2251 Lightweight Directory Access Protocol (v3)』が実装されています。この LDAP v3 標準は LDAP v2 に比べ次の点が拡張されています。
強化されたセキュリティ
使い勝手のよい照会機構
複数言語による属性のサポート
スキーマの検索。「現在のスキーマの表示」を参照してください。
サーバーの特性を照会できる。「サーバー特性の表示」を参照してください。
LDAP サーバーの機能は dsservd デーモンにより実行されます。dsservd デーモンは、ディレクトリ情報が入っているデータベースファイルにアクセスし、LDAP プロトコルを使ってディレクトリクライアントと通信する構成要素です。
Sun Directory Services の複製サービスを使えば、ディレクトリサービスにおける複製の方針を設定できます。複製機能を使用すると、クライアント要求の負荷をいくつかのサーバー間で共有し、ネットワークトラフィックをローカルに限定することで全体的な通信コストを減らすことができます。
複製は、ディレクトリ情報ツリーのサブツリー、特定のエントリ、または属性のサブセットに適用できます。
Sun Directory Services には、dspushd と dspulld という 2 つの複製デーモンがあります。dspushd デーモンは更新をマスターサーバーからスレーブサーバーに配信し、dspulld デーモンは更新をマスターから受信します。dspushd デーモンの場合はマスターサーバーが複製スケジュールを管理し、dspulld デーモンの場合はスレーブが複製スケジュールを管理します。両方のデーモンとも通信プロトコルとして LDAP を使用します。
さらに、Sun Directory Services には、NIS サーバーに対応する NIS 複製プロセスがあります。
ネットワーク情報サービス (NIS) は、ネットワーク内のユーザーやリソースを識別したり、その位置を確認したりするためのネーミングサービスです。
Sun Directory Services の NIS サーバーでは、従来の NIS ネーミングサービスが持ついくつかの制限が除かれています。
従来の NIS サーバーは、更新だけでなくテーブル全体を伝播していた。
従来の NIS サーバーでは、非常に大きなテーブル、たとえば 50,000 から 60,000 エントリからなるテーブルは処理できなかった。
Sun Directory Services の NIS サーバー構成要素は、既存の NIS サーバーを置き換えることで既存の NIS ネットワークに容易に統合できます。そのためには、NIS サーバーの NIS テーブルに格納されている情報を LDAP ディレクトリデータベースに移動する必要があります。そうすることで、ユーザーとホストの情報をいくつかのデータベースに重複して持たなくてすみます。
NIS テーブルのすべての情報は、LDAP のオブジェクトクラスと属性にマップされます。このマッピングは、特定の環境に合わせて構成できます。
Sun Directory Services の NIS サーバー機能は dsservd デーモンにより実行されます。この構成要素は、ユーザーアプリケーションからの NIS 要求に応答します。たとえば rlogin の際、この構成要素はホスト名をリモートマシンの IP アドレスに変換します。
標準の NIS 環境と同じように、ユーザーは passwd コマンドでパスワードを変更できます。
dsservd デーモンは NIS マスターまたは NIS スレーブとして動作します。マスターの場合は、NIS テーブルをスレーブ NIS サーバーに伝播します。スレーブの場合は、NIS サーバーからの伝播要求を受け取ります。
LDAP/NIS サーバーと従来の NIS サーバーとの間の複製は、dsypxfrd デーモンを使って行います。NIS 複製が Sun Directory Services でどのように行われるかについては、「NIS テーブルの伝達」を参照してください。
Sun Directory Services を既存の NIS ネットワークに統合する方法と NIS から LDAP への情報のマッピングについては、第 6 章「ディレクトリを NIS サーバーとして使用する」で説明します。
RAIDUS サーバー構成要素は、ユーザーの認証とアカウンティングのサービスを行います。Remote Access Dialup User Service (RADIUS) は、Network Access Services (NAS) が、ネットワークに接続するリモートユーザーの認証を行うときに使用するプロトコルです。アクセス要求で NAS に与えられる情報が、ディレクトリに格納されている情報と比較されます。
市販されているすべての NAS デバイスは、Sun Directory Services の RADIUS サーバーを使ってリモートユーザーを認証するように構成できます。
RADIUS サーバー機能は dsradiusd デーモンにより実行されます。RADIUS アーキテクチャの詳細は、第 7 章「RADIUS サーバーの使用方法」で説明します。
管理コンソールは、Sun Directory Services の構成、保守、または監視を行うための Java ツールです。管理コンソール は、Sun Directory Services がインストールされているマシンに HTTP サーバーがあれば、そのマシンがネットワークのどこにあっても、そこから使用できます。HTTP サーバーがない場合は、http://www.sun.com/webserver から Sun WebServerTM を無料でダウンロードできます。
Web サーバーとディレクトリサーバーが連結されていない場合は、ブラウザで HTML ファイルを指定すると管理コンソールを表示できます。あるいは、管理コンソールのアプリケーション版を使用できます。
詳細は、「管理コンソールの表示」を参照してください。
dsserv.conf には、主要な構成情報が入ります。
dsserv.oc.conf には、スキーマのうちオブジェクトクラス定義の部分が入ります。
dsserv.at.conf には、スキーマのうち属性定義の部分が入ります。
dsserv.acl.conf には、アクセス制御の構成情報が入ります。
/opt/SUNWconn/ldap/default には、ソフトウェアのインストール時に定義されたデフォルトの構成が入ります。デフォルト構成に戻るには、「管理コンソール」の「サーバー」メニューから「構成を復元...」を選択します。
ディレクトリサーバーのデーモン dsservd を起動すると、現在の構成が読み込まれます。dsservd の動作中に構成を変更した場合には、管理コンソールの「状態」部分にある「再起動」ボタンをクリックするか、dsservd を再起動しないと、その構成は読み込まれません。
構成に変更を加えると、現在のディレクトリにあるすべてのファイルが前のディレクトリにコピーされます。これらのファイルは一度しかコピーされません。つまり、変更のたびにコピーされるわけではありません。したがって、そのコピーは、何らかの変更を行う前に有効だった構成のものです。
「適用」をクリックすると、そのたびに管理コンソールが変更を現在のディレクトリの構成ファイルに保存します。ブラウザのメインウィンドウにいる場合は、「適用」をクリックすると、デーモンの停止と再起動を要求されます。しかし、サブウィンドウにいる場合は、「適用」をクリックしたら、変更を有効にするにはデーモンの停止と再起動が必要です。
管理コンソールの「状態」部分には、サービスの構成がいつ変更されたかを示すメッセージが表示されます。これは、そのサービスを再起動か再表示しないと、変更が有効にならないことを示します。
Deja は、ディレクトリ内容の変更や表示を行うためのツールです。ユーザーが持つ検索、読み込み、または書き込みのアクセス権はログインするときに決定されます。Deja は、HotJavaTM ブラウザで表示するアプレットまたはアプリケーションとしてローカルで実行できます。
Deja とその使い方については、『Sun Directory Services 3.1 ユーザーズガイド』を参照してください。
Sun Directory Services のデータベースは、ディレクトリのアクセスに最適化された固有の Berkeley Btree データベースです。最高 100 万エントリを収容できます。
データベース情報の管理やディスク容量の再利用を行うためのコマンド行ユーティリティがいくつか提供されます。これらのユーティリティについては、「データの管理」を参照してください。
Web ゲートウェイは、エンドユーザーがどの Web ブラウザからでも LDAP ディレクトリにアクセスできるようにするためのインタフェースです。このインタフェースを使うと、ディレクトリのブラウズや、エントリの検索と読み込み、または一部のディレクトリ情報の変更ができます。
Web ゲートウェイは HTTP サーバーとして動作します。Web ゲートウェイは、LDAP ディレクトリサーバー dsservd と同じマシン上になければなりません。Web ゲートウェイは、構成可能なテンプレートを使ってディレクトリ情報をユーザーに表示します。
Web ゲートウェイのデーモンは dswebd です。Web ゲートウェイの起動、停止、または構成方法については、第 10 章「ディレクトリサービスの管理」を参照してください。Web ゲートウェイの使い方については、『Sun Directory Services 3.1 ユーザーズガイド』を参照してください。
Sun Directory Services には、ディレクトリサービスソフトウェアとディレクトリ内容の管理 (監視など) を行うためのツールと統計のためのツールがすべて備わっています。これらのコマンドで実行できる作業については、「データの管理」と 「ディレクトリの保守」を参照してください。
汎用のデータロードユーティリティ dsimport も提供されています。このユーティリティでは、構成可能なマッピング機構を使って、NIS テーブルなどのテキストデータベースを LDAP オブジェクトに変換できます。dsimport の詳細は、第 5 章「ディレクトリ情報の読み込みと保守」を参照してください。
dsexport ユーティリティでは、同様にディレクトリ情報ベースの内容をファイルにエクスポートすることによって、そのバックアップをとることができます。
Sun Directory Services には 2 つの SNMP エージェントがあります。
Mail And Directory MANagement (MADMAN) 標準 (RFC 1565 Network Services Monitoring MIB および RFC 1567 X.500 Directory Monitoring MIB) をサポートする dsnmpserv と呼ばれる SNMP エージェント
draft-ietf-radius-acc-servmib-01.txt に記述された RADIUS Accounting Server Management Information Base (MIB) および draft-ietf-radius-auth-servmib-01.txt に記述された RADIUS Authentication Server MIB をサポートする dsnmprad と呼ばれる SNMP エージェント
SNMP エージェントから得られる管理統計情報のリストについては、「SNMP によるディレクトリサービスの監視」を参照してください。
Sun Directory Services では、LDAP サーバーによるセキュリティプロトコルと、パスワード暗号化機構が提供されます。しかし、管理コンソールをリモートから使う場合には、クライアントマシンとサーバーマシンの通信は暗号化されません。この場合、ログイン手順による認証だけが行われます。
LDAP サーバーでは、次のセキュリティプロトコルがサポートされます。
Simple Authentication Security Layer (SASL)
Secure Socket Layer (SSL)
これらのセキュリティ機能はオプションです。デフォルトでは、クライアントは、「セキュリティ保護なし」モードのシンプルバインドでディレクトリにバインドします。
SASL は、バインドプロセスにおいて、トークンの交換によって厳格な認証を行うときに使用します。Sun Directory Services は、CRAM MD5 認証機構をサポートします。さらに、Sun Directory Services は、SSL ライブラリがサーバーにインストールされ、サーバーが TLS セキュリティをサポートするように構成されていれば、EXTERNAL 機構をサポートします。
SSL プロトコルは、ディレクトリサーバーとディレクトリクライアントの間でセキュリティ保護された接続を行うときに使用します。
Sun Directory Services では、SSL は次の 2 つのモードで動作します。
Transport Layer Security (TLS)
特定ポートでの SSL
「特定ポートでの SSL」モードでは、専用のポート (デフォルトでは、ポート 636) が使われます。TLS セキュリティモードでは、LDAP セッションの間であればいつでも「Start TLS」拡張操作を使って、セキュリティ保護された接続を開くことができます「Start TLS」操作では、クライアントは次のバインドを行うことができます。
シンプルバインド
CRAM-MD5 による SASL で保護されたバインド
実際の SSL 接続の認証による SASL で保護されたバインド
TLS モードでも「特定ポートでの SSL」モードでも、サーバーを認証するために SSL キーが必要です。このキーは、ホストマシンの IP アドレスを使って指定されます。さらに、どちらのモードでも、クライアントの認証を行うようにサーバーを構成できます。
SSL セキュリティを使用するには、Sun Directory Services がインストールされているサーバーに SSL ライブラリと SKI (Sun Certificate Manager) ライブラリがなければなりません。前提条件の詳細は、『Sun Directory Services 3.1 ご使用にあたって』を参照してください。
国によっては法的な制約のために SSL は使用できません。
Sun Directory Services の RADIUS サーバーは、RADIUS プロトコルをサポートする『RFC 2138 Remote Authentication Dial In User Service』に完全に準拠しています。RADIUS プロトコルでは、Network Access Server (NAS) と RADIUS サーバーの間で渡されるパスワードは暗号化されます。暗号化機構は、共有秘密鍵を持つ MD5 XORing です。
ディレクトリエントリには、ディレクトリに対するユーザーの認証に使用するユーザーパスワード属性を持つことができます。デフォルトでは、このような属性の値は保護された形式で格納されます。これは、サーバー構成ファイルにキーワード {sunds} で指定されます。この暗号化アルゴリズムでは、CRAM-MD5 認証機構を使用できます。
さらに、ユーザーパスワードを crypt(3) 暗号化アルゴリズムで暗号化できます。このアルゴリズムは、通常 /etc/passwd ファイルに格納されたパスワードに適用されます。このアルゴリズムは、CRAM-MD5 認証機構では使用できません。この暗号化方式は、サーバー構成ファイルにキーワード {crypt} で指定されます。
パスワードを暗号化形式で格納するかどうかを指定する方法の詳細は、「セキュリティの構成」を参照してください。