Cisco pxGrid 和 ISE
![]() 注 |
现在所有 pxGrid 连接都必须使用基于 WebSockets 的 pxGrid 2.0。依赖 pxGrid 1.0(基于 XMPP)的集成将不再运行。建议将您的其他系统升级到兼容 pxGrid 2.0 的版本,以防止集成出现潜在中断。 |
Cisco Platform Exchange Grid (pxGrid) 是一个开放且可扩展的安全产品集成框架,允许任意合作伙伴平台双向集成。
pxGrid 2.0 使用 REST 和 WebSocket 接口。客户端使用 REST 处理控制消息、查询和应用数据,并使用 WebSocket 推送事件。有关 pxGrid 2.0 的详细信息,请参阅欢迎学习思科平台交换网格 (pxGrid)。
有关 Cisco pxGrid Direct 的详细信息,请参阅思科 pxGrid Direct。
有关 Cisco pxGrid Cloud 的信息,请参阅《Cisco pxGrid Cloud 解决方案指南》。
pxGrid 可以:
-
与其他网络系统(例如思科 ISE 生态系统合作伙伴系统)和其他思科平台共享思科 ISE 会话目录中的情景相关信息。
-
让第三方系统能调用自适应网络控制操作隔离用户和设备以应对网络或安全事件。标签定义、值和说明等 TrustSec 信息通过 TrustSec 主题从思科 ISE 传输到其他网络。
-
通过终端配置文件元主题,将具有完全限定名称 (FQN) 的终端配置文件从思科 ISE 发送到其他网络。
-
批量下载标签和终端配置文件。
-
通过 pxGrid 发布和订用 SXP 绑定(IP-SGT 映射)。有关 SXP 绑定的详细信息,请参阅《思科 ISE 管理员指南》中“分段”一章中的安全组标签交换协议部分。
-
Cisco pxGrid Context-in 使生态系统合作伙伴能够将主题信息发布到思科 ISE。因此思科 ISE 能够根据生态系统中识别的资产采取行动。有关 Cisco pxGrid Context-in 的详细信息,请参阅 pxGrid Context-In。
pxGrid 概述
pxGrid 具有以下组件:
-
控制器:处理发现、身份验证和授权。
-
提供程序:返回查询结果或发布。
-
Pubsub:为提供程序和使用者提供 pxGrid 服务。
-
用户:获得授权后,用户会从订阅的主题获取情景信息和警报。
pxGrid 提供以下功能:
-
发现:根据服务名称发现服务属性。当提供程序要求向 pxGrid 控制器“注册服务”时,流程开始。注册后,消费者使用“查找服务”发现提供商的位置。
-
身份验证:pxGrid 控制器验证 pxGrid 客户端有否有权访问服务。凭证为用户名和密码或证书(首选)。
-
授权:当 pxGrid 收到操作请求时,它会与 pxGrid 控制器协商以授权请求。pxGrid 将客户端分配到预定义的组。
pxGrid 2.0 的高可用性
pxGrid 2.0 节点在主动/主动配置下运行。为实现高可用性,部署中应至少有两个 pxGrid 节点。大型部署最多可以有四个节点,以增加规模和冗余。我们建议您为所有节点配置 IP 地址,以便在一个节点关闭时,该节点的客户端连接到工作节点。当 PAN 关闭时,pxGrid 服务器会停止处理激活。手动升级 PAN 才能激活 pxGrid 服务器。有关 pxGrid 部署的详细信息,请参阅 ISE 性能和扩展。
所有 pxGrid 服务会在 7.5 分钟内定期向 pxGrid 控制器重新注册。如果服务未重新注册,PAN 会认为该服务处于非活跃状态并删除该服务。如果 PAN 节点宕机超过 7.5 分钟,恢复运行后,会删除所有时间戳早于 7.5 分钟的服务。之后,所有这些服务都必须重新向 pxGrid 控制器注册。
pxGrid 2.0 客户端使用 WebSocket 和基于 REST 的 API 进行发布/订阅和查询。这些 API 由端口 8910 上的 ISE 应用服务器提供。通过 show logging application pxgrid 显示的 pxGrid 进程不适用于 pxGrid 2.0。
![]() 注 |
GUI 和 CLI 中对 pxGrid 1.0 进程的所有引用均已删除。 |
丢失检测
序列 ID 会添加到 pxGrid 主题中。如果传输中断,用户可以通过检查 ID 序列中的缺口来识别这种情况。用户注意到主题序列 ID 发生变化,根据最后一个序列号的日期请求数据。如果发布者关闭,则当它恢复时,主题序列从 0 开始。当用户看到序列 0 时,必须清除缓存并开始批量下载。如果用户关闭,发布者会继续分配顺序 ID。当用户重新连接后发现序列 ID 出现缺口时,用户会从最后一个序列号的时间开始请求数据。丢失检测配合 Session Directory 和 TrustSec 配置运行。对于 Session Directory,当客户端检测到丢失时,必须清除缓存并开始批量下载。
如果您现有的应用不使用序列 ID,则不必使用它们。但是,使用它们有助于检测丢失情况并从丢失中恢复。
Session Directory 会话是批处理的,在每个通知间隔内由 MnT 异步发布到 /topic/com.cisco.ise.session。
TrustSec Security Group 的更改将发布到 /topic/com.cisco.ise.config.trustsec.security.group。
丢失检测仅受 pxGrid 2.0 支持,默认情况下处于启用状态。
要查看使用丢失检测的代码示例,请参阅https://github.com/cisco-pxgrid/pxgrid-rest-ws/tree/master/java/src/main/java/com/cisco/pxgrid/samples/ise。
监控和调试
以下日志可用于 pxGrid:
-
pxgrid-server.log:pxGrid 2.0 活动和错误
日志 (Log) 页面显示所有 pxGrid 2.0 管理事件。事件信息包括客户端和功能名称,以及事件类型和时间戳。选择 管理 > pxGrid 服务 > 诊断 > 日志 以查看事件列表。您还可以清除日志并重新同步或刷新列表。
pxGrid 故障切换和恢复
在多 pxGrid 节点部署中,在不同的故障切换场景下,pxGrid 恢复所需的时间因发生故障或重新启动的节点而异,其中一些变量在中进行了说明。详情如下。
以下是四种不同的 pxGrid 故障切换和恢复场景,以及在每种情况下内部触发的工作流程:
-
主 pxGrid 节点宕机
辅助 pxGrid 节点 MnT 仍然是会话数据发布者。如果防火墙管理中心 (FMC) 连接到主节点,则在几次不成功的重试尝试后,它就会连接并订用辅助节点。由于出现中断,FMC 将执行批量下载。
如果 FMC 已订用辅助 pxGrid 节点,则恢复将更加顺畅。由于没有中断,因此 FMC 不需要执行批量下载。因此,恢复速度要快得多。在这种情况下,恢复时间可以短至 2 分钟。
-
主 pxGrid 节点恢复正常运行
FMC 仍与辅助 pxGrid 节点连接,且由于辅助节点会继续发布会话数据,因此中断会较少。在此情况下,无需批量下载,因此恢复速度与前一场景相同。
只有在重新建立所有扇出并完成数据库同步后,FMC 才能重新建立与 pxGrid 的连接并连接到主 pxGrid 节点。
-
辅助 pxGrid 节点宕机
如果 FMC 连接到主节点 pxGrid,它将继续连接到该节点。但会出现中断,因为到目前为止,辅助 MnT 一直是会话主题数据的发布者。主 MnT 节点需要一些时间才能意识到辅助 MnT 节点已关闭,当它意识到时,它会开始从主节点发布会话主题数据。
如果 FMC 连接到辅助节点上的 pxGrid,它会重试连接,并在失败时连接到主要 PxGrid 节点进行订用。这与上一步并行发生。与辅助 pxGrid 节点成功重新连接后,FMC 将执行批量下载。
-
辅助 pxGrid 节点恢复正常运行
在这种情况下,恢复所需的时间最长。如果在辅助节点关闭期间发生了任何与 pxGrid 相关的数据库更改,则在数据库同步操作完成之前,pxGrid 可能无法正常工作。数据库同步所需的时间取决于配置数据库的大小。
辅助 pxGrid 节点恢复为会话数据发布者。
所有模块都会收到刷新部署通知,pxGrid 模块收到通知后会重新建立用于内部数据分发的所有扇出。在此之前,pxGrid 将无法完全正常运行。
如果 FMC 必须重新连接,重新连接成功后,FMC 将进行批量下载。
pxGrid 过滤
从思科 ISE 版本 3.4 开始,pxGrid 支持根据客户端的特定要求过滤信息。目前,以下主题支持 pxGrid 过滤:
-
TrustSec SXP
-
会话目录 - 会话主题
-
会话目录 - 组主题
在思科 ISE 3.3 及更早版本中,pxGrid 会将从发布者处收到的所有信息发布到客户端。pxGrid 过滤功能使客户端能够仅从每个订用的发布者接收相关信息。pxGrid 信息会根据以下两个实例中应用的筛选器进行筛选:
-
批量下载之前
-
在向客户发布实时数据之前
有关如何在订阅期间使用过滤器批量下载和实时数据的更多信息和工作示例,请参阅 pxGrid GitHub 页面和《思科 pxGrid API 参考指南》。
pxGrid 摘要页面
“pxGrid 摘要”页面显示当前 pxGrid 2.0 环境的统计信息。
-
当前连接 (Current Connections):列出与控制器的连接
-
控制消息 (Control Messages):身份验证、授权和服务发现
-
REST API:使用 WebSocket 或 XMPP 连接的客户端数量
-
Pubsub 吞吐量 (Pubsub Throughput):发布到客户端的数据量
-
客户端 (Clients):通过 REST 或 WebSocket 连接的客户端
-
错误数 (Errors):导致客户端请求重新启动数据传输的传输错误数
pxGrid 客户端管理
客户端必须注册并获得账户批准才能在思科 ISE 中使用 pxGrid 服务。客户端通过 pxGrid SDK 使用 pxGrid 客户端库进行注册。思科 ISE 同时支持自动和手动注册。
-
客户端:选择 管理 > pxGrid 服务 > 客户端管理 > 客户端 以查看此窗口。列出 pxGrid 2.0的外部客户端账户。
-
pxGrid 策略:选择 管理 > pxGrid 服务 > 客户端管理 > pxGrid 策略 以查看此窗口。列出客户端可以订阅的可用服务。您可以编辑策略以更改哪些组可以访问该策略。您还可以为尚无策略的服务创建新策略。
-
组:选择 管理 > pxGrid 服务 > 客户端管理 > 组 以查看此窗口。默认组为 EPS 或 ANC。ANC 是一个预定义组。您可以添加更多组,并使用它们限制对服务的访问。
pxGrid 客户端可通过 REST API 发送用户名,向 pxGrid 控制器注册。在客户端注册时,pxGrid 控制器为 pxGrid 客户端生成密码。管理员可以批准或拒绝连接请求。
-
证书:选择 管理 > pxGrid 服务 > 客户端管理 > 证书 以查看此窗口。您可以生成新证书以使用思科 ISE 内部证书颁发机构。
控制 pxGrid 策略
您可以创建 pxGrid 授权策略来控制对 pxGrid 客户端可访问服务的访问。这些策略控制哪些服务可供 pxGrid 客户端使用。
您可以创建不同类型的组,并将 pxGrid 客户端的可用服务映射到这些组。使用客户端管理 > 组 (Client Management > Groups) 窗口中的管理组 (Manage Groups) 选项添加新组。您可以在中查看的示例授权规则。
要为 pxGrid 客户端创建授权策略,请执行以下操作:过程
|
步骤 1 |
选择 Administration > pxGrid Services > Client Management > Policy,然后点击 Add。 |
||
|
步骤 2 |
从服务 (Service) 下拉列表中,选择以下选项之一:
|
||
|
步骤 3 |
从操作 (Operation) 下拉列表中,选择以下选项之一:
|
||
|
步骤 4 |
从组 (Groups) 下拉列表中,选择要映射到此服务的组。 预定义组(例如 EPS 和 ANC)和手动添加的组列在此下拉列表中。
|
||
|
步骤 5 |
点击提交 (Submit)。 |
启用 pxGrid 服务
开始之前
-
至少在一个节点上启用 pxGrid 角色,以查看思科 pxGrid 客户端发送的请求。
过程
|
步骤 1 |
在思科 ISE GUI 中,点击菜单 图标 ( |
|
步骤 2 |
选中该客户端旁边的复选框,然后点击通过 (Approve)。 |
|
步骤 3 |
点击刷新 (Refresh) 查看最新的状态。 |
|
步骤 4 |
选择要启用的功能,并点击启用 (Enable)。 |
|
步骤 5 |
点击刷新查看最新的状态。 |
pxGrid 诊断
-
Websocket:Administration > pxGrid Services > Diagnostics > Websocket 页面列出了外部和内部 pxGrid 2.0 客户端。它还列出了可用 pxGrid 2.0 主题,以及发布或订阅每个主题的客户端。
-
日志:Administration > pxGrid Services > Diagnostics > Live Logs 页面列出了管理事件。
-
测试:选择 Administration > pxGrid Services > Diagnostics > Tests > Health Monitoring test 并点击 开始测试验证客户端是否可以访问会话目录服务。测试完成后,您可以查看测试活动的日志。
pxGrid 设置
在 管理 > pxGrid 服务 > 设置 窗口中选择以下选项之一:
-
自动批准新的基于证书的账户:默认情况下,此选项处于禁用状态。它使您可以控制与 pxGrid 服务器的连接。仅当您信任环境中的所有客户端时,才选中此选项。
-
允许创建基于密码的帐户 (Allow password based account creation):选中此复选框可为 pxGrid 客户端启用基于用户名/密码的身份验证。如果启用此选项,系统不会自动批准 pxGrid 客户端。
生成思科 pxGrid 证书
开始之前
-
思科 ISE pxGrid 服务器和 pxGrid 客户端不得使用相同的证书。您必须为 pxGrid 客户端使用客户端证书。要生成客户端证书,选择管理 > 系统 > 证书。
-
某些版本的思科 ISE 具有使用 NetscapeCertType 的思科 pxGrid 证书。建议您生成新证书。
-
要执行以下任务,您必须是超级管理员或系统管理员。
-
必须从主 PAN 生成思科 pxGrid 证书。
-
如果思科 pxGrid 证书使用了使用者替代名称 (SAN) 扩展名,请确保将使用者身份的 FQDN 包含为 DNS 名称条目。
-
创建使用数字签名用法的证书模板,并使用该模板生成新的思科 pxGrid 证书。

注
如果启用了 FIPS 模式,则 pxGrid 证书模板的 RSA 私钥大小必须为 2048 位或更大。否则,当您尝试生成 pxGrid 证书时,系统会显示错误。要更改证书模板的私钥大小,请参阅 更改 pxGrid 证书模板密钥大小。
过程
|
步骤 1 |
在思科 ISE GUI 中,点击菜单 图标 ( |
||
|
步骤 2 |
从 我想要 下拉列表中,选择以下选项之一:
|
||
|
步骤 3 |
(可选)输入此证书的说明。 |
||
|
步骤 4 |
点击 pxGrid_Certificate_Template 链接,根据您的要求下载和编辑证书模板。 |
||
|
步骤 5 |
输入 使用者备选名称 (SAN)。可以添加多个 SAN。可提供以下选项:
|
||
|
步骤 6 |
从证书下载格式 (Certificate Download Format) 下拉列表中选择以下选项之一:
|
||
|
步骤 7 |
输入证书的密码。 |
||
|
步骤 8 |
点击创建。 您创建的证书可以在已颁发证书 (Issued Certificates) 窗口中查看。要查看此处窗口,请点击菜单 图标 (
任何具有不合规证书的客户端都无法与思科 ISE 集成。使用内部 CA 颁发的证书或生成具有正确使用扩展名的新证书:
|
pxGrid 证书生成中的已知限制
思科 ISE 中的 pxGrid 证书生成遵循以下表格逻辑:
| 序列号 | 系统证书 (EAP) | 颁发者证书 | pxGrid 格式 | 支持信息 |
|---|---|---|---|---|
|
1 |
多个通用名称 |
单一公用名 |
PKCS8、PKCS12 |
是,支持 |
|
2 |
多个通用名称 |
多个通用名称 |
PKCS12 |
是,支持 |
|
3 |
多个通用名称 |
多个通用名称 |
PKCS8 |
不支持 |
更改 pxGrid 证书模板密钥大小
以下任务可帮助您更改 pxGrid 证书模板的密钥大小。
过程
|
步骤 1 |
在思科 ISE GUI 中,点击菜单 图标 ( |
|
步骤 2 |
选中模板 pxGrid_Certificate_Template 旁边的复选框。 |
|
步骤 3 |
点击编辑。 |
|
步骤 4 |
从 密钥大小 下拉列表中选择 2048。 |
|
步骤 5 |
点击保存。 |
反馈