简介
本文档介绍设置使用OCSP的EAP-TLS身份验证以进行实时客户端证书撤销检查所需的步骤。
先决条件
要求
Cisco 建议您了解以下主题:
- 思科身份服务引擎的配置
- Cisco Catalyst的配置
- 在线证书状态协议
使用的组件
本文档中的信息基于以下软件和硬件版本:
- 身份服务引擎虚拟3.2补丁6
- C1000-48FP-4G-L 15.2(7)E9
- Windows Server 2016
- Windows 10
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
网络图
下图显示本文档示例中使用的拓扑。
网络图
背景信息
在EAP-TLS中,客户端在身份验证过程中向服务器提供其数字证书。 本文档介绍ISE如何验证客户端证书,方法是针对AD服务器检查证书公用名(CN),并使用OCSP(在线证书状态协议)确认证书是否已吊销,OCSP提供实时协议状态。
在Windows Server 2016上配置的域名是ad.rem-xxx.com,本文档中将其用作示例。
本文档中引用的OCSP (在线证书状态协议)和AD (Active Directory)服务器用于证书验证。
这是证书链,带有文档中使用的每个证书的公用名称。
- 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:配置用户身份验证
导航到身份验证,选中启用IEEE 802.1X身份验证,然后选择Microsoft:智能卡或其他证书。
单击“设置”按钮,选中“在此计算机上使用证书”,然后选择“Windows PC的受信任CA”。
启用证书身份验证
导航到身份验证,选择其他设置。选择User or computer authenticationfrom下拉列表。
指定身份验证模式
第二步:确认客户端证书
导航到证书-当前用户>个人>证书,并检查用于身份验证的客户端证书。
确认客户端证书
双击客户端证书,导航到详细信息,检查主题、CRL分发点和授权信息访问的详细信息。
客户端证书的详细信息
Windows Server中的配置
步骤1:添加用户
导航到Active Directory用户和计算机,然后单击用户。添加clientcertCN作为用户登录名。
用户登录名
第二步:确认OCSP服务
导航到Windows,点击Online Responder Management。确认OCSP服务器的状态。
OCSP服务器的状态
单击winserver.ad.rem-xxx.com,检查OCSP签名证书的状态。
OCSP签名证书的状态
ISE中的配置
步骤1:添加设备
导航到管理>网络设备,点击添加按钮以添加C1000设备。
添加设备
第二步:添加Active Directory
导航到管理>外部身份源> Active Directory,点击连接选项卡,将Active Directory添加到ISE。
- 加入点名称:AD_Join_Point
- Active Directory域:ad.rem-xxx.com
添加Active Directory
导航到组选项卡,从下拉列表中选择选择目录中的组。
从目录中选择组
单击Retrieve Groupsfrom下拉列表。Checkad.rem-xxx.com/Users/Cert Publishers,然后单击OK。
检查证书发布者
第三步:添加证书身份验证配置文件
导航到Administration > External Identity Sources > Certificate Authentication Profile,点击Add按钮以添加新的证书身份验证配置文件。
- 名称:cert_authen_profile_test
- 身份库:AD_Join_Point
- 使用来自证书属性的身份:主题-公用名。
- Match Client Certificate Against Certificate In Identity Store:仅用于解决身份模糊问题。
添加证书身份验证配置文件
第四步:添加身份源隔离
导航到管理>身份源序列,添加身份源序列。
- 名称:Identity_AD
- 选择Certificate Authentication Profile: cert_authen_profile_test
- 身份验证搜索列表:AD_Join_Point
添加身份源序列
第五步:在ISE中配置证书
导航到管理>证书>系统证书,确认服务器证书由受信任CA签署。
服务器证书
导航到管理>证书> OCSP客户端配置文件,单击“添加”按钮以添加新的OCSP客户端配置文件。
OCSP客户端配置文件
导航到管理>证书>受信任证书,确认受信任CA已导入到ISE。
受信任的CA
选中CA并单击Edit按钮,输入用于证书状态验证的OCSP配置详细信息。
- 根据OCSP服务进行验证:ocsp_test_profile
- 如果OCSP返回UNKNOWN状态,则拒绝请求:检查
- 如果OCSP响应器无法访问,则拒绝请求:检查
证书状态验证
第六步:添加允许的协议
导航到策略>结果>身份验证>允许的协议,编辑默认网络访问服务列表,然后选中允许EAP-TLS。
允许EAP-TLS
步骤 7.添加策略集
导航到策略>策略集,点击+ 添加策略集。
- 策略集名称:EAP-TLS-Test
- 条件:网络访问协议等于RADIUS
- 允许的协议/服务器序列:默认网络访问
添加策略集
步骤 8添加身份验证策略
导航到策略集,点击EAP-TLS-Tests以添加身份验证策略。
- 规则名称:EAP-TLS-Authentication
- 条件:网络访问EapAuthentication 等于EAP-TLS 和Wired_802.1 X
- 使用:Identity_AD
添加身份验证策略
步骤 9添加授权策略
导航到策略集,点击EAP-TLS-Test添加授权策略。
- 规则名称:EAP-TLS-Authorization
- 条件:证书使用者-公用名等于clientcertCN
- 结果:PermitAccess
添加授权策略
验证
步骤1:确认身份验证会话
运行show authentication sessions interface GigabitEthernet1/0/3 details命令,确认C1000中的身份验证会话。
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
第二步:确认Radius实时日志
在ISE GUI中导航到操作> RADIUS >实时日志,确认身份验证的实时日志。
Radius实时日志
确认身份验证的详细实时日志。
身份验证详细信息
故障排除
1. 调试日志
此调试日志(prrt-server.log)可帮助您确认ISE中身份验证的详细行为。
// 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证书