此文档介绍如何将网络安全设备 (WSA) 与身份服务引擎 (ISE) 相集成。ISE 版本 1.3 支持一种新的 API 调用 pxGrid。这个灵活的新型协议支持身份验证、加密和权限(组),因此可以轻松地与其他安全解决方案实现集成。
WSA 版本 8.7 支持 pxGrid 协议,并且能够从 ISE 检索情景和身份信息。故此,WSA 可以根据从 ISE 检索到的 TrustSec 安全组标记 (SGT) 组来创建策略。
建议本文档的使用者拥有配置思科 ISE 的经验,并具备以下主题的基本知识:
本文档中的信息基于以下软件和硬件版本:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
TrustSec SGT 标签由 ISE 分配。ISE 是面向企业网络中各类用户的身份验证服务器,其中包括通过 802.1x 或 ISE 访客门户进行身份验证的有线/无线用户,以及通过 ISE 进行身份验证的远程 VPN 用户。
无论用户以何种方式访问网络,都不会对 WSA 造成影响。
下面的示例展示了在 ASA-VPN 终止会话的远程 VPN 用户的情况。ISE 已为用户分配了一个特定的 SGT 标签。所有流向互联网的 HTTP 流量都将被 ASA-FW(防火墙)拦截,并重定向至 WSA 进行检测。WSA 使用身份简档,可根据 SGT 标签进行用户分类,并在此基础上制定访问策略或加密策略。
具体流程如下:
ASA-VPN 是面向 TrustSec 配置的 VPN 网关。具体配置方法不在本文档所述范围之内。请参阅以下配置示例:
ASA 防火墙用于将 WCCP 重定向至 WSA。此设备不具有 TrustSec 感知能力。
interface GigabitEthernet0/0
nameif outside
security-level 100
ip address 172.16.33.110 255.255.255.0
interface GigabitEthernet0/1
nameif inside
security-level 100
ip address 172.16.32.110 255.255.255.0
access-list wccp-routers extended permit ip host 172.16.32.204 any
access-list wccp-redirect extended deny tcp any host 172.16.32.204
access-list wccp-redirect extended permit tcp any any eq www
access-list wccp-redirect extended permit tcp any any eq https
wccp 90 redirect-list wccp-redirect group-list wccp-routers
wccp interface inside 90 redirect in
ISE 是 TrustSec 部署的核心。它会为所有访问网络并经过身份验证的用户分配 SGT 标签。本节提供进行基本配置所需的步骤。
选择策略 > 结果 > 安全组访问 > 安全组,并创建 SGT:
选择策略 > 身份验证,为远程 VPN 访问创建规则。所有通过 ASA-VPN 建立的 VPN 连接都将获得完全访问权限 (PermitAccess),并被分配 SGT 标签值 2 (IT)。
要将 ASA-VPN 添加到 TrustSec 域,必须手动生成代理自动配置 (PAC) 文件。该文件需要从 ASA 导入,
此操作可在管理 > 网络设备下配置。成功添加 ASA 后,向下滚动至 TrustSec 设置部分,生成 PAC 文件。具体步骤在单独的(参考)文档中详述。
选择管理 > 部署,以启用 pxGrid 角色。
pxGrid 协议对客户端和服务器均使用证书身份验证。为 ISE 和 WSA 配置正确的证书十分重要。两种证书都应在“使用者”字段中包括完全限定域名 (FQDN),并使用 x509 扩展名,才能用于客户端身份验证和服务器身份验证。此外,还应确保为 ISE 和 WSA 创建正确的 DNS A 记录,该记录必须与对应的 FQDN 相匹配。
如果两种证书由不同的证书颁发机构 (CA) 签名,必须确保这些 CA 包含在受信任证书库中。
要配置证书,请选择管理 > 证书。
ISE 可以为每个角色生成一个证书签名请求 (CSR)。对于 pxGrid 角色,应使用外部 CA 导出 CSR 并进行签名。
在下面的示例中,模板中使用了 Microsoft CA:
结果如下所示:
请记得为指向 172.16.31.202 的 ise14.example.com 和 pxgrid.example.com 创建 DNS A 记录。
默认情况下,ISE 不会自动注册 pxGrid 用户。pxGrid 用户需要由管理员手动批准。在进行 WSA 集成时,需更改此默认设置。
选择管理 > pxGrid 服务,然后选择启用自动注册。
在下面的示例中,WSA 仅配置了管理接口、透明模式和 ASA 重定向:
WSA 只有在信任 CA 的前提下才会执行证书签名。选择网络 > 证书管理,以添加 CA 证书:
您还需要生成一个供 WSA 用于 pxGrid 身份验证的证书。选择网络 > 身份服务引擎 > WSA 客户端证书,以生成 CSR,并使用正确的 CA 模板 (ISE-pxgrid) 对其进行签名,然后将其导回 WSA。
此外,您还需要为“ISE 管理证书”和“ISE pxGrid 证书”导入 CA 证书(以便信任 ISE 提供的 pxGrid 证书):
选择网络 > 身份服务引擎,测试与 ISE 的连接:
选择网络安全管理器 > 标识配置文件,为 ISE 添加新配置文件。对于“标识和身份验证”,选择“使用 ISE 透明识别用户”。
选择网络安全管理器 > 访问策略,添加新策略。成员关系将依据 ISE 配置文件确定:
对于所选的组合用户,系统将添加 SGT 标签值 2 (IT):
此策略将拒绝属于 SGT IT 的用户访问一切体育类网站:
使用本部分可确认配置能否正常运行。
VPN 用户向 ASA-VPN 发起 VPN 会话:
ASA-VPN 利用 ISE 执行身份验证。ISE 创建会话,并分配 SGT 标签值 2 (IT):
身份验证成功后,ASA-VPN 使用 SGT 标签值 2 创建 VPN 会话(在 cisco-av-pair 的 Radius Access-Accept 中返回):
asa-vpn# show vpn-sessiondb anyconnect
Session Type: AnyConnect
Username : cisco Index : 2
Assigned IP : 172.16.32.50 Public IP : 192.168.10.67
Protocol : AnyConnect-Parent SSL-Tunnel DTLS-Tunnel
License : AnyConnect Essentials
Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)RC4 DTLS-Tunnel: (1)AES128
Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA1 DTLS-Tunnel: (1)SHA1
Bytes Tx : 12979961 Bytes Rx : 1866781
Group Policy : POLICY Tunnel Group : SSLVPN
Login Time : 21:13:26 UTC Tue May 5 2015
Duration : 6h:08m:03s
Inactivity : 0h:00m:00s
VLAN Mapping : N/A VLAN : none
Audt Sess ID : ac1020640000200055493276
Security Grp : 2:IT
由于 ASA-VPN 与 ASA-FW 之间的链路未启用 TrustSec,所以 ASA-VPN 会为该流量发送未标记的帧(无法使用注入的 CMD/TrustSec 字段创建 GRE 封装以太网帧)。
在这个阶段,WSA 应该会通过 pxGrid 协议收到 IP 地址、用户名和 SGT 之间的映射关系:
VPN 用户发起连接到 sport.pl 的请求。该请求被 ASA-FW 拦截:
asa-fw# show wccp
Global WCCP information:
Router information:
Router Identifier: 172.16.33.110
Protocol Version: 2.0
Service Identifier: 90
Number of Cache Engines: 1
Number of routers: 1
Total Packets Redirected: 562
Redirect access-list: wccp-redirect
Total Connections Denied Redirect: 0
Total Packets Unassigned: 0
Group access-list: wccp-routers
Total Messages Denied to Group: 0
Total Authentication failures: 0
Total Bypassed Packets Received: 0
asa-fw# show access-list wccp-redirect
access-list wccp-redirect; 3 elements; name hash: 0x9bab8633
access-list wccp-redirect line 1 extended deny tcp any host 172.16.32.204 (hitcnt=0)
0xfd875b28
access-list wccp-redirect line 2 extended permit tcp any any eq www (hitcnt=562)
0x028ab2b9
access-list wccp-redirect line 3 extended permit tcp any any eq https (hitcnt=0)
0xe202a11e
并通过 GRE 隧道传输至 WSA(注意 WCCP 路由器 ID 是所配置的最大的 IP 地址):
asa-fw# show capture
capture CAP type raw-data interface inside [Capturing - 70065 bytes]
match gre any any
asa-fw# show capture CAP
525 packets captured
1: 03:21:45.035657 172.16.33.110 > 172.16.32.204: ip-proto-47, length 60
2: 03:21:45.038709 172.16.33.110 > 172.16.32.204: ip-proto-47, length 48
3: 03:21:45.039960 172.16.33.110 > 172.16.32.204: ip-proto-47, length 640
WSA 继续执行 TCP 握手,并处理 GET 请求。处理结果是匹配到名为 PolicyForIT 的策略,流量继而被阻止:
从 WSA 报告可以确认此情况:
可以看到,ISE 会显示相关的用户名。
本部分提供了可用于对配置进行故障排除的信息。
如果 WSA 未正确初始化(证书),ISE 连接测试会失败:
ISE pxgrid-cm.log 将显示以下内容:
[2015-05-06T16:26:51Z] [INFO ] [cm-1.jabber-172-16-31-202]
[TCPSocketStream::_doSSLHandshake] [] Failure performing SSL handshake: 1
通过 Wireshark 可查看失败的原因:
如果 SSL 会话用于保护 pxGrid 使用的可扩展消息传送和网真协议 (XMPP) 交换,客户端会报告 SSL 连接失败,原因是服务器提供了未知的证书链。
在没有任何错误的情况下,ISE pxgrid-controller.log 会记录以下信息:
2015-05-06 18:40:09,153 INFO [Thread-7][] cisco.pxgrid.controller.sasl.SaslWatcher
-:::::- Handling authentication for user name wsa.example.com-test_client
此外,ISE GUI 会将 WSA 显示为功能正常的用户:
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
30-Jul-2015 |
初始版本 |