はじめに
このドキュメントでは、Cisco LDAPサーバと統合するためにCisco Identity Services Engine(ISE)を設定する方法について説明します。
前提条件
要件
このドキュメントに関する固有の要件はありません。
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
- パッチ 2 が適用された Cisco ISE バージョン 1.3
- OpenLDAP がインストールされた Microsoft Windows 7 x64
- Cisco Wireless LAN Controller(WLC)バージョン 8.0.100.0
- Microsoft Windows 向け Cisco AnyConnect バージョン 3.1
- Cisco Network Access Manager プロファイル エディタ
注:このドキュメントは、ISE認証および認可の外部アイデンティティソースとしてLDAPを使用する設定に有効です。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
LDAP では、次の認証方式がサポートされます。
- 拡張認証プロトコル – 汎用トークンカード(EAP-GTC)
- Extensible Authentication Protocol - Transport Layer Security(EAP-TLS)
- Protected Extensible Authentication Protocol - Transport Layer Security(PEAP-TLS)
設定
ここでは、ネットワーク デバイスを設定して ISE に LDAP サーバを統合する方法を説明します。
ネットワーク図
この設定例では、エンドポイントでワイヤレス アダプタを使用してワイヤレス ネットワークに関連付けます。
WLC 上のワイヤレス LAN(WLAN)は、ISE を介してユーザを認証するように設定します。ISE では、LDAP を外部 ID ストアとして設定します。
次の図に、使用するネットワーク トポロジを示します。
OpenLDAP の設定
OpenLDAP for Microsoft Windows は、GUI を使用して簡単にインストールできます。デフォルトの場所はC: > OpenLDAPです。インストールが完了すると、このデレクトリは次のように表示されます。
次の 2 つのディレクトリに注目してください。
- ClientTools:このディレクトリには、LDAPデータベースを編集するために使用されるバイナリのセットが含まれます。
- ldifdata:これは、LDAPオブジェクトとともにファイルを保存する場所です。
次に示す構造を LDAP データベースに追加してください。
ルート ディレクトリの下に、2 つの組織単位(OU)を設定する必要があります。OU=groups OU には 1 つの子グループを持たせます(この例では cn=domainusers)。
OU=people OU は、cn=domainusers グループに属する 2 つのユーザ アカウントを定義します。
データベースにデータを取り込むには、最初に ldif ファイルを作成する必要があります。前述の構造は、次のファイルを基に作成されたものです。
dn: ou=groups,dc=maxcrc,dc=com
changetype: add
ou: groups
description: All groups in organisation
objectclass: organizationalunit
dn: ou=people,dc=maxcrc,dc=com
changetype: add
ou: people
description: All people in organisation
objectclass: organizationalunit
dn: uid=john.doe,ou=people,dc=maxcrc,dc=com
changetype: add
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
uid: john.doe
givenName: John
sn: Doe
cn: John Doe
mail: john.doe@example.com
userPassword: password
dn: uid=jan.kowalski,ou=people,dc=maxcrc,dc=com
changetype: add
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
uid: jan.kowalski
givenName: Jan
sn: Kowalski
cn: Jan Kowalski
mail: jan.kowalski@example.com
userPassword: password
dn: cn=domainusers,ou=groups,dc=maxcrc,dc=com
changetype: add
objectClass: top
objectClass: posixGroup
gidNumber: 678
memberUid: uid=john.doe,ou=people,dc=maxcrc,dc=com
memberUid: uid=jan.kowalski,ou=people,dc=maxcrc,dc=com
LDAPデータベースにオブジェクトを追加するには、ldapmodifyバイナリを使用します。
C:\OpenLDAP\ClientTools>ldapmodify.exe -a -x -h localhost -p 389 -D "cn=Manager,
dc=maxcrc,dc=com" -w secret -f C:\OpenLDAP\ldifdata\test.ldif
ldap_connect_to_host: TCP localhost:389
ldap_new_socket: 496
ldap_prepare_socket: 496
ldap_connect_to_host: Trying ::1 389
ldap_pvt_connect: fd: 496 tm: -1 async: 0
attempting to connect:
connect success
adding new entry "ou=groups,dc=maxcrc,dc=com"
adding new entry "ou=people,dc=maxcrc,dc=com"
adding new entry "uid=john.doe,ou=people,dc=maxcrc,dc=com"
adding new entry "uid=jan.kowalski,ou=people,dc=maxcrc,dc=com"
adding new entry "cn=domainusers,ou=groups,dc=maxcrc,dc=com"
OpenLDAP と ISE の統合
ISE に LDAP を外部 ID ストアとして設定するには、この項全体を通して記載する図を参考にしてください。
[General] タブで次の属性を設定します。:
- Subject Objectclass:このフィールドは、ldifファイル内のユーザアカウントのオブジェクトクラスに対応します。LDAP設定に従います。次の4つのクラスのいずれかを使用します。
- Top
- Person
- OrganizationalPerson
- InetOrgPerson
- サブジェクト名属性:これは、ISEが特定のユーザ名がデータベースに含まれているかどうかを問い合わせたときにLDAPによって取得される属性です。このシナリオでは、エンドポイントのユーザ名としてjohn.doeまたはjan.kowalskiを使用する必要があります。
- Group Objectclass:このフィールドは、ldifファイル内のグループのオブジェクトクラスに対応します。このシナリオでは、cn=domainusers グループのオブジェクト クラスは posixGroup です。
- グループマップ属性:この属性は、ユーザをグループにマッピングする方法を定義します。ldif ファイル内の cn=domainusers グループの下に、ユーザに対応する 2 つの memberUid 属性があります。
ISE には、事前設定されたスキーマ(Microsoft Active Directory、Sun、Novell)も用意されています。
正しい IP アドレスと管理ドメイン設定した後、サーバとのバインディングのテスト を実行できます。この時点では、検索ベースがまだ設定されていないため、サブジェクトまたはグループは取得されません。
次のタブで、件名/グループ検索ベースを設定します。これが、ISE と LDAP の結合ポイントになります。取得できるサブジェクトとグループは、統合ポイントの子となっているものだけです。
このシナリオでは、サブジェクトは OU=people からを取得され、グループは OU=groups から取得されます。
[Groups] タブで、LDAP から ISE にグループをインポートできます。、
WLC の設定
以下の図を参考に、802.1x 認証に対応するよう WLC を設定してください。
EAP-GTC の設定
EAP-GTC は、LDAP でサポートされる認証方式の 1 つです。Cisco AnyConnect ではこの認証方式を使用できますが、それには Network Access Manager プロファイル エディタをインストールして、プロファイルを正しく設定する必要があります。
Network Access Managerの設定も編集する必要があります(デフォルト)。この設定は次の場所にあります。
C: > ProgramData > Cisco > Cisco AnyConnect Secure Mobility Client > Network Access Manager > system > configuration.xmlファイル
以下の図を参考に、エンドポイントに EAP-GTC を設定してください。
以下の図を参考に、ISE の認証および承認ポリシーを変更してください。
以上の設定を適用すると、ネットワークに接続できるようになっているはずです。
確認
LDAPとISEの設定を確認するには、サーバへのテスト接続を使用してサブジェクトとグループを取得します。
以下の図に、ISE からのレポート例を示します。
トラブルシュート
ここでは、この設定で発生する一般的なエラーと、そのトラブルシューティング方法を説明します。
同じレポート内に、認証プロトコル としてサポートされている方式(EAP-GTC、EAP-TLS、PEAP-TLS)のいずれかが示されていることを確認してください。
- 認証レポートで、サブジェクトがIDストアで見つからなかった場合、レポートからのユーザ名が、LDAPデータベース内のどのユーザのサブジェクト名属性とも一致しません。
このシナリオでは、この属性の値が uid に設定されているため、ISE は一致を見つけようとするときに、LDAP ユーザの uid 値を調べます。
- サーバへのバインドテスト中にサブジェクトとグループが正しく取得されなかった場合、検索ベースの設定が正しくありません。
LDAP 階層は、リーフからルートの方向および dc(複数の単語で構成可能)で指定する必要があることに注意してください。
ヒント:WLC側でEAP認証のトラブルシューティングを行うには、シスコのドキュメント『WLANコントローラ(WLC)でのEAP認証の設定例』を参照してください。