はじめに
このドキュメントでは、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)にインストールします。
- LDAPS証明書は、ドメインコントローラの個人証明書ストアにあります。
- 証明書に一致する秘密キーがドメインコントローラのストアにあり、証明書と正しく関連付けられています。
- 拡張キー使用法(EKU)拡張には、サーバ認証(1.3.6.1.5.5.7.3.1)オブジェクト識別子(OIDとも呼ばれる)が含まれています。
- ドメインコントローラーの完全修飾ドメイン名(FQDN) (DC1.testlab.comなど)は、次のいずれかの属性に含まれている必要があります: [件名]フィールドの共通名(CN)、[サブジェクト代替名拡張]のDNSエントリ。
- 証明書は、ドメインコントローラとLDAPSクライアントが信頼する認証局(CA)によって発行される必要があります。信頼できるセキュアな通信を行うには、クライアントとサーバは、互いのルートCAと、証明書を発行した中間CA証明書を信頼する必要があります。
- Schannel暗号化サービスプロバイダー(CSP)を使用してキーを生成する必要があります。
LDAPSディレクトリ構造へのアクセス
Active Directoryサーバ上のLDAPSディレクトリにアクセスするには、任意のLDAPブラウザを使用します。この実習では、Softerra LDAPブラウザ4.5を使用します。
1. TCPポート636でドメインへの接続を確立します。
2. 分かりやすくするために、ISE OUという名前の組織ユニット(OU)をADに作成します。この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:このフィールドは、ユーザアカウントのオブジェクトクラスに対応します。ここでは、次の4つのクラスのいずれかを使用できます。
- Top
- Person
- OrganizationalPerson
- InetOrgPerson
サブジェクト名属性:このフィールドは、要求のユーザ名を含む属性の名前です。この属性は、ISEがLDAPデータベースで特定のユーザ名を照会するとLDAPSから取得されます(cn、sAMAccountNameなどを使用できます)。このシナリオでは、エンドポイントのユーザ1のユーザ名が使用されます。
グループ名属性:これは、グループの名前を保持する属性です。LDAPディレクトリのGroup name属性値は、User groupsページのLDAPグループ名と一致している必要があります
グループオブジェクトクラス:この値は、グループとして認識されるオブジェクトを指定するために検索で使用されます。
グループマップ属性:この属性は、ユーザをグループにマップする方法を定義します。
Certificate Attribute:証明書定義を含む属性を入力します。これらの定義は、オプションで、証明書認証プロファイルの一部として定義されている場合にクライアントから提示される証明書の検証に使用できます。この場合、クライアント証明書とLDAPアイデンティティソースから取得した証明書の間でバイナリ比較が実行されます。
5. LDAPS接続を設定するために、Connectionタブに移動します。
6. ドメインコントローラでdsqueryを実行し、LDAPサーバへの接続に使用するユーザ名DNを取得します。
PS C:\Users\Administrator> dsquery user -name poongarg
「CN=poongarg,CN=Users,DC=testlab,DC=com」
ステップ 1:Sldapサーバの正しいIPアドレスまたはホスト名を設定し、LDAPSポート(TCP 636)とAdmin DNを定義して、SSL経由でLDAPに接続します。
ステップ 2:セキュア認証とサーバIDチェックオプションを有効にします。
ステップ 3:ドロップダウンメニューから、LDAPサーバルートCA証明書とISE管理証明書発行者CA証明書を選択します(同じLDAPサーバにインストールされた認証局を使用して、ISE管理証明書も発行しています)。
ステップ 4:サーバへのテストバインドを選択します。この時点では、検索ベースがまだ設定されていないため、サブジェクトまたはグループは取得されません。
7. Directory Organizationタブで、Subject/Group検索ベースを設定します。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. Dot1x認証を有効にし、EAP-TLS認証用のMicrosoft:スマートカードまたはその他の証明書として認証方式を選択します。
3. Additional Settingsをクリックすると、ウィンドウが開きます。次の図に示すように、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)のいずれかが示されていることを確認してください。
2. サーバーへのテストバインドがエラーで終了しました。
最も一般的な原因は、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(複数の単語で構成可能)で指定する必要があることに注意してください。
関連情報