什么是通配符证书,我如何在思科的ISE中使用它们?

详细说明了如何在802.1X中使用通配符证书,包括将通配符值添加到证书的SAN字段。

通配符证书使用通配符符号(域名前的星号和句点),并允许在组织中的多个主机之间共享证书。通配符证书的主题名的CN值示例如下

如果配置通配符要使用* .company.local,则可以使用该证书来保护其DNS名称在“.compand.local”中结束的任何主机,例如:

  • aaa.company.local
  • psn.company.local
  • mydevices.company.local.
  • sponsor.company.local

图1显示了使用通配符证书来保护网站(特别是ISE节点的web界面)的示例。注意,在图1中,输入到浏览器地址栏的URL是“atw-lab-ise01.woland.com”,但是证书的通用名称是“*.woland.com”。

通配符的例子 亚伦Woland

图1:通配符证书示例

通配符证书以与普通证书相同的方式保护通信,并且使用相同的验证方法处理请求。

ISE在哪里使用证书?

经常在实现安全访问的网络中使用证书。证书用于将身份服务引擎(ISE)标识到端点,并确保该端点和ISE节点之间的通信。证书用于所有HTTPS通信以及可扩展认证协议(EAP)通信。

使用ISE证书的HTTPS通信:

每个拥有ISE版本1.1.0及更新版本的门户网站都使用HTTPS (TLS加密HTTP通信)进行安全保护。图2描述了与Admin门户通信时的TLS加密过程。

  • 管理门户
  • 集中式Web身份验证(CWA)门户
  • 赞助商门户
  • 客户端配置门户(CPP)和本地申请人配置(NSP)
  • MyDevices门户
管理员门户考试器 亚伦Woland

图2 -管理门户示例

学术用途英语交流:

证书与几乎所有可能的EAP方法一起使用。主要例子包括:

  • EAP-TLS
  • PEAP
  • EAP-FAST.

使用PEAP和快速,传输层安全(TLS)等隧道EAP方法来保护凭证交换。很想像去HTTPS网站一样,客户端建立与服务器的连接,这向客户提供了证书。如果客户端信任证书,则形成TLS隧道。在建立此隧道之后,客户端的凭据不会发送到服务器,从而确保安全交换。在安全访问部署中,客户端是请求者,服务器是ISE策略服务节点。图3描述了使用PEAP的示例。

PEAP例子 亚伦Woland

图3 - PEAP示例

为什么要使用通配符?

在ISE部署中实现通配符证书有很多原因。最终,那些选择使用它们的人这样做是为了确保最终用户体验尽可能无缝,特别是考虑到端点的巨大差异和多样性。

通配符证书的好处

通配符证书使用的一些优点的例子是:

1)节约成本。由第三方证书颁发机构签署的证书成本很高,特别是当服务器数量增加时。通配符证书可以在ISE部署(也称为“ISE Cube”)的所有节点上使用。

2)操作效率。通配符证书允许所有PSN EAP和web服务共享相同的证书。除了显著节省成本外,通过“一次创建,适用于多个”,证书管理也得到了简化。

3)减少认证错误。通配符证书解决了在Apple iOS设备中看到的问题,客户端在配置文件中存储受信任的证书,并且不遵循签名根受信任的iOS Keychain。当iOS客户端第一次与PSN通信时,它不会显式信任PSN证书,即使一个受信任的证书颁发机构已经签署了证书。

使用通配符证书,证书将在所有psn中是相同的,因此用户只需要接受一次证书,对不同psn的后续身份验证应该不会出现错误或提示。

4)简化了请求器配置。例如,启用了PEAP-MSCHAPv2和服务器证书信任的Microsoft Windows请求者通常需要指定要信任的每个服务器证书,或者当客户端使用不同的PSN连接时,可能会提示用户信任每个PSN证书。使用通配符证书,可以信任单个服务器证书,而不是来自每个PSN的单个证书。

最终,通配符证书会改善用户体验。更少的提示和更无缝的连接将转化为更快乐的用户和提高生产力。

对通配符证书的缺点

使用通配符证书有很多好处,但也有一些与通配符证书相关的安全考虑,包括:

1)失效性和不拒绝的丧失

2)增加私钥暴露

3)不常见或不被管理员理解

虽然被认为比为每个ISE节点分配唯一的服务器证书,但成本和其他操作因素经常超过安全风险,并且需要为我们的ISE部署中的客户提供这方面的需求。注意,其他安全设备如ASA也支持通配符证书。

部署通配符证书时,必须始终要小心。例如,如果您使用* .company.local和攻击者创建证书,则能够恢复私钥,攻击者可以在Company.local域中欺骗任何服务器。因此,它被认为是分区域空间以避免这种类型的妥协的最佳做法。

要解决此可能的问题并限制使用范围,通配符还可用于保护组织的特定子域。只需在要指定通配符的公共名称的子域区域中添加星号(*)。例如,如果为* .ise.Company.local配置通配符证书,则可以使用该证书来保护任何DNS名称在“.ise.Company.local”中结束的主机,例如:

  • psn.ise.company.local.local.
  • mydevices.ise.company.local
  • sponsor.ise.company.local.

通配符证书兼容性

通配符证书最常见于作为证书本身的主题字段的规范名称(CN)的通配符,例如图1. ISE版本1.2和更新的方式,但是不是所有端点的补充剂将在证书的主题中支持通配符。

所有经过测试的Microsoft native申请人(包括Windows Mobile)都不支持证书主题中的通配符。使用另一个请求,如思科的AnyConnect网络访问管理器(NAM),将允许在主题字段中使用通配符。另一种选择是使用特殊的通配符证书,如DigiCert的wildcard Plus,它通过在证书的Subject Alternative Name中包含特定的子域来设计用于不兼容的设备。

有关Microsoft对通配符证书的支持的更多信息,请参阅此处:http.://technet.microsoft.com/en-us/cc730460

使通配符在所有设备中工作

虽然与Microsoft Suppants的限制可能似乎是使用通配符证书的威慑,但是有替代的方法可以构造允许它与使用安全访问的所有设备一起使用的证书,包括Microsoft本地请求。

您可以将这些通配符值放入主题替代名称(subject Alternative Name, SAN)字段,而不是构造主题以包含通配符值。SAN字段维护了一个用于检查域名dNSName的扩展。参见RFC 6125和2128了解更多细节,图4中显示了RFC 6125的一小段摘录。

RFC摘录 IETF.

图4 - 来自RFC的摘录

ISE支持通配符证书

ISE在1.2版中增加了对通配符证书的支持。在1.2版本之前,ISE将对任何为HTTPS启用的证书执行验证,以确保CN字段与主机的完全合格域名(FQDN)完全匹配。如果字段不匹配,则无法将证书用于HTTPS。

存在此限制是因为在1.2版本之前,ISE将使用该CN值替换url重定向AV对字符串中的变量。对于所有集中式Web身份验证(CWA)、入站、姿态重定向等,都将使用CN值。

从ISE版本1.2开始,行为已经被修改为使用在ISE的底层操作系统配置中定义的主机名,而不是依赖于CN字段。

构造通配符证书

因为我们知道必须将通配符值插入到证书的Subject Alternative Name (SAN)字段中,作为Microsoft本地请求者的变通方法,所以我们剩下两种主要的方法来构造证书:

选项1:将主题的规范名称(CN)字段保留为空,并将通配符插入SAN字段。

虽然这在大多数私有证书颁发机构(如Microsoft Active Directory CA)中工作得很好,但大多数公共证书颁发机构都不允许创建没有CN值的证书。

图5显示了一个没有CN字段的有效通配符证书的示例。

选项1的例子 亚伦Woland

图5 -选项1的示例

选项2思科更喜欢最佳实践):对主题的CN字段使用通用主机名,并将相同的通用主机名和通配符值插入SAN字段。

这种方法在大多数经过测试的公共证书颁发机构(如Comodo.com和SSL.com)中都取得了成功。对于这些公共CA,要请求的证书类型是“统一通信证书”(UCC)。

选项2示例 亚伦Woland

图6 - 选项2的示例

笔记:对于选项1和2,生成的通配符证书只需要导入到运行Policy Services的ISE节点中,不需要将通配符证书导入到Policy Administration nodes (PAN)或Monitoring and Troubleshooting (MnT)节点中。

如何实现通配符证书

既然我们已经回顾了与伊势通配符证书和它们的用法,我们将通过创建一个通配符走证书后使用的通用主机名的最佳实践的CN字段,并插入相同的通用主机名和通配符进入圣字段值。

有几种方法可以将通配符证书导入ISE版本1.2。这个过程将遵循我们认为最常见的方法,即在ISE管理界面中创建证书签名请求(CSR),并将CSR提交给签名证书颁发机构(CA)。得到的签名公钥将绑定到ISE上的CSR。

最终的私有和公共密钥对将从第一个ISE节点导出,并在部署中的其他节点上导入。

创建证书签名请求(CSR)

从第一个ISE节点,导航到管理GUI的证书部分。对于专用策略服务节点,路径将是“管理>服务器证书”。如果节点也是一个管理节点,则路径将是“管理>证书>本地证书”。

步骤1单击“添加>生成证书签名请求”

证书主题中的步骤2输入ISE PSN的通用FQDN。

步骤3在“Subject Alternative Name (SAN)”区域框中,选择至少两个DNS名称

  • 其中一个DNS名称必须与步骤2中的CN =值匹配。
  • 其他DNS名称应该是通配符值。

步骤4确保选中“允许通配符”复选框。

步骤5单击“提交”。图7显示了一个示例CSR。

生成CSR 亚伦Woland

图7 -生成CSR

导出CSR并将其提交给证书颁发机构

现在已生成了CSR,我们需要导出它。

步骤1进入“证书签名请求”界面

步骤2突出显示CSR,然后单击“导出”

步骤3将CSR保存到本地。图8演示了CSR的导出

出口企业社会责任 亚伦Woland

图8 -导出CSR

步骤4在您最喜欢的文本编辑器中打开CSR,从“——BEGIN CERTIFICATE REQUEST——”到“——END CERTIFICATE REQUEST——”复制所有文本。

打开CSR. 亚伦Woland

图9 -打开CSR

步骤5将CSR的内容粘贴到所选CA上的证书请求中,例如在下面的图中看到。

将CSR粘贴到CA中 亚伦Woland

图10 - 将CSR粘贴到CA中

将CSR粘贴到公共CA 亚伦Woland

图11 - 粘贴CSR进入公共CA

步骤6下载生成的签名证书

下载签名证书 亚伦Woland

图12 -下载签名证书

在图12中,只是下载了证书。一些CA可能会在证书颁发后给你发邮件,你需要下载证书。在许多情况下,结果将是一个zip文件,其中不仅包含新颁发的证书,还包含要添加到ISE受信任证书存储中的CA的公共签名证书(如图13所示)。

证书 亚伦Woland

图13 - 证书

12 第1页
第1页,共2页
IT薪水调查:结果是