简介
本文档介绍思科ISE中的TLS/SSL证书、ISE证书的种类和角色,以及如何执行常见任务和故障排除。
先决条件
要求
Cisco 建议您了解以下主题:
- 思科身份服务引擎(ISE)
- 用于描述不同类型ISE和AAA部署的术语。
- RADIUS协议和AAA基础知识
- SSL/TLS和x509证书
- 公共密钥基础设施(PKI)基础知识
使用的组件
本文档中的信息基于Cisco ISE版本2.4 ― 2.7软件和硬件版本。 它涵盖从版本2.4到2.7的ISE,但是,除非另有说明,它必须与其他ISE 2.x软件版本相似或相同。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
服务器证书
服务器证书由服务器用于向客户端提供服务器的身份以确保真实性,并提供安全通信通道。这些证书可以是自签名证书(服务器向自身颁发证书)或由证书颁发机构(组织内部或知名供应商)颁发。
服务器证书通常颁发给服务器的主机名或完全限定域名(FQDN),或者它们也可以是通配符证书(*.domain.com )。其发送到的主机、域或子域通常在公用名(CN)或主题备用名(SAN)字段中提及。
通配符证书是使用通配符符号(用星号代替主机名)的SSL证书,因此允许在组织中的多个主机之间共享同一证书。例如,通配符证书使用者名称的CN或SAN值可类似于 *.company.com ,并且可用于保护此域的任何主机,例如 server1.com 、 server2.com 等。
证书通常使用公钥加密或非对称加密。
- 公钥:公钥存在于其中一个字段的证书中,并在设备尝试与其通信时由系统公开共享。
- 私钥:私钥是终端系统的私钥,与公钥配对。通过公钥加密的数据只能通过特定的配对私钥解密,反之亦然。
ISE证书
思科ISE依靠公钥基础设施(PKI)提供与终端、用户、管理员等的安全通信,以及多节点部署中的思科ISE节点之间的安全通信。PKI依靠x.509数字证书传输用于消息加密和解密的公钥,以及验证用户和设备提供的其他证书的真实性。思科ISE通常使用两类证书:
- 系统证书:这些是识别客户端的Cisco ISE节点的服务器证书。每个Cisco ISE节点都有自己的本地证书,每个证书与各自的私钥一起存储在节点上。
- 受信任证书存储证书:这些是用于验证提供给ISE的各种用途的证书颁发机构(CA)证书。证书存储中的这些证书在主要管理节点管理并复制到分布式Cisco ISE部署中的所有其他节点。证书存储还包含由用于BYOD的ISE的内部证书颁发机构为ISE节点生成的证书。
系统证书
系统证书可用于一个或多个角色。每个角色都有不同的用途,具体说明如下:
- 管理:用于保护443上的所有通信(管理GUI)、复制,以及此处未列出的任何端口/用途。
- 门户:用于保护通过集中网络身份验证(CWA)门户、访客、自带设备(BYOD)、客户端调配、本地请求方调配门户等门户的HTTP通信。每个门户必须映射到一个门户组标记(默认为默认门户组标记),指示使用特定标记的证书上的门户。证书的Edit选项中的Portal Group Tag name下拉菜单允许您创建新标记或选择存在的标记。
- EAP:这是一个角色,它指定提供给客户端的证书以进行802.1x身份验证。证书几乎用于所有可能的EAP方法,例如EAP-TLS、PEAP、EAP-FAST等。对于隧道EAP方法(例如PEAP和FAST),传输层安全(TLS)用于保护凭证交换。在建立此隧道以确保安全交换之前,客户端凭证不会发送到服务器。
- RADIUS DTLS:此角色指定要用于DTLS连接(UDP上的TLS连接)的证书,以加密网络接入设备(NAD)和ISE之间的RADIUS流量。NAD必须支持DTLS加密,此功能才能正常工作。
- SAML:服务器证书用于保护与SAML身份提供程序(IdP)之间的通信。指定用于SAML的证书不能用于任何其他服务,例如管理、EAP身份验证等。
- ISE消息传送服务:从2.6开始,ISE使用ISE消息传送服务而不是传统系统日志协议来记录数据。用于加密此通信。
- PxGrid:此证书用于ISE上的PxGrid服务。
安装ISE后,它会生成Default Self-Signed Server Certificate。默认情况下,此值分配给EAP身份验证、管理员、门户和RADIUS DTLS。建议将这些角色移至内部CA或已知的CA签名证书。
提示:比较好的做法是确保ISE服务器的FQDN和IP地址都添加到ISE系统证书的SAN字段中。 一般来说,为了确保思科ISE中的证书身份验证不受证书驱动的验证功能中的细微差异的影响,请为网络中部署的所有思科ISE节点使用小写主机名。
注意:ISE证书的格式必须是隐私增强邮件(PEM)或可分辨编码规则(DER)。
受信任证书库
证书颁发机构证书必须存储在Administration > System > Certificates > Certificate Store中,并且它们必须具有使Trust for client authentication 用案例以确保ISE使用这些证书来验证终端、设备或其他ISE节点提供的证书。
基本任务
证书有到期日期,可以撤销证书或在某些点要求更换证书。如果ISE服务器证书过期,除非使用新的有效证书替换严重问题。
注意:如果用于可扩展身份验证协议(EAP)的证书过期,则客户端身份验证可能会失败,因为客户端不再信任ISE证书。如果用于门户的证书过期,客户端和浏览器可能会拒绝连接到门户。如果管理员使用证书过期,则风险更大,这将阻止管理员再次登录ISE,并且分布式部署可能会停止运行,这是必须的。
生成自签名证书
要生成新的自签名证书,请导航到Administration > System > Certificates > System Certificates。单击.Generate Self Signed Certificate
此列表介绍Generate Self Signed Certificate页面中的字段。
自签名证书设置字段名称使用指南:
- 选择节点:(必需)生成系统证书所需的节点。
- CN:(如果未指定SAN则必需)默认情况下,CN是为其生成自签名证书的ISE节点的FQDN。
- 组织单位(OU):组织单位名称,例如,工程。
- 组织(O):组织名称,例如Cisco。
- 城市(L):(请勿缩写)城市名称,例如San Jose。
- 州(ST):(请勿缩写)州名,例如California。
- 国家(C):国家名称。需要两个字母的ISO国家/地区代码。例如,美国。
- SAN:与证书关联的IP地址、DNS名称或统一资源标识符(URI)。
- 密钥类型:指定用于创建公钥的算法:RSA或ECDSA。
- 密钥长度:指定公钥的位大小。这些选项可用于RSA: 512 1024 2048 4096 ,这些选项可用于ECDSA: 256 384。
- 要使用的摘要:选择以下哈希算法之一:SHA-1或SHA-256。
- 证书策略(Certificate Policies):输入证书必须符合的证书策略OID或OID列表。使用逗号或空格分隔OID。
- Expiration TTL:指定证书到期的天数。
- Friendly Name:输入证书的友好名称。如果未指定名称,思科ISE会自动创建格式的名称,
<common name> # <issuer> # <nnnnn> 其中 <nnnnn> 是唯一的5位数字。
- 允许通配符证书(Allow Wildcard Certificates):选中此复选框以生成自签名的通配符证书(在主题中的任意CN和/或SAN中的DNS名称中包含星号(*)的证书)。例如,分配给SAN的DNS名称可以是
*.domain.com。
- 用法:选择必须使用此系统证书的服务。可用选项包括:
- 管理员
- EAP 身份验证
- RADIUS DTLS
- pxGrid
- SAML
- 门户
注意:对于同一安全级别,RSA和ECDSA公钥可以具有不同的密钥长度。如果意图获取公共CA签名证书或部署思科ISE作为符合FIPS的策略管理系统,请选择2048。
续订自签名证书
要查看存在的自签名证书,请导航到ISE控制台中的Administration > System > Certificates > System Certificates。如果同一ISE服务器FQDN中提及具有颁发对象和颁发者的任何证书,则该证书为自签名证书。选择此证书,然后单击Edit。
在Renew Self Signed Certificate下,选中Renewal Period复选框,并根据需要设置Expiration TTL。最后,单击Save。
安装受信任证书
从根CA、中间CA和/或需要信任的主机获取Base 64编码的证书。
1. 登录到ISE节点,然后导航到Administration > System > Certificate > Certificate Management > Trusted Certificates并单击Import,如下图所示。
2. 在下一页上,上传获取的CA证书(顺序与之前介绍的顺序相同)。为他们分配一个友好名称和说明证书的用途以保持跟踪。
根据使用需求,选中以下各项旁边的复选框:
- 信任ISE中的身份验证-当新的ISE节点将相同的受信任CA证书加载到其受信任证书库时,添加新的节点。
- Trust for client authentication and Syslog -启用此功能,以便使用证书对通过EAP和/或信任安全系统日志服务器连接到ISE的终端进行身份验证。
- 信任思科服务的身份验证-仅信任馈送服务等外部思科服务才需要信任此项。
3. 最后,单击Submit。现在,证书必须在受信任存储中可见,并同步到所有辅助ISE节点(如果处于部署中)。
安装CA签名证书
一旦根和中间CA证书添加到受信任证书库,即可发出证书签名请求(CSR),并且基于CSR签名的证书可绑定到ISE节点。
1. 要执行此操作,请导航至Administration > System > Certificates > Certificate Signing Requests,然后点击Generate Certificate Signing Requests (CSR),生成CSR。
2. 在出现的页面上的“使用情况”部分下,从下拉菜单中选择要使用的角色。
如果证书用于多个角色,请选择Multi-Use。生成证书后,可以根据需要更改角色。在大多数情况下,证书可以在Used For下拉列表中设置为用于多用途;这允许证书可用于所有ISE Web门户。
3. 选中ISE节点旁边的框以选择为其生成证书的节点。
4. 如果目的是安装/生成通配符证书,请选中Allow Wildcard Certificates框。
5. 根据主机或组织(组织单位、组织、城市、省/自治区/直辖市)的详细信息填写主题信息。
6. 要完成此操作,请单击Generate,然后在弹出的弹出窗口中单击Export。
这会下载刚刚创建的Base-64编码的证书请求请求。此PEM文件必须发送到CA进行签名,并获取生成的签名证书CER文件(Base 64编码)。
注意:在CN字段下,ISE会自动填充节点FQDN。
注意:在ISE 1.3和1.4中,至少需要发布两个CSR才能使用pxGrid。一个专用于pxGrid,另一个专用于pxGrid的其他服务。从2.0及更高版本开始,所有这一切都在一个CSR上。
注意:如果证书用于EAP身份验证,则*符号不能位于Subject CN字段中,因为Windows请求方会拒绝服务器证书。即使Validate Server Identity在请求方上处于禁用状态,当*位于CN字段中时,SSL握手也可能失败。可以在CN字段中使用常规FQDN,然后在SAN DNS Name字段使用 *.domain.com 。某些证书颁发机构(CA)可以在证书的CN中自动添加通配符(*),即使其不存在于CSR中。在这种情况下,需要发出特殊请求以防止此操作。
7. 当CA对证书签名后(如视频所示从CSR生成,此处为使用Microsoft CA时也是如此),返回到ISE GUI,然后导航到管理>系统>证书>证书管理>证书签名请求。 选中以前创建的CSR旁边的框,并单击Bind Certificate按钮。
8. 接下来,上传刚刚收到的签名证书,并为其命名ISE。然后,继续选择根据证书需求使用的旁框(如Admin和EAP身份验证、Portal等)并单击Submit,如下图所示:
如果为此证书选择了管理员角色,则ISE节点必须重新启动其服务。根据分配给VM的版本和资源,这可能需要10-15分钟。要检查应用的状态,请打开ISE命令行并发出show application status ise命令。
如果在证书导入时选择了管理员或门户角色,则可以在访问浏览器中的管理员或门户页面时验证新证书是否就位。在浏览器中选择锁定符号,在证书下,路径会验证完整链是否存在以及计算机是否信任该链。浏览器必须信任新的管理员或门户证书,只要证书链构建正确,并且证书链受浏览器信任。
注意:要更新当前CA签名系统证书,请生成新的CSR,并使用相同的选项将签名证书绑定到此。由于可以在ISE上激活之前安装新证书,因此请计划在旧证书过期之前安装新证书。旧证书到期日期和新证书开始日期之间的这段重叠期为证书续订和交换规划时间,几乎没有停机时间。新证书的开始日期应早于旧证书的到期日期。这两个日期之间的时间段即为更换窗口期。新证书进入其有效日期范围后,启用所需的协议(Admin/EAP/Portal)。请记住,如果启用了Admin usage,则会重新启动服务。
提示:建议为管理员和EAP证书使用公司内部CA,为访客/发起人/热点/等门户使用公开签署的证书。原因是,如果用户或访客进入网络并且ISE门户使用访客门户的私有签名证书,他们收到证书错误或他们的浏览器可能会阻止他们访问门户页面。要避免所有这些情况,请使用公用签名证书供门户使用,以确保更好的用户体验。此外,必须将每个部署节点的IP地址添加到SAN字段,以避免通过IP地址访问服务器时出现证书警告。
备份证书和私钥
建议导出:
1. 所有系统证书(来自部署中的所有节点)及其私钥(重新安装它们时需要此密钥)都发送到安全位置。记录证书配置(证书用于什么服务)。
2. 来自主管理节点的受信任证书库的所有证书。记录证书配置(证书用于什么服务)。
3. 所有证书颁发机构证书。
为了做到这一点,
- 导航到
Administration > System > Certificates > Certificate Management > System Certificates。选择证书并单击Export。选择Export Certificates和Private Keys单选按钮。输入私钥密码并确认密码。单击。Export
- 导航到
Administration > System > Certificates > Certificate Management > Trusted Certificates。选择证书并单击Export。单击Save File以导出证书。
- 导航到
Administration > System > Certificates > Certificate Authority > Certificate Authority Certificates。选择证书并单击Export。选择Export Certificates和Private Keys单选按钮。输入Private Key Password和Confirm Password。单击。Export单击Save File以导出证书。
故障排除
检查证书有效性
如果思科ISE受信任证书或系统证书库中的任何证书已过期,升级过程将失败。确保在“受信任证书”(Trusted Certificates)和“系统证书”(System Certificates)窗口的“到期日期”(Expiration Date)字段中检查有效性(Administration > System > Certificates > Certificate Management),并根据需要更新它们,然后再升级。
此外,在CA Certificates窗口(Administration > System > Certificates > Certificate Authority > Certificate Authority Certificates)中,检查Expiration Date字段中证书的有效性,并根据需要更新它们,然后再升级。
删除证书
如果ISE中的证书已过期或未使用,则需要将其删除。确保在删除之前导出证书(如果适用,使用它们的私钥)。
要删除已到期证书,请导航到Administration > System > Certificates > Certificate Management。单击。System Certificates Store选择过期证书并单击Delete。
有关受信任证书和证书颁发机构证书存储的信息,请参阅。
请求方不信任802.1x身份验证上的ISE服务器证书
验证ISE是否为SSL握手进程发送完整的证书链。
在客户端操作系统设置中选择了需要服务器证书(即PEAP)和验证服务器身份的EAP方法,请求方会使用其本地信任库中的证书验证证书链,作为身份验证过程的一部分。作为SSL握手过程的一部分,ISE会提供其证书以及链中存在的所有根证书和/或中间证书。如果链不完整或其信任存储中缺少此链,请求方将无法验证服务器身份。
要验证证书链是否传回客户端,请在身份验证时从ISE (Operations > Diagnostic Tools > General Tools > TCP Dump)或Wireshark捕获终端的数据包。打开捕获并在Wireshark中应用过滤器ssl.handshake.certificates,查找访问质询。
选择后,导航到Expand Radius Protocol > Attribute Value Pairs > EAP-Message Last segment > Extensible Authentication Protocol > Secure Sockets Layer > Certificate > Certificates。
如果链不完整,请导航到ISEAdministration > Certificates > Trusted Certificates,并验证根和/或中间证书是否存在。如果证书链成功通过,则必须使用此处概述的方法验证证书链本身是否有效。
打开每个证书(服务器、中间证书和根证书)并验证信任链,将每个证书的主题密钥标识符(SKI)与链中下一个证书的授权密钥标识符(AKI)相匹配。
ISE证书链正确,但终端在身份验证期间拒绝ISE服务器证书
如果ISE为SSL握手提供其完整的证书链,并且请求方仍然拒绝证书链;下一步是验证根证书和/或中间证书是否在客户端本地信任库中。
为了从Windows设备对此进行验证,请启动mmc.exe(Microsoft管理控制台),导航到File > Add-Remove Snap-in。从“可用管理单元”列中,选择Certificates,然后单击Add。根据使用的身份验证类型(用户或计算机)选择My user account 或Computer account,然后单击OK。
在控制台视图下,选择Trusted Root Certification Authorities和Intermediate Certification Authorities以验证本地信任存储中是否存在根证书和中间证书。
验证这是服务器身份检查问题的一种简单方法,取消选中Supplicant客户端配置文件配置下的Validate Server Certificate,然后再次测试。
常见问题解答
当ISE抛出证书已存在的警告时,该怎么办?
此消息意味着ISE检测到具有完全相同OU参数的系统证书,并且尝试安装重复的证书。由于不支持复制系统证书,因此建议将任何城市/州/省的值更改为稍有不同的值,以确保新证书不同。
为什么浏览器会抛出警告,指出来自ISE的门户页面是由不受信任的服务器提供的?
当浏览器不信任服务器的身份证书时,会发生这种情况。
首先,确保浏览器上显示的门户证书符合预期,并且已在ISE上为门户配置。
第二,确保通过FQDN访问门户-如果使用的IP地址,请确保FQDN和IP地址都位于证书的SAN和/或CN字段中。
最后,确保客户端操作系统/浏览器软件导入/信任门户证书链(ISE门户、中间CA、根CA证书)。
注意:iOS、Android OS和Chrome/Firefox浏览器的某些更高版本对证书有严格的安全要求。即使满足这些点,如果门户和中间CA小于SHA-256,它们也可以拒绝连接。
当升级因证书无效而失败时,该怎么办?
如果思科ISE受信任证书或系统证书库中的任何证书已过期,升级过程将失败。确保在“受信任证书”(Trusted Certificates)和“系统证书”(System Certificates)窗口的“到期日期”(Expiration Date)字段中检查有效性(Administration > System > Certificates > Certificate Management),并根据需要更新它们,然后再升级。
此外,在CA Certificates窗口(Administration > System > Certificates > Certificate Authority > Certificate Authority Certificates)中,检查Expiration Date字段中证书的有效性,并根据需要更新它们,然后再升级。
在ISE升级之前,请确保内部CA证书链有效。
导航到Administration > System > Certificates > Certificate Authority Certificates。对于部署中的每个节点,在Friendly Name列中选择Certificate Services Endpoint Sub CA证书。单击View并检查“Certificate Status”是否为正常消息并且是可见的。
如果任何证书链中断,请确保在Cisco ISE升级过程开始之前修复问题。要解决此问题,请导航到Administration > System > Certificates > Certificate Management > Certificate Signing Requests,然后为ISE根CA选项生成一个。
相关信息