キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
816
閲覧回数
2
いいね!
0
コメント
jianzh3
Cisco Employee
Cisco Employee

 

はじめに

本ドキュメントは、リアルタイムでクライアント証明書の失効をチェックするため、Online Certificate Status Protocol(OCSP)を用いて Identity Services Engine(ISE)によるクライアントへの EAP-TLS 認証を実現するための設定例と動作確認方法について紹介します。本ドキュメントは、Identity Services Engine Virtual 3.2 Patch 6、C1000-48FP-4G-L 15.2(7)E9にて確認、作成をしております。

 

 

構成例

本ドキュメントは、以下の構成で、設定・動作確認例を紹介します。

Diagram_03.png

 

 

背景

EAP-TLSでは、クライアントは認証プロセスの一環として、そのデジタル証明書をサーバーに提示します。本ドキュメントでは、クライアントから ISE に送信された証明書の失効チェックをリアルタイムで行う方法について紹介します。
本ドキュメントで使用されているOCSPサーバーの詳細は以下の通りです。
本ドキュメントで使用されているドメイン「ad.rem-xxx.com」は、検証環境のテスト用のドメインです。

本ドキュメントで使用されている各証明書の共通名(Common Name)を含む証明書チェーンは以下の通りです。

  • CA : ocsp-ca-common-name
  • Client Certificate : clientcertCN
  • Server Certificate : ise32-01.ad.rem-xxx.com
  • OCSP Signing Certificate : ocspSignCommonName

 

 

設定例

C1000側の設定

以下はC1000での最小限の設定です。

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」に移動し、「Enable IEEE 802.1X authentication」をチェックした後、「Microsoft: Smart Card or other certificate」を選択します。「Settings」ボタンをクリックして「Use a certificate on this computer」をチェックした後、CA(ocsp-ca-common-name)を選択します。

WinPC_001.png

Authentication」に移動し、「Additional Settings」をクリックした後、プルダウンリストから「User or computer authentication」を選択します。

WinPC_002.png

 

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

Certificates - Current User > Personal > Certificates」に移動し、認証用のクライアント証明書(Common Name = clientcertCN)を確認します。

WinPC_003_Cert.png

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

WinPC_456_Cert_2.png

 

Windows サーバー側の設定

1. ユーザーの追加

Active Directory Users and Computers」に移動し、「Users」をクリックした後、clientcertCN をドメインユーザーとして追加します。

WinServer_012_2.png

 

2. OCSP サービスの確認

Windows」に移動し、「Online Responder Management」をクリックした後、OCSPサービスが正常に稼働していることを確認します。

OCSP_001_2.png

winserver.ad.rem-xxx.com」をクリックして、「OCSP signing certificate」が正常であることを確認します。

OCSP_002_2.png

 

ISE側の設定

1. デバイスの追加

Administration > Network Devices」に移動し、「Add」ボタンをクリックしてC1000デバイスを追加します。

  • Name : C1000
  • IP Address : 1.x.x.101

ISE_001_Add_Device.png

 

2. Active Directoryの追加

Administration > External Identity Sources > Active Directory」に移動し、「Connection」タブでActive Directoryを追加します。

  • Join Point Name : AD_Join_Point
  • Active Directory Domain : ad.rem-xxx.com

ISE_002_Add_AD_2.png

Groups」タブでドロップダウンリストから「Select Groups From Directory」を選択します。

ISE_003_Add_AD.png

Retrieve Groups」をクリックしてから、「ad.rem-xxx.com/Users/Cert Publishers」をチェックして、「OK」をクリックします。

ISE_004_Add_AD_2.png

 

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

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

  • Name : cert_authen_profile_test
  • Identity Store : AD_Join_Point
  • Use Identity From Certificate Attribute :  Subject - Common Name
  • Match Client Certificate Against Certificate In Identity Store : Only to resolve identity ambiguity

ISE_005_Add_Cert Authentication Profile.png

 

4. Identity Source Sequencesの追加

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

  • Name : Identity_AD
  • Select Certificate Authentication Profile : cert_authen_profile_test
  • Authentication Search List : AD_Join_Point 

ISE_006_Add_Identity Source.png

 

5. サーバー証明書の確認

Administration > Certificates > System Certificates」に移動し、試験用のサーバー証明書がCA(ocsp-ca-common-name)により発行されていることを確認します。

ISE_007_Server Cert_2.png

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

ISE_009_OCSP Client Profile_2.png

Administration > Certificates > Trusted Certificates」に移動し、試験用のCA(ocsp-ca-common-name)がISEにインポートされていることを確認します。

ISE_008_CA Cert.png

上記のCAをチェックし、「Edit」ボタンをクリックした後、「Certificate Status Validation」項目で、OCSPサービスの詳細を入力します。

  • Validate against OCSP Service : ocsp_test_profile
  • Reject the request if OCSP returns UNKNOWN status : check
  • Reject the request if OCSP Responder is unreachable : check

ISE_010_CA ocsp.png

 

6. 許可されたプロトコルの追加

Policy > Results > Authentication > Allowed Protocols」に移動し、「Default Network Access」に対し、「Allow EAP-TLS」をチェックします。

ISE_011_Allowed Protocols.png

 

7. Policy Set の追加

「Policy > Policy Sets」に移動し、「+」をクリックし、policy setを追加します。

  • Policy Set Name : EAP-TLS-Test
  • Conditions : Network Access Protocol EQUALS RADIUS
  • Allowed Protocols / Server Sequence : Default Network Access

ISE_012_Policy Set.png

 

8. Authentication Policy の追加

Policy > Policy Sets」に移動し、「EAP-TLS-Test」をクリックし、policy setに新しいauthentication policyを追加します。

  • Rule Name : EAP-TLS-Authentication
  • Conditions : Network Access EapAuthentication EQUALS EAP-TLS AND Wired_802.1 X
  • Use : Identity_AD

ISE_013_Authentication.png

 

9. Authorization Policy の追加

Policy > Policy Sets」に移動し、「EAP-TLS-Test」をクリックし、policy setに新しいauthorization policyを追加します。

  • Rule Name : EAP-TLS-Authorization
  • Conditions : CERTIFICATE Subject - Common Name EQUALS clientcertCN
  • Results : PermitAccess

ISE_014_Authorization.png

 

 

動作確認例

1. Authentication セッションの確認

「show authentication sessions interface GigabitEthernet1/0/3 details」コマンドを実行して、Authenticationセッション(User-Name: clientcertCN)を確認します。

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 Live Log の確認

ISE GUIのOperations > RADIUS > Live Logs」に移動し、EAP-TLS認証のlive logを確認します。

Verify_001.png

EAP-TLS認証の詳細なログを確認します。

Verify_002_2.png

 

 

トラブルシューティング

1. デバッグログ

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

  • runtime-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 Dump

ISEのTCP dumpでは、認証時にOCSPサーバーとの通信やRadius認証セッションに関する情報を確認することができます。

OCSP サーバーとの通信:

Verify_Capture_001.png

OCSP レスポンスの詳細(certStatus: good):

Verify_Capture_002.png

Radius認証セッション:

Verify_Capture_003.png

 

 

参考情報

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします