内容

はじめに

前提条件

要件

使用するコンポーネント

ネットワーク図

背景説明

コンフィギュレーション

C1000での設定

Windows PCでの設定

ステップ 1：ユーザ認証の設定

ステップ 2：クライアント証明書の確認

Windows Serverでの設定

ステップ 1：ユーザの追加

ステップ 2：OCSPサービスの確認

ISEでの設定

ステップ 1：デバイスの追加

ステップ 2：Active Directoryの追加

ステップ 3：証明書認証プロファイルの追加

ステップ 4：アイデンティティソースシーケンスの追加

ステップ 5：ISEでのconfrim証明書

手順 6：許可されたプロトコルの追加

手順 7：ポリシーセットの追加

ステップ 8：認証ポリシーの追加

ステップ 9：許可ポリシーの追加

確認

ステップ 1：認証セッションの確認

ステップ 2：Radiusライブログの確認

トラブルシュート

1. デバッグログ

2. TCPダンプ

関連情報

はじめに

このドキュメントでは、リアルタイムのクライアント証明書失効チェックのためにOCSPでEAP-TLS認証を設定するために必要な手順について説明します。

前提条件

要件

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

- Cisco Identity Services Engineの設定

- Cisco Catalyst設定

- オンライン証明書ステータスプロトコル

使用するコンポーネント

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

- Identity Services Engine仮想3.2パッチ6

- C1000-48FP-4G-L 15.2(7)E9

- Windows Server 2016

- Windows 10

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

ネットワーク図

次の図は、このドキュメントの例で使用するトポロジを示しています。

ネットワーク図

背景説明

EAP-TLSでは、認証プロセスの一部として、クライアントがサーバにデジタル証明書を提示します。 このドキュメントでは、ADサーバに対して証明書の共通名(CN)を確認し、リアルタイムのプロトコルステータスを提供するOCSP(Online Certificate Status Protocol)を使用して証明書が失効したかどうかを確認することによって、ISEがクライアント証明書を検証する方法について説明します。

Windows Server 2016で設定されるドメイン名は、このドキュメントの例で使用するad.rem-xxx.comです。

このドキュメントで参照されているOCSP(Online Certificate Status Protocol)およびAD(Active Directory)サーバは、証明書の検証に使用されます。

- Active DirectoryのFQDN:winserver.ad.rem-xxx.com

- CRLディストリビューションURL:http://winserver.ad.rem-xxx.com/ocsp-ca.crl

- 機関のURL:http://winserver.ad.rem-xxx.com/ocsp

これは、ドキュメントで使用される各証明書の共通名を持つ証明書チェーンです。

- CA: ocsp-ca-common-name

- クライアント証明書：clientcertCN

- サーバ証明書：ise32-01.ad.rem-xxx.com

- OCSP署名証明書： ocspSignCommonName

コンフィギュレーション

C1000での設定

これは、C1000 CLIでの最小限の設定です。

aaa new-model

radius server ISE32

address ipv4 1.x.x.181

key cisco123

aaa group server radius AAASERVER

server name ISE32

aaa authentication dot1x default group AAASERVER

aaa authorization network default group AAASERVER

aaa accounting dot1x default start-stop group AAASERVER

dot1x system-auth-control

interface Vlan12

ip address 192.168.10.254 255.255.255.0

interface Vlan14

ip address 1.x.x.101 255.0.0.0

interface GigabitEthernet1/0/1

Switch port access vlan 14

Switch port mode access

interface GigabitEthernet1/0/3

switchport access vlan 12

switchport mode access

authentication host-mode multi-auth

authentication port-control auto

dot1x pae authenticator

spanning-tree portfast edge

Windows PCでの設定

ステップ 1：ユーザ認証の設定

Authenticationに移動し、checkEnable IEEE 802.1X authentication にチェックマークを付けて、Microsoft: Smart Card or other certificateを選択します。

Settingsボタンをクリックし、Use a certificate on this computerにチェックマークを入れて、Windows PCの信頼済みCAを選択します。

証明書認証の有効化

Authenticationに移動し、Additional Settingsをチェックします。ドロップダウンリストからUserまたはcomputer authenticationfromを選択します。

認証モードの指定

ステップ 2：クライアント証明書の確認

Certificates - Current User > Personal > Certificatesの順に移動し、認証に使用するクライアント証明書を確認します。

クライアント証明書の確認

クライアント証明書をダブルクリックし、Detailsに移動して、Subject、CRL Distribution Points、Authority Information Accessの詳細をチェックします。

- 件名：CN = clientcertCN

- CRL分散ポイント:http://winserver.ad.rem-xxx.com/ocsp-ca.crl

- 機関情報アクセス:http://winserver.ad.rem-xxx.com/ocsp

クライアント証明書の詳細

Windows Serverでの設定

ステップ 1：ユーザの追加

Active Directory Users and Computersに移動し、Usersをクリックします。ユーザのログオン名としてclientcertCNを追加します。

ユーザーログオン名

ステップ 2：OCSPサービスの確認

Windowsに移動し、オンラインレスポンダー管理をクリックします。OCSPサーバのステータスを確認します。

OCSPサーバのステータス

winserver.ad.rem-xxx.comをクリックし、OCSP署名証明書のステータスを確認します。

OCSP署名証明書のステータス

ISEでの設定

ステップ 1：デバイスの追加

Administration > Network Devicesの順に移動し、AddbuttonをクリックしてC1000デバイスを追加します。

デバイスの追加

ステップ 2：Active Directoryの追加

Administration > External Identity Sources > Active Directoryの順に移動し、Connectiontabをクリックし、Active DirectoryをISEに追加します。

- [結合ポイント名]: AD_Join_Point

- Active Directoryドメイン：ad.rem-xxx.com

Active Directoryの追加

Groupsタブに移動し、select Groups From Directoryfromドロップダウンリストを選択します。

ディレクトリからグループを選択

[グループの取り出し]ドロップダウンリストをクリックします。Checkad.rem-xxx.com/Users/Cert Publishers と入力して、OKをクリックします。

証明書の発行元の確認

ステップ 3：証明書認証プロファイルの追加

Administration > External Identity Sources > Certificate Authentication Profileの順に移動し、Addボタンをクリックして、新しい証明書認証プロファイルを追加します。

- 名前：cert_authen_profile_test

- IDストア： AD_Join_Point

- 証明書属性のIdを使用：件名 – 共通名。

- Match Client Certificate With Certificate In Identity Store:IDのあいまいさを解決するためだけに使用します。

証明書認証プロファイルの追加

ステップ 4：アイデンティティソースシーケンスの追加

Administration > Identity Source Sequencesの順に移動し、Identity Source Sequenceを追加します。

- 名前：Identity_AD

- Certificate Authentication Proを選択します。file: cert_authen_profile_test

- 認証検索リスト：AD_Join_Point

アイデンティティソースシーケンスの追加

ステップ 5：ISEでのconfrim証明書

Administration > Certificates > System Certificatesの順に移動し、サーバ証明書が信頼できるCAによって署名されていることを確認します。

サーバ証明書

Administration > Certificates > OCSP Client Profileの順に移動し、Addボタンをクリックして新しいOCSPクライアントプロファイルを追加します。

- 名前： ocsp_test_profile

- OCSPレスポンダURLの設定：http://winserver.ad.rem-xxx.com/ocsp

OCSPクライアントプロファイル

Administration > Certificates > Trusted Certificatesの順に移動し、信頼できるCAがISEにインポートされていることを確認します。

信頼済みCA

CAをチェックしてEditボタンをクリックし、Certificate Status Validation用にOCSP設定の詳細を入力します。

- OCSPサービスに対する検証：ocsp_test_profile

- OCSPがUNKNOWNステータスを返す場合は、要求を拒否します。

- OCSPレスポンダが到達不能な場合は要求を拒否します。確認してください。

証明書ステータスの検証

手順 6：許可されたプロトコルの追加

Policy > Results > Authentication > Allowed Protocolsの順に移動し、Default Network Accessサービスリストを編集して、Allow EAP-TLSにチェックマークを付けます。

EAP-TLSを許可する

手順 7：ポリシーセットの追加

Policy > Policy Setsの順に移動し、+ をクリックしてポリシーセットを追加します。

- ポリシーセット名：EAP-TLS-Test

- 条件：ネットワークアクセスプロトコルがRADIUSと等しい

- 許可されるプロトコル/サーバシーケンス：デフォルトのネットワークアクセス

ポリシーセットの追加

ステップ 8：認証ポリシーの追加

Policy Setsに移動し、EAP-TLS-Testingをクリックして認証ポリシーを追加します。

- ルール名：EAP-TLS-Authentication

- 条件：ネットワークアクセスEapAuthentication がEAP-TLS およびWired_802.1 Xと等しい

- 使用：Identity_AD

認証ポリシーの追加

ステップ 9：許可ポリシーの追加

Policy Setsに移動し、EAP-TLS-Testをクリックして認可ポリシーを追加します。

- ルール名：EAP-TLS-Authorization

- 条件：CERTIFICATE Subject - Common Name EQUALS clientcertCN

- 結果：PermitAccess

許可ポリシーの追加

確認

ステップ 1：認証セッションの確認

C1000で認証セッションを確認するには、show authentication sessions interface GigabitEthernet1/0/3 detailsコマンドを実行します。

Switch#show authentication sessions interface GigabitEthernet1/0/3 details

Interface: GigabitEthernet1/0/3

MAC Address: b496.9114.398c

IPv6 Address: Unknown

IPv4 Address: 192.168.10.10

User-Name: clientcertCN

Status: Authorized

Domain: DATA

Oper host mode: multi-auth

Oper control dir: both

Session timeout: N/A

Restart timeout: N/A

Periodic Acct timeout: N/A

Session Uptime: 111s

Common Session ID: 01C20065000000933E4E87D9

Acct Session ID: 0x00000078

Handle: 0xB6000043

Current Policy: POLICY_Gi1/0/3

Local Policies:

Service Template: DEFAULT_LINKSEC_POLICY_SHOULD_SECURE (priority 150)

Server Policies:

Method status list:

Method State

dot1x Authc Success

ステップ 2：Radiusライブログの確認

ISE GUIでOperations > RADIUS > Liveの順に移動し、認証のライブログを確認します。

Radiusライブログ

認証の詳細なライブログを確認します。

認証の詳細

トラブルシュート

1. デバッグログ

このデバッグログ(prrt-server.log)は、ISEでの認証の詳細な動作を確認するのに役立ちます。

- ランタイムAAA

// OCSP request and response

Crypto,2024-06-05 09:43:33,064,DEBUG,0x7f9822961700,NIL-CONTEXT,Crypto::Result=0, CryptoLib.CSSL.OCSP Callback - starting OCSP request to primary,SSL.cpp:1444

Crypto,2024-06-05 09:43:33,064,DEBUG,0x7f9822961700,NIL-CONTEXT,Crypto::Result=0, Crypto.OcspClient::performRequest - Start processing OCSP request, URL=http://winserver.ad.rem-xxx.com/ocsp, use nonce=1,OcspClient.cpp:144

Crypto,2024-06-05 09:43:33,104,DEBUG,0x7f9822961700,NIL-CONTEXT,Crypto::Result=0, Crypto.OcspClient::performRequest - Received OCSP server response,OcspClient.cpp:411

Crypto,2024-06-05 09:43:33,104,DEBUG,0x7f9822961700,NIL-CONTEXT,Crypto::Result=0, Crypto.OcspClient::performRequest - Nonce verification passed,OcspClient.cpp:426

Crypto,2024-06-05 09:43:33,104,DEBUG,0x7f9822961700,NIL-CONTEXT,Crypto::Result=0, Crypto.OcspClient::performRequest - OCSP responser name 8CD12ECAB78607FA07194126EDA82BA7789CE00C,OcspClient.cpp:462

Crypto,2024-06-05 09:43:33,104,DEBUG,0x7f9822961700,NIL-CONTEXT,Crypto::Result=0, Crypto.OcspClient::performRequest - Verify response signature and KU/EKU attributes of response signer certificate,OcspClient.cpp:472

Crypto,2024-06-05 09:43:33,104,DEBUG,0x7f9822961700,NIL-CONTEXT,Crypto::Result=0, Crypto.OcspClient::performRequest - Response signature verification passed,OcspClient.cpp:482

Crypto,2024-06-05 09:43:33,104,DEBUG,0x7f9822961700,NIL-CONTEXT,Crypto::Result=0, Crypto.OcspClient::performRequest - Response contains 1 single responses for certificates,OcspClient.cpp:490

Crypto,2024-06-05 09:43:33,104,DEBUG,0x7f9822961700,NIL-CONTEXT,Crypto::Result=0, Crypto.OcspClient::performRequest - User certificate status: Good,OcspClient.cpp:598

Crypto,2024-06-05 09:43:33,104,DEBUG,0x7f9822961700,NIL-CONTEXT,Crypto::Result=0, CryptoLib.CSSL.OCSP Callback - perform OCSP request succeeded, status: Good,SSL.cpp:1684

// Radius session

Radius,2024-06-05 09:43:33,120,DEBUG,0x7f982d7b9700,cntx=0000017387,sesn=ise32-01/506864164/73,CPMSessionID=01C20065000000933E4E87D9,CallingStationID=B4-96-91-14-39-8C,RADIUS PACKET:: Code=1(AccessRequest) Identifier=238 Length=324

[1] User-Name - value: [clientcertCN]

[4] NAS-IP-Address - value: [1.x.x.101]

[5] NAS-Port - value: [50103]

[24] State - value: [37CPMSessionID=01C20065000000933E4E87D9;31SessionID=ise32-01/506864164/73;]

[87] NAS-Port-Id - value: [GigabitEthernet1/0/3]

Radius,2024-06-05 09:43:33,270,DEBUG,0x7f982d9ba700,cntx=0000017387,sesn=ise32-01/506864164/73,CPMSessionID=01C20065000000933E4E87D9,user=clientcertCN,CallingStationID=B4-96-91-14-39-8C,RADIUS PACKET:: Code=2(AccessAccept) Identifier=238 Length=294

[1] User-Name - value: [clientcertCN]

Radius,2024-06-05 09:43:33,342,DEBUG,0x7f982d1b6700,cntx=0000017401,sesn=ise32-01/506864164/74,CPMSessionID=01C20065000000933E4E87D9,CallingStationID=B4-96-91-14-39-8C,RADIUS PACKET:: Code=4(AccountingRequest) Identifier=10 Length=286

[1] User-Name - value: [clientcertCN]

[4] NAS-IP-Address - value: [1.x.x.101]

[5] NAS-Port - value: [50103]

[40] Acct-Status-Type - value: [Interim-Update]

[87] NAS-Port-Id - value: [GigabitEthernet1/0/3]

[26] cisco-av-pair - value: [audit-session-id=01C20065000000933E4E87D9]

[26] cisco-av-pair - value: [method=dot1x] ,RADIUSHandler.cpp:2455

Radius,2024-06-05 09:43:33,350,DEBUG,0x7f982e1be700,cntx=0000017401,sesn=ise32-01/506864164/74,CPMSessionID=01C20065000000933E4E87D9,user=clientcertCN,CallingStationID=B4-96-91-14-39-8C,RADIUS PACKET:: Code=5(AccountingResponse) Identifier=10 Length=20,RADIUSHandler.cpp:2455

2. TCPダンプ

ISEのTCPダンプには、OCSP応答とRadiusセッションに関する情報が含まれています。

OCSP要求および応答：

OCSP要求および応答のパケットキャプチャ

OCSP応答の詳細の取得

RADIUSセッション：

RADIUSセッションのパケットキャプチャ

関連情報

ISEでのEAP-TLS認証の設定

ISEでのTLS/SSL証明書の設定