内容

はじめに

前提条件

要件

使用するコンポーネント

設定

ネットワーク図

Active DirectoryでのLDAPSの設定

ドメインコントローラへのID証明書のインストール

LDAPSディレクトリ構造へのアクセス

ISEとLDAPSサーバの統合

スイッチの設定

エンドポイントの設定

ISEでのポリシーセットの設定

確認

トラブルシュート

関連情報

はじめに

このドキュメントでは、Cisco ISEとSecure LDAPSサーバを外部アイデンティティソースとして統合する方法について説明します。

前提条件

要件

次の項目に関する知識があることが推奨されます。

- Identity Service Engine(ISE)の管理に関する基礎知識

- Active Directory/Secure Lightweight Directory Access Protocol(LDAPS)の基礎知識

使用するコンポーネント

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。

- Cisco ISE 2.6パッチ7

- Active DirectoryライトウェイトディレクトリサービスがインストールされているMicrosoft Windowsバージョン2012 R2

- ネイティブサプリカントとユーザ証明書がインストールされたWindows 10 OS PC

- CiscoスイッチC3750X（152-2.E6イメージ搭載）

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな（デフォルト）設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。

背景説明

LDAPSを使用すると、ディレクトリバインドが確立されたときに、転送中のLDAPデータ（ユーザクレデンシャルを含む）を暗号化できます。LDAPSはTCPポート636を使用します。

LDAPSでは、次の認証プロトコルがサポートされています。

- EAP汎用トークンカード(EAP-GTC)

- Password Authentication Protocol（PAP; パスワード認証プロトコル）

- EAP Transport Layer Security(EAP-TLS)

- Protected EAP Transport Layer Security(PEAP-TLS)

注:EAP-MSCHAPV2（PEAP、EAP-FAST、またはEAP-TTLSの内部方式）、LEAP、CHAP、およびEAP-MD5は、LDAPS外部アイデンティティソースではサポートされません。

設定

このセクションでは、ネットワークデバイスの設定と、ISEとMicrosoft Active Directory(AD)LDAPSサーバの統合について説明します。

ネットワーク図

この設定例では、エンドポイントはスイッチとのイーサネット接続を使用して、ローカルエリアネットワーク(LAN)に接続します。接続されたスイッチポートは、ISEでユーザを認証するために802.1x認証用に設定されます。ISEでは、LDAPSは外部IDストアとして設定されます。

次の図に、使用するネットワーク トポロジを示します。

Active DirectoryでのLDAPSの設定

ドメインコントローラへのID証明書のインストール

LDAPSを有効にするには、次の要件を満たす証明書をドメインコントローラ(DC)にインストールします。

1. LDAPS証明書は、ドメインコントローラの個人証明書ストアにあります。

2. 証明書に一致する秘密キーがドメインコントローラのストアにあり、証明書に正しく関連付けられています。

3. 拡張キー使用法(EKU)拡張には、サーバ認証(1.3.6.1.5.5.7.3.1)オブジェクト識別子（OIDとも呼ばれる）が含まれています。

4. ドメインコントローラの完全修飾ドメイン名(FQDN) (DC1.testlab.comなど)は、次のいずれかの属性に含まれている必要があります： [件名]フィールドの共通名(CN)、[サブジェクトの別名]拡張のDNSエントリ。

5. 証明書は、ドメインコントローラとLDAPSクライアントが信頼する認証局(CA)によって発行される必要があります。信頼できるセキュアな通信を実現するには、クライアントとサーバは互いのルートCAと、証明書を発行した中間CA証明書を信頼する必要があります。

6. キーを生成するには、Schannel暗号化サービスプロバイダー(CSP)を使用する必要があります。

LDAPSディレクトリ構造へのアクセス

Active Directoryサーバ上のLDAPSディレクトリにアクセスするには、任意のLDAPブラウザを使用します。この実習では、Softerra LDAPブラウザ4.5を使用します。

1. TCPポート636でドメインへの接続を確立します。

2.分かりやすくするために、ADにISE OUという名前の組織単位(OU)を作成します。この組織単位には、UserGroupという名前のグループが必要です。2人のユーザ（user1とuser2）を作成し、グループUserGroupのメンバーにします。

注:ISEのLDAPアイデンティティソースは、ユーザ認証にのみ使用されます。

ISEとLDAPSサーバの統合

1.信頼できる証明書にLDAPサーバのルートCA証明書をインポートします。

2. ISE管理証明書を検証し、ISE管理証明書発行者証明書が信頼できる証明書ストアにも存在することを確認します。

3. LDAPSサーバを統合するには、LDAPSディレクトリのさまざまなLDAP属性を使用します。Administration > Identity Management > External Identity Sources > LDAP Identity Sources > Addの順に移動します。

4. 「一般」タブから次の属性を構成します。

Subject Objectclass：このフィールドは、ユーザアカウントのObjectクラスに対応しています。ここでは、次の4つのクラスのいずれかを使用できます。

- Top

- Person

- OrganizationalPerson

- InetOrgPerson

サブジェクト名属性：このフィールドは、要求のユーザ名を含む属性の名前です。この属性は、ISEがLDAPデータベースで特定のユーザ名を照会するときにLDAPSから取得されます（cn、sAMAccountNameなどを使用できます）。このシナリオでは、エンドポイントのuser1ユーザ名が使用されます。

グループ名属性：グループの名前を保持する属性です。LDAPディレクトリのGroup name属性値は、User groupsページのLDAPグループ名と一致している必要があります

Group Objectclass:この値は、グループとして認識されるオブジェクトを指定するために検索で使用されます。

グループマップ属性：この属性は、ユーザをグループにマップする方法を定義します。

Certificate Attribute:証明書定義を含む属性を入力します。これらの定義は、オプションで、証明書認証プロファイルの一部として定義されている場合にクライアントから提示される証明書を検証するために使用できます。この場合、クライアント証明書とLDAPアイデンティティソースから取得した証明書の間でバイナリ比較が実行されます。

5. LDAPS接続を設定するには、Connectionタブに移動します（図4の矢印Aを参照）。

6.ドメインコントローラでdsqueryを実行し、LDAPサーバへの接続に使用するユーザ名DNを取得します。

PS C:\Users\Administrator> dsquery user -name poongarg

「CN=poongarg,CN=Users,DC=testlab,DC=com」

ステップ 1：Sldapサーバの正しいIPアドレスまたはホスト名を設定し、LDAPポート(TCP 636)とAdmin DNを定義して、LDAP over SSLとの接続を確立します。

ステップ 2：Secure AuthenticationおよびServer Identity Checkオプションを有効にします。

ステップ 3：ドロップダウンメニューから、LDAPサーバルートCA証明書とISE管理証明書Isser CA証明書を選択します（ISE管理証明書を発行するために、同じLDAPサーバにインストールされた認証局を使用しています）。

ステップ 4：サーバへのテストバインドを選択します。この時点では、検索ベースがまだ設定されていないため、サブジェクトまたはグループは取得されません。

7. Directory Organizationタブで、Subject/Group Search Baseを設定します。これはISEからLDAPへの結合ポイントです。これで、結合ポイントの子であるサブジェクトとグループのみを取得できるようになりました。このシナリオでは、サブジェクトとグループの両方がOU=ISE OUから取得されます

8. [Groups]で[Add]をクリックして、ISE上のLDAPからグループをインポートし、グループを取得します（次の図を参照）。

スイッチの設定

スイッチを802.1x認証用に設定します。スイッチポートGig2/0/47にWindows PCが接続されている

aaa new-model

radius server ISE

address ipv4 x.x.x.x auth-port 1812 acct-port 1813

key xxxxxx

aaa group server radius ISE_SERVERS

server name ISE

!

aaa server radius dynamic-author

client x.x.x.x server-key xxxxxx

!

aaa authentication dot1x default group ISE_SERVERS local

aaa authorization network default group ISE_SERVERS

aaa accounting dot1x default start-stop group ISE_SERVERS

!

dot1x system-auth-control

ip device tracking

!

radius-server attribute 6 on-for-login-auth

radius-server attribute 8 include-in-access-req

!

!

interface GigabitEthernet2/0/47

switchport access vlan xx

switchport mode access

authentication port-control auto

dot1x pae authenticator

エンドポイントの設定

Windowsネイティブサプリカントが使用され、LDAPでサポートされるEAPプロトコルの1つであるEAP-TLSがユーザ認証と認可に使用されます。

1. PCにユーザー証明書（user1用）がプロビジョニングされていて、クライアント認証としての目的があり、信頼されたルート証明機関に発行者の証明書チェーンがPCに存在することを確認します。

2. EAP-TLS認証用にDot1x認証を有効にし、認証方法としてMicrosoft：スマートカードまたはその他の証明書を選択します。

3. 「追加設定」をクリックすると、ウィンドウが開きます。次の図に示すように、specify authentication modeのチェックボックスをオンにし、user authenticationを選択します。

ISEでのポリシーセットの設定

EAP-TLSプロトコルが使用されるため、ポリシーセットを設定する前に証明書認証プロファイルを設定する必要があり、認証ポリシーで後からアイデンティティソースシーケンス(ID)が使用されます。

アイデンティティソースシーケンスの証明書認証プロファイルを参照し、認証検索リストでLDAPS外部アイデンティティソースを定義します。

次に、有線Dot1x認証用のポリシーセットを設定します。

この設定後、LDAPSアイデンティティソースに対してEAP-TLSプロトコルを使用してエンドポイントを認証できます。

確認

1. PCに接続されているスイッチポートの認証セッションを確認します。

2. LDAPSとISEの設定を確認するために、サーバへのテスト接続を使用してサブジェクトとグループを取得できます。

3.ユーザ認証レポートを確認します。

4.エンドポイントの詳細な認証レポートを確認します。

5. LDAPSサーバに向けてISE上のパケットキャプチャを取得することにより、ISEとLDAPSサーバ間でデータが暗号化されていることを確認します。

トラブルシュート

このセクションでは、この設定で発生する一般的なエラーとそのトラブルシューティング方法について説明します。

- 認証レポートに、次のエラーメッセージが表示される場合があります。

Authentication method is not supported by any applicable identity store

このエラー メッセージは、選択した認証方式が LDAP でサポートされないことを意味します。同じレポート内に、認証プロトコル としてサポートされている方式（EAP-GTC、EAP-TLS、PEAP-TLS）のいずれかが示されていることを確認してください。

- サーバーへのテストバインドがエラーで終了しました。

最も一般的な原因は、LDAPSサーバの証明書検証チェックの失敗です。このような問題のトラブルシューティングを行うには、ISEでパケットキャプチャを取得し、3つのランタイムコンポーネントとprrt-jniコンポーネントをすべてデバッグレベルで有効にして、問題を再現し、prrt-server.logファイルを確認します。

パケットキャプチャは不正な証明書について苦情を言い、prrt-serverは次のように表示します。

04:10:20,197,ERROR,0x7f9c5b6f1700,LdapSslConnectionContext::checkCryptoResult(id = 1289): error message = SSL alert: code=0x22A=554 ; source=local ; type=fatal ; message="Server certificate identity verification failed: host IP didnt match SAN IP.s3_clnt.c:1290

注:LDAPページのホスト名は、証明書のサブジェクト名（またはサブジェクトの別名）を使用して設定する必要があります。したがって、サブジェクトまたはSANに証明書がない場合は機能せず、SANリストにIPアドレスを持つ証明書が必要です。

3.認証レポートで、サブジェクトがIDストアに見つからなかったことがわかりました。これは、レポートに示されているユーザ名と一致する [Subject Name] 属性を持つユーザが LDAP データベース内で見つからなかったことを意味します。このシナリオでは、この属性の値はsAMAccountNameに設定されています。これは、ISEが一致を見つけようとするときに、LDAPユーザのsAMAccountName値を参照することを意味します。

4.サーバーバインドのテスト中に、サブジェクトとグループを正しく取得できませんでした。この問題の原因として最も可能性が高いのは、検索ベースが誤って設定されていることです。LDAP 階層は、リーフからルートの方向および dc（複数の単語で構成可能）で指定する必要があることに注意してください。

関連情報

- https://www.cisco.com/c/en/us/support/docs/security/identity-services-engine/119149-configure-ise-00.html#anc9

- https://www.cisco.com/c/en/us/support/docs/security/identity-services-engine/214975-configure-eap-tls-authentication-with-is.html