Lightweight Directory Access Protocol(LDAP)は、TCP/IP および UDP 上で動作するディレクトリ サービスの問い合わせおよび変更のためのネットワーキング プロトコルです。LDAP は、x.500 ベースのディレクトリ サーバにアクセスするための軽量メカニズムです。RFC 2251 では LDAP を定義しています。
Access Control Server (ACS) 5.x は、LDAP プロトコルを使用して LDAP 外部データベース(ID ストアとも呼ばれる)と統合します。LDAPサーバに接続するには、プレーンテキスト(シンプル)接続とSSL(暗号化)接続の2つの方法があります。ACS 5.x は、この方法の両方を使用して LDAP サーバに接続するように設定できます。このドキュメントでは、暗号化接続を使用して LDAP サーバに接続するように ACS 5.x が設定されています。
このドキュメントでは、ACS 5.x が LDAP サーバに IP 接続し、ポート TCP 636 が空いていることが想定されています。
ポート TCP 636 でセキュア LDAP 接続を容認するように、Microsoft® Active Directory LDAP サーバを設定する必要があります。このドキュメントでは、Microsoft LDAP サーバにサーバ証明書を発行した認証局(CA)のルート証明書があることが想定されています。LDAP サーバの設定方法の詳細については、『サードパーティ認証局を使用して SSL で LDAP を有効にする方法』を参照してください。
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
Cisco Secure ACS 5.x
Microsoft Active Directory LDAP サーバ
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。
表記法の詳細については、『シスコ テクニカル ティップスの表記法』を参照してください。
ディレクトリ サービス
ディレクトリ サービスは、コンピュータ ネットワークのユーザおよびネットワーク リソースに関する情報を保存および編成するためのソフトウェア アプリケーション(アプリケーションのセット)です。ディレクトリ サービスを使用すると、これらのリソースへのユーザ アクセスを管理できます。
LDAP ディレクトリ サービスは、クライアント/サーバ モデルに基づきます。クライアントは、LDAP サーバに接続することで LDAP セッションを開始し、操作要求をサーバに送信します。サーバは、応答を送信します。1 台以上の LDAP サーバに、LDAP ディレクトリ ツリーまたは LDAP バックエンド データベースからのデータが含まれています。
ディレクトリ サービスは、ディレクトリを管理します。ディレクトリは、情報を保有するデータベースです。ディレクトリ サービスは、情報を保存するために分散モデルを使用します。その情報は、通常はディレクトリ サーバ間で複製されます。
LDAP ディレクトリは、単純なツリー階層で編成されており、数多くのサーバ間で分散できます。各サーバには、定期的に同期化されるディレクトリ全体の複製バージョンを配置できます。
ツリーのエントリには属性のセットが含まれており、各属性には名前(属性タイプまたは属性の説明)と 1 つ以上の値があります。属性はスキーマに定義されます。
各エントリには、識別名(DN)という一意の識別子があります。この名前には、エントリ内の属性で構成されている相対識別名(RDN)と、それに続く親エントリの DN が含まれています。DN は完全なファイル名、RDN はフォルダ内の相対ファイル名と考えることができます。
LDAP を使用した認証
ACS 5.x は、ディレクトリ サーバでバインド操作を実行し、プリンシパルを検索および認証することによって、LDAP ID ストアに対してプリンシパルを認証できます。認証が成功した場合、ACS はプリンシパルに所属するグループおよび属性を取得できます。取得する属性は、ACS Web インターフェイス(LDAP ページ)で設定できます。ACS は、これらのグループおよび属性を使用してプリンシパルを認可できます。
ユーザの認証または LDAP ID ストアの問い合わせを行うために、ACS は LDAP サーバに接続し、接続プールを保持します。
LDAP 接続管理
ACS 5.x では、複数の同時 LDAP 接続がサポートされています。接続は、最初の LDAP 認証時にオン デマンドで開かれます。最大接続数は、LDAP サーバごとに設定されます。事前に接続を開いておくと、認証時間が短縮されます。
同時バインディング接続に使用する最大接続数を設定できます。開かれる接続の数は、LDAP サーバ(プライマリまたはセカンダリ)ごとに異なる場合があり、サーバごとに設定される最大管理接続数によって決まります。
ACS は、ACS で設定されている LDAP サーバごとに、開いている LDAP 接続(バインド情報を含む)のリストを保持します。認証プロセス中に、Connection Manager は開いている接続をプールから検索しようとします。
開いている接続が存在しない場合、新しい接続が開かれます。LDAP サーバが接続を閉じた場合、Connection Manager はディレクトリを検索する最初のコールでエラーをレポートし、接続を更新しようとします。
認証プロセスが完了したあと、Connection Manager は Connection Manager への接続を解放します。詳細については、『ACS 5.X ユーザ ガイド』を参照してください。
このセクションでは、このドキュメントで説明する機能を設定するために必要な情報を提供しています。
Cisco Secure ACS 5.x にルート CA 証明書をインストールするには、次の手順を実行します。
注:ポートTCP 636で暗号化された接続を受け入れるようにLDAPサーバが事前設定されていることを確認します。Microsoft LDAP サーバの設定方法の詳細については、『サードパーティ認証局を使用して SSL で LDAP を有効にする方法』を参照してください。
Microsoft LDAP サーバにサーバ証明書を発行した CA のルート証明書を追加するには、[Users and Identity Stores] > [Certificate Authorities] を選択し、[Add] をクリックします。
証明書ファイルを検索するには、[Certificate File to Import] セクションで [Certificate File] の横にある [Browse] をクリックします。
必要な証明書ファイル(Microsoft LDAP サーバにサーバ証明書を発行した CA のルート証明書)を選択し、[Open] をクリックします。
[Description] の横にあるスペースに説明を入力し、[Submit] をクリックします。
次の図は、ルート証明書が適切にインストールされたことを示しています。
ACS 5.x をセキュア LDAP 用に設定するには、次の手順を実行します。
[Users and Identity Stores] > [External Identity Stores] > [LDAP] を選択し、新しい LDAP 接続を作成するために [Create] をクリックします。
[General] タブで、新しい LDAP の [Name] および [Description](オプション)を指定し、[Next] をクリックします。
[Server Connection] タブの [Primary Server] セクションで、[Hostname]、[Port]、[Admin DN]、[Password] を指定します。 [Use Secure Authentication] チェックボックスがオンになっていることを確認し、最近インストールしたルート CA 証明書を選択します。[Test Bind To Server] をクリックします。
注:セキュアLDAPのIANA割り当てポート番号はTCP 636です。ただし、LDAP サーバが使用しているポート番号を LDAP Admin から確認してください。
注:管理者DNとパスワードは、LDAP管理者から提供される必要があります。[Admin DN] は、LDAP サーバのすべての OU に関するすべての権限を読み取る必要があります。
次の図は、サーバへの接続テスト バインドが正常に実行されたことを示しています。
注:テストバインドが失敗した場合は、LDAP管理者からホスト名、ポート番号、管理者DN、パスワード、およびルートCAを再確認してください。
[Next] をクリックします。
[Directory Organization] タブの [Schema] セクションで、必要な詳細を指定します。LDAP Admin によって提供されるように、[Directory Structure] セクションで必要な情報を指定します。[Test Configuration] をクリックします。
次の図は、設定テストが正常に実行されたことを示しています。
注:設定テストが失敗した場合は、LDAP管理者からスキーマとディレクトリ構造で指定されているパラメータを再確認してください。
[Finish] をクリックします。
LDAP サーバが正常に作成されます。
ID ストアを設定するには、次の手順を実行します。
[Access Policies] > [Access Services] > [Service Selection Rules] を選択し、どのサーバが認証にセキュア LDAP サーバを使用するかを確認します。この例のサービスは Default Network Access です。
手順 1 でサービスを確認したら、特定のサービスに移動し、[Allowed Protocols] をクリックします。[Allow PAP/ASCII] が選択されていることを確認し、[Submit] をクリックします。
注:Allow PAP/ASCIIで他の認証プロトコルを選択することもできます。
手順 1 で確認したサービスをクリックし、[Identity] をクリックします。[Identity Source] の横にある [Select] をクリックします。
新しく作成したセキュア LDAP サーバ(この例では myLDAP)を選択し、[OK] をクリックします。
[Save Changes] をクリックします。
手順 1 で確認したサービスの [Authorization] セクションに移動し、認証を許可するルールが最低 1 つ存在することを確認します。
ACS は、バインド要求を送信して、LDAP サーバに対してユーザを認証します。バインド要求には、ユーザの DN およびユーザ パスワードがクリア テキストで含まれています。ユーザの DN およびパスワードが LDAP ディレクトリ内のユーザ名およびパスワードと一致した場合に、ユーザは認証されます。
認証エラー:ACS は認証エラーを ACS ログ ファイルに記録します。
初期化エラー:LDAP サーバのタイムアウト設定を使用して、LDAP サーバでの接続または認証が失敗したと判断する前に ACS が LDAP サーバからの応答を待つ秒数を設定します。LDAP サーバが初期化エラーを返す理由で考えられるのは、次のとおりです。
LDAP がサポートされていない
サーバがダウンしている
サーバがメモリ不足である
ユーザに特権がない
間違った管理者クレデンシャルが設定されている
バインド エラー:LDAP サーバがバインド(認証)エラーを返す理由で考えられるのは、次のとおりです。
フィルタリング エラー
フィルタリング条件を使用した検索の失敗
パラメータ エラー
無効なパラメータの入力
ユーザ アカウントが制限されている(無効、ロックアウト、期限切れ、パスワード期限切れなど)
外部リソース エラーとして次のエラーがロギングされ、LDAP サーバで考えられる問題が示されます。
接続エラーが発生した
タイムアウトが期限切れになった
サーバがダウンしている
サーバがメモリ不足である
このエラーは「Unknown User」エラーとしてログに記録されます。データベースにユーザが存在しません。
このエラーは「Invalid Password」エラーとしてログに記録されます。このエラーでは、ユーザは存在しますが、送信されたパスワードが無効です。無効なパスワードが入力されました。
改定 | 発行日 | コメント |
---|---|---|
1.0 |
12-Mar-2012 |
初版 |