准则和限制
本节包括此功能的准则和限制。
情景模式准则
同时支持单情景和多情景模式。在相应版本的《ASA 常规操作 CLI 配置指南》中,有关在多情景模式下不支持内容的列表以及提供这些版本中新增内容细分信息的新功能,请参阅多情景模式准则。防火墙模式准则
仅在路由防火墙模式下受支持。不支持透明模式。
网络地址转换 (NAT)
有关 NAT 配置的准则和信息,请参阅《Cisco Secure Firewall ASA 系列防火墙 CLI 配置指南》的适用于 VPN 的 NAT 部分。
此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科可能会在某些地方提供本内容的当地语言翻译版本。请注意,翻译版本仅供参考,如有任何不一致之处,以本内容的英文版本为准。
虚拟专用网络的 ASA 实施包含不能简单归类的有用功能。本章将介绍其中一些功能。
本节包括此功能的准则和限制。
仅在路由防火墙模式下受支持。不支持透明模式。
有关 NAT 配置的准则和信息,请参阅《Cisco Secure Firewall ASA 系列防火墙 CLI 配置指南》的适用于 VPN 的 NAT 部分。
如要在不检查源和目标接口的 ACL 的情况下允许来自 IPsec 隧道的所有数据包,请在全局配置模式下输入 sysopt connection permit-vpn 命令。
如果使用位于 ASA 之后单独的 VPN 集中器并且想要最大限度提高 ASA 性能,则可能需要绕过用于 IPsec 流量的接口 ACL。通常,需要使用 access-list 命令创建允许 IPsec 数据包的 ACL,并将其应用于源接口。使用 ACL 可以指定想要允许其通过 ASA 的确切流量。
以下示例在不检查 ACL 的情况下允许 IPsec 流量通过 ASA:
hostname(config)# sysopt connection permit-vpn
注 |
配置了 no sysopt connection permit-vpn 时,尽管在外部接口上有访问组(调用 deny ip any any ACL),系统仍会允许来自客户端的解密直通流量。 如果尝试使用 no sysopt permit-vpn 命令结合外部接口上的访问控制列表 (ACL) 来控制通过站点间或远程访问 VPN 对受保护网络进行的访问,则无法成功进行控制。 sysopt connection permit-vpn 将在为需要关注的流量启用了加密映射的接口上绕过 ACL(入口和出口),连同所有其他接口的出口 (out) ACL 一起,但不包括入口 (in) ACL。 在这种情况下,启用管理访问内部接口时,系统不应用 ACL,用户仍然可以使用 SSH 连接到 ASA。流向内部网络中主机的流量会被 ACL 正确地阻止,但流向内部接口的解密直通流量不会被阻止。 ssh 和 http 命令具有比 ACL 更高的优先级。如要拒绝从 VPN 会话流向设备的 SSH、Telnet 或 ICMP 流量,应使用 ssh、telnet 和 icmp 命令。 |
ASA 提供一项功能,允许受 IPsec 保护的流量出入同一个接口,从而使得 VPN 客户端可以向其他 VPN 用户发送这些流量。该功能也称为“hairpinning”,可以将其视为通过 VPN 集线器 (ASA) 连接的 VPN 分支(客户端)。
Hairpinning 还可以将传入 VPN 流量通过与未加密流量相同的接口重新向外传出去。例如,对于没有分割隧道但需要同时访问 VPN 和浏览 Web 的 VPN 客户端来说,此功能非常有用。
下图显示了 VPN 客户端 1 发送安全 IPsec 流量至 VPN 客户端 2,同时还将未加密流量发送至公共 Web 服务器。
要配置此功能,请在全局配置模式下使用 same-security-traffic 命令及其 intra-interface 参数。
该命令的语法为 same-security-traffic permit {inter-interface | intra-interface}。
以下示例显示如何启用接口内流量:
hostname(config)# same-security-traffic permit intra-interface
hostname(config)#
注 |
如果使用 same-security-traffic 命令和 inter-interface 参数,则可允许安全级别相同的接口之间进行通信。该功能不是特定于 IPsec 连接的功能。有关详细信息,请参阅本指南的“配置接口参数”一章。 |
要使用 hairpinning,必须按照接口内流量的 NAT 注意事项中所述,对 ASA 接口应用适当的 NAT 规则。
要使 ASA 能够通过该接口退送未加密的流量,必须为该接口启用 NAT,以便公用可路由地址替换专用 IP 地址(除非已在本地 IP 地址池中使用公用 IP 地址)。以下示例对来自客户端 IP 池的流量应用接口 PAT 规则:
hostname(config)#
ip local pool clientpool 192.168.0.10-192.168.0.100
hostname(config)#
object network vpn_nat
hostname(config-network-object)#
subnet 192.168.0.0 255.255.255.0
hostname(config-network-object)#
nat (outside,outside) interface
然而,当 ASA 通过同一接口退送加密的 VPN 流量时,NAT 是可选的。无论是否使用 NAT,VPN 到 VPN Hairpinning 均可正常工作。要对所有传出流量应用 NAT,请仅实施以上命令。要使 VPN 到 VPN 流量豁免 NAT,请添加为 VPN 到 VPN 流量实施 NAT 豁免的命令(添加到以上示例命令中),例如:
hostname(config)#
nat (outside,outside) source static vpn_nat vpn_nat destination static vpn_nat vpn_nat
有关 NAT 规则的详细信息,请参阅本指南的“应用 NAT”一章。
要将 VPN 会话数限制为低于 ASA 允许的值,请在全局配置模式下输入 vpn-sessiondb 命令:
vpn-sessiondb {max-anyconnect-premium-or-essentials-limit <number> | max-other-vpn-limit <number>}
max-anyconnect-premium-or-essentials-limit 关键字指定 Secure Client 的最大会话数,从 1 到许可证允许的最大会话数。
注 |
正确的许可期限、级别和用户计数不再使用这些命令来确定。请参阅Secure Client订购指南:http://www.cisco.com/c/dam/en/us/products/collateral/security/anyconnect-og.pdf |
max-other-vpn-limit 关键字用于指定除 Secure Client会话之外的其他 VPN 的最大会话数,范围为从 1 到许可证允许的最大会话数。这包括思科 VPN 客户端 (IPsec IKEv1) 和 LAN 间 VPN 会话。
该限制会影响计算得出的 VPN 负载均衡的负载百分比。
以下示例显示如何设置值为 450 的最大 Anyconnect VPN 会话数限制:
hostname(config)# vpn-sessiondb max-anyconnect-premium-or-essentials-limit 450
hostname(config)#
注 |
本节中的信息仅适用于 IPsec 连接。 |
客户端更新功能使得处于中央位置的管理员能够自动通知 VPN 客户端用户更新 VPN 客户端软件。
远程用户可能正在使用已过时的 VPN 软件或硬件客户端版本。您可以随时使用client-update 命令来启用更新客户端修订版本的功能;指定更新适用的客户端类型和修订版本号;提供可以从中获得更新的 URL 或 IP 地址;对于 Windows 客户端,可以选择性地通知用户应更新其 VPN 客户端版本。对于 Windows 客户端,您可以为用户提供一种完成该更新的机制。该命令仅适用于 IPsec 远程访问隧道组类型。
要执行客户端更新,请在常规配置模式或 tunnel-group ipsec-attributes 配置模式下输入 client-update 命令。如果客户端已经在运行修订号列表中包含的软件版本,则无需更新其软件。如果客户端未运行列表中包含的软件版本,则应进行更新。以下程序说明如何执行客户端更新:
步骤 1 |
在全局配置模式下,输入此命令以启用客户端更新:
|
||||
步骤 2 |
在全局配置模式下,指定要对所有特定类型客户端应用的客户端更新参数。也就是说,指定客户端类型、可从中获取更新映像的 URL 或 IP 地址,以及该客户端的可接受的修订版本号。最多可以指定四个修订版本号,以逗号分隔。 如果用户的客户端修订版本号与某个指定的修订版本号匹配,则不需要更新客户端。该命令用于为整个 ASA 中所有指定类型的客户端指定客户端更新值。 使用以下语法:
可用的客户端类型为 win9X (包括 Windows 95、Windows 98 和 Windows ME 平台)、winnt (包括 Windows NT 4.0、Windows 2000 和 Windows XP 平台)、windows (包括所有基于 Windows 的平台)。 如果客户端已经在运行修订号列表中包含的软件版本,则无需更新其软件。如果客户端未运行列表中包含的软件版本,则应进行更新。最多可以指定这些客户端更新条目中的三个条目。关键字 windows 涵盖了所有允许的 Windows 平台。如果指定了 windows ,则不要指定单个 Windows 客户端类型。
或者,也可以只为单个隧道组配置客户端更新,而不是为特定类型的所有客户端配置更新。(请参阅步骤 3。)
|
||||
步骤 3 |
为特定的 ipsec-ra 隧道组定义一组客户端更新参数。 在 tunnel-group ipsec-attributes 模式下,指定隧道组名称及其类型、可从中获取更新映像的 URL 或 IP 地址,以及修订版本号。如果用户的客户端修订版本号与某个指定的修订版本号匹配,则不需要更新客户端。例如,对于 Windows 客户端,请输入此命令:
|
||||
步骤 4 |
(可选) 向安装过时 Windows 客户端的活动用户发送通知,指出其客户端需要更新。对于这些用户,系统将显示一个弹出窗口,让他们可以启动浏览器,并从您在 URL 中指定的站点下载经新的软件。此消息中唯一可配置的部分是 URL。(请参阅步骤 2 或 3。)非活动用户将在下次登录时收到通知消息。您可以向所有隧道组上的所有活动客户端发送此通知,也可以将其发送到特定隧道组上的客户端。例如,要通知所有隧道组上的所有活动客户端,则在特权 EXEC 模式下输入以下命令:
如果用户的客户端修订版本号与某个指定的修订版本号匹配,则不需要更新客户端,并且不会向该用户发送通知消息。 |
注 |
如果指定客户端更新类型为 windows (指定所有基于 Windows 的平台),然后要对同一实体输入win9x 或 winnt 的客户端更新类型,必须先使用此命令的 no 形式删除 windows 客户端类型,然后使用新的客户端更新命令指定新客户端类型。 |
在极少数情况下,您可能要在内部网络上使用 VPN 对等体的实际 IP 地址,而非已分配的本地 IP 地址。通常在使用 VPN 的情况下,对等体会获得分配的本地 IP 地址以访问内部网络。但是,在有些情况下,例如当内部服务器和网络安全基于对等体的真实 IP 地址时,可能就需要将本地 IP 地址重新转换为对等体的真实公共地址。
ASA 引入了一种方法,可以将 VPN 客户端在内部/受保护网络中分配的 IP 地址转换为其公共(源)IP 地址。该功能支持以下场景:内部网络中的目标服务器/服务和网络安全策略要求使用 VPN 客户端的公共/源 IP 而非其在内部企业网络中分配的 IP 进行通信。
可以在每个隧道组一个接口的基础上启用此功能。当 VPN 会话已建立或断开连接时,动态添加或删除对象 NAT 规则。
因为路由问题,除非您知道您需要此功能,否则我们不建议使用此功能。
仅支持旧版 (IKEv1) 和 Secure Client。
流向公共 IP 地址的返回流量必须路由回 ASA,以便应用 NAT 策略和 VPN 策略。
仅支持 IPv4 的已分配地址和公共地址。
不支持 NAT/PAT 设备之后的多个对等体。
不支持负载均衡(因为路由问题)。
不支持漫游。
步骤 1 |
在全局配置模式下,输入 tunnel general。 |
步骤 2 |
使用此语法来启用地址转换:
此命令动态安装将已分配 IP 地址转换为源的公共 IP 地址的 NAT 策略。interface 用于确定要应用 NAT 的接口。 |
步骤 3 |
使用此语法来禁用地址转换:
|
地址转换使用基础对象 NAT 机制;因此,VPN NAT 策略会如同手动配置的对象 NAT 策略一样显示。此示例将 95.1.226.4 用作分配的 IP,将 75.1.224.21 用作对等体的公共 IP:
hostname
# show nat
Auto NAT Policies (Section 2)
1 (outside) to (inside) source static _vpn_nat_95.1.226.4 75.1.224.21
translate_hits = 315, untranslate_hits = 315
prompt# show nat detail
Auto NAT Policies (Section 2)
1 (outside) to (inside) source static _vpn_nat_95.1.226.4 75.1.224.21
translate_hits = 315, untranslate_hits = 315
Source - Origin: 95.1.226.4/32, Translated: 75.1.224.21/32
Outside 是 Secure Client连接至的接口,而 inside 是特定于新隧道组的接口。
注 |
因为 VPN NAT 策略是动态的且不会添加到配置中,所以在 show run 对象和 show run nat 报告中,VPN NAT 对象和 NAT 策略会隐藏。 |
您可以运行的 IPsec 和 SSL VPN 会话数量与您的平台和 ASA 许可证支持的数量相同。要查看 ASA 的许可信息(包括最大会话数),请在全局配置模式下输入 show version 命令,并查找许可部分。以下示例显示该命令和该命令输出中的许可信息;为明确期间,其中还编入了其他输出内容。
hostname(config)# show version
...
Licensed features for this platform:
Maximum Physical Interfaces : Unlimited perpetual
Maximum VLANs : 500 perpetual
Inside Hosts : Unlimited perpetual
Failover : Active/Active perpetual
Encryption-DES : Enabled perpetual
Encryption-3DES-AES : Enabled perpetual
Security Contexts : 100 perpetual
Carrier : Enabled perpetual
AnyConnect Premium Peers : 5000 perpetual
AnyConnect Essentials : 5000 perpetual
Other VPN Peers : 5000 perpetual
Total VPN Peers : 5000 perpetual
AnyConnect for Mobile : Enabled perpetual
AnyConnect for Cisco VPN Phone : Enabled perpetual
Advanced Endpoint Assessment : Enabled perpetual
Shared License : Disabled perpetual
Total TLS Proxy Sessions : 3000 perpetual
Botnet Traffic Filter : Disabled perpetual
IPS Module : Disabled perpetual
Cluster : Enabled perpetual
Cluster Members : 2 perpetual
This platform has an ASA5555 VPN Premium license.
使用以下命令显示资源分配:
asa2(config)# sh resource allocation
Resource Total % of Avail
Conns[rate] 100(U) 0.00%
Inspects[rate] unlimited
Syslogs[rate] unlimited
Conns unlimited
Hosts unlimited
IPsec unlimited
Mac-addresses unlimited
ASDM 10 5.00%
SSH 10 10.00%
Telnet 10 10.0%
Xlates unlimited
AnyConnect 1000 10%
AnyConnectBurst 200 2%
OtherVPN 2000 20%
OtherVPNBurst 1000 10%
使用以下命令显示资源使用情况:
注 |
还可以使用 sh resource usage system controller all 0 命令显示系统级别使用情况,其限制为平台限制。
|
要将 AnyConnect VPN 会话(IPsec/IKEv2 或 SSL)数限制为低于 ASA 允许的值,可以在全局配置模式下使用 vpn-sessiondb max-anyconnect-premium-or-essentials-limit 命令。要删除会话限制,请使用此命令的 no 版本。
如果 ASA 许可证允许 500 个 SSL VPN 会话,而您想要将 AnyConnect VPN 会话数限制为 250 个,请输入以下命令:
hostname(config)# vpn-sessiondb max-anyconnect-premium-or-essentials-limit 250
hostname(config)#
要删除会话限制,请使用此命令的 no 版本:
hostname(config)# no vpn-sessiondb max-anyconnect-premium-or-essentials-limit 250
hostname(config)#
ASA 在与Secure Client协商 IKEv2 隧道时需要使用身份证书。对于 ikev2 远程访问信任点配置,请使用以下命令
crypto ikev2 remote-access trustpoint <name> [line<number>]
使用此命令可以让 Secure Client支持最终用户的组选择。可以同时配置两个信任点:两个 RSA、两个 ECDSA 或各一个。ASA 扫描已配置的信任点列表并选择客户端支持的第一个信任点。如果首选 ECDSA,则应先配置 ECDSA 信任点,再配置 RSA 信任点。
行号选项指定您想要插入信任点的行号。通常,此选项用于在不删除和重新添加另一行的情况下,在顶部插入信任点。如果未指定行,ASA 将在列表末尾添加信任点。
如果尝试添加已存在的信任点,将收到一条错误消息。如果使用 no crypto ikev2 remote-access trustpoint 命令而不指定要删除哪个信任点名称,则会删除所有信任点配置。
可以在对称多处理 (SMP) 平台上更改加密核心的分配,以提高 Secure Client TLS/DTLS 流量的吞吐量。这些更改可以加速 SSL VPN 数据路径,并在 Secure Client、智能隧道和端口转发方面提供客户可见的性能提升。以下步骤说明如何在单情景或多情景模式下配置加密核心池。
指定如何分配密码加速器处理器: crypto engine accelerator-bias
示例:
|
通过动态拆分隧道,您可以在建立隧道后基于主机 DNS 域名动态调配拆分排除隧道。通过创建自定义属性并将其添加到组策略,可配置动态分割隧道。
要使用此功能,必须具备 AnyConnect 版本 4.5(或更高版本)。有关进一步说明,请参阅关于动态分割隧道。
步骤 1 |
在 WebVPN 上下文中可使用以下命令定义自定义属性: |
步骤 2 |
定义客户端需要访问的 VPN 隧道外的每个云/Web 服务的自定义属性名称。例如,添加 Google_domains 以表示有关 Google Web 服务的 DNS 域名的列表。属性值包含要从 VPN 隧道中排除的域名列表,且必须为逗号分隔值
(CSV) 格式,如下所示: |
步骤 3 |
使用以下命令将之前定义的自定义属性附加到特定策略组中,该命令在组策略属性上下文中执行: |
管理 VPN 隧道可确保客户端系统在开启时连接到企业网络,这不仅限于最终用户建立了 VPN 连接的情况。您可以对办公室外的终端(尤其是用户很少通过 VPN 连接到办公网络的设备)执行补丁管理。需要企业网络连接的终端操作系统登录脚本也可以得益于此功能。
管理 VPN 隧道是为了向最终用户提供透明性;因此在默认情况下,用户应用发起的网络流量不会受到影响,而是会被定向到管理 VPN 隧道外部。
如果用户抱怨登录缓慢,可能表示管理隧道配置不当。有关管理 VPN 隧道的其他要求、不兼容问题、限制和故障排除,请参阅《Cisco 安全客户端 安全移动客户端管理指南》。
需要 AnyConnect 版本 4.7(或更高版本)。
步骤 1 |
将已上传的配置文件 (profileMgmt) 添加到映射到管理隧道连接所用隧道组的组策略 (MgmtTunGrpPolicy): 要指示配置文件是 AnyConnect 管理 VPN 配置文件,请在 anyconnect profiles 命令中包含 type vpn-mgmt 。常规 AnyConnect VPN 配置文件的类型为 user。
|
步骤 2 |
要通过用户隧道连接部署管理 VPN 配置文件,请将上传的配置文件 (profileMgmt) 添加到映射到用户隧道连接所用隧道组的组策略 (DfltGrpPolicy):
|
以下主题介绍如何查看 VPN 会话信息。
要使用命令行界面查看活动的 Secure Client 会话,请在特权 EXEC 模式下输入 show vpn-sessiondb anyconnect filter p-ipversion 或 show vpn-sessiondb anyconnect filter a-ipversion 命令。
显示按终端的公共 IPv4 或 IPv6 地址过滤的活动 Secure Client 会话。公共地址是由企业分配给终端的地址。
show vpn-sessiondb anyconnect filter p-ipversion {v4 | v6}
显示按终端的已分配 IPv4 或 IPv6 地址过滤的活动 Secure Client 会话。已分配地址是由 ASA 分配给 Secure Client的地址。
show vpn-sessiondb anyconnect filter a-ipversion {v4 | v6}
hostname(config)# show vpn-sessiondb anyconnect filter p-ipversion v4
Session Type: AnyConnect
Username : user1 Index : 40
Assigned IP : 192.168.17.10 Public IP : 198.51.100.1
Protocol : AnyConnect-Parent SSL-Tunnel
License : AnyConnect Premium
Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)RC4
Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA1
Bytes Tx : 10570 Bytes Rx : 8085
Group Policy : GroupPolicy_SSLACCLIENT
Tunnel Group : SSLACCLIENT
Login Time : 15:17:12 UTC Mon Oct 22 2012
Duration : 0h:00m:09s
Inactivity : 0h:00m:00s
NAC Result : Unknown
VLAN Mapping : N/A VLAN : none
hostname(config)# show vpn-sessiondb anyconnect filter a-ipversion v6
Session Type: AnyConnect
Username : user1 Index : 45
Assigned IP : 192.168.17.10
Public IP : 2001:DB8:8:1:90eb:3fe5:9eea:fb29
Assigned IPv6: 2001:DB8:9:1::24
Protocol : AnyConnect-Parent SSL-Tunnel
License : AnyConnect Premium
Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)RC4
Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA1
Bytes Tx : 10662 Bytes Rx : 17248
Group Policy : GroupPolicy_SSL_IPv6 Tunnel Group : SSL_IPv6
Login Time : 17:42:42 UTC Mon Oct 22 2012
Duration : 0h:00m:33s
Inactivity : 0h:00m:00s
NAC Result : Unknown
VLAN Mapping : N/A VLAN : none
要使用命令行界面查看活动的无客户端 SSL VPN 会话,请在特权 EXEC 模式下输入 show vpn-sessiondb l2l filter ipversion 命令。
该命令显示按连接的公共 IPv4 或 IPv6 地址过滤的活动 LAN 到 LAN VPN 会话。
公共地址是由企业分配给终端的地址。
show vpn-sessiondb l2l filter ipversion {v4 | v6}
思科身份服务引擎 (ISE) 是一个安全策略管理和控制平台。可自动化并简化有线连接、无线连接和 VPN 连接的接入控制和安全合规性管理。思科 ISE 主要用于与思科 TrustSec 结合提供安全接入和访客接入、支持自带设备 (BYOD) 计划和执行使用策略。
ISE 授权变更 (CoA) 功能提供一种机制,以在建立身份验证、授权和记帐 (AAA) 会话后更改其属性。当 AAA 中的用户或用户组的策略发生更改时,可以将 CoA 数据包从 ISE 直接发送到 ASA,以重新初始化身份验证并应用新策略。不需要内联安全状态实施点 (IPEP) 即可为与 ASA 设备建立的每个 VPN 会话应用访问控制列表 (ACL)。
在以下 VPN 客户端上支持 ISE 策略实施:
IPSec
Secure Client
L2TP/IPSec
注 |
系统支持某些策略元素,例如动态 ACL (dACL) 和安全组标记 (SGT),而不支持诸如 VLAN 分配和 IP 地址分配之类的策略元素。 |
系统流程如下:
最终用户请求 VPN 连接。
ASA 向 ISE 对用户进行身份验证,并且接收提供有限网络访问的用户 ACL。
系统向 ISE 发送记帐启动消息以注册会话。
直接在 NAC 代理和 ISE 之间进行安全状态评估。此过程对 ASA 透明。
ISE 通过 CoA“policy push”向 ASA 发送策略更新。这样可以识别提供更多网络访问权限的新用户 ACL。
注 |
在连接的生存期内,可能会通过后续 CoA 更新进行对于 ASA 而言透明的其他策略评估。 |
要启用 ISE 策略评估和实施,请针对 ISE 服务器配置 RADIUS AAA 服务器组并将服务器添加到该组。为 VPN 配置隧道组时,可以为该组中的 AAA 服务指定此服务器组。
步骤 1 |
创建 RADIUS AAA 服务器组。 aaa-server group_name protocol radius
|
步骤 2 |
为 AAA 服务器组启用 RADIUS 动态授权 (CoA) 服务。 dynamic-authorization [ port number] 可以选择是否指定端口。默认值为 1700,范围为 1024 至 65535。 当您在 VPN 隧道中使用服务器组时,RADIUS 服务器组将注册接收 CoA 通知,并且 ASA 会侦听用于从 ISE 获取 CoA 策略更新的端口
|
步骤 3 |
如果您不想将 ISE 用于授权,则请为 RADIUS 服务器组启用仅授权模式。 authorize-only 这表示当此服务器组用于授权时,RADIUS 访问请求消息将会构建为“仅授权”请求,而不是为 AAA 服务器定义的已配置的密码方法。如果您使用 radius-common-pw 命令为 RADIUS 服务器配置公用密码,则它将被忽略。 例如,如果您想将证书用于身份验证而不是此服务器组,则应使用仅授权模式。您仍可将此服务器组用于授权和在 VPN 隧道中记帐。
|
步骤 4 |
启用 RADIUS 临时记帐更新消息的定期生成。 interim-accounting-update [periodic [hours]] ISE 将基于其从 NAS 设备(如 ASA)收到的记帐记录,保留一个活动会话的目录。不过,如果 ISE 为期 5 天没有接收到该会话仍处于活动状态的任何指示(记帐消息或安全状态事务处理),则它将删除从其数据库中删除该会话记录。为了确保长期 VPN 连接不被删除,请将该组配置为针对所有活动会话向 ISE 发送定期临时记帐更新消息。
|
步骤 5 |
(可选。)将可下载 ACL 与来自 RADIUS 数据包的思科 AV 对中收到的 ACL 进行合并。 merge-dacl {before-avpair | after-avpair} 此选项仅适用于 VPN 连接。对于 VPN 用户,ACL 的形式可以是思科 AV 对 ACL、可下载 ACL 和在 ASA 上配置的 ACL。此选项确定可下载 ACL 和 AV 对 ACL 是否会合并,并且不适用于在 ASA 上配置的任何 ACL。 默认设置为 no merge dacl ,此值指定可下载 ACL 将不与思科 AV 对 ACL 合并。如果同时收到 AV 对和可下载 ACL,则优先使用 AV 对。 before-avpair 选项指定可下载 ACL 条目应放置在思科 AV 对条目之前。 after-avpair 选项指定可下载 ACL 条目应放置在思科 AV 对条目之后。
|
步骤 6 |
(可选。)指定在尝试下一服务器前,向组中的 RADIUS 服务器发送的最大请求数。 max-failed-attempts number 范围为 1 至 5。默认值为 3。 如果您使用本地数据库(仅用于管理访问)配置了回退方法,并且组中的所有服务器都无法响应,则会将该组视为无响应,并将尝试回退方法。该服务器组会在 10 分钟(默认值)内保持标记为无响应,以确保该时段内其他 AAA 请求不会尝试联系该服务器组,而是立即使用回退方法。要更改默认的无响应期间,请参阅下一步中的 reactivation-mode 命令。 如果没有回退方法,则 ASA 将继续重试该组中的服务器。
|
步骤 7 |
(可选。)指定用于重新激活组中的故障服务器的方法(重新激活策略)。 reactivation-mode {depletion [ deadtime minutes] | timed} 其中:
|
步骤 8 |
(可选。)向组中的所有服务器发送记帐消息。 accounting-mode simultaneous 如要恢复仅向活动服务器发送消息的默认设置,请输入 accounting-mode single 命令。
|
步骤 9 |
将 ISE RADIUS 服务器添加至该组。 aaa-server group_name [(interface_name)] host {server_ip | name} [key] 其中:
可以向该组添加多个服务器。
|
以下示例显示如何为动态授权 (CoA) 更新和每小时定期记帐配置 ISE 服务器组。其中包括使用 ISE 配置密码身份验证的隧道组配置。
ciscoasa(config)# aaa-server ise protocol radius
ciscoasa(config-aaa-server-group)# interim-accounting-update periodic 1
ciscoasa(config-aaa-server-group)# dynamic-authorization
ciscoasa(config-aaa-server-group)# exit
ciscoasa(config)# aaa-server ise (inside) host 10.1.1.3
ciscoasa(config-aaa-server-host)# key sharedsecret
ciscoasa(config-aaa-server-host)# exit
ciscoasa(config)# tunnel-group aaa-coa general-attributes
ciscoasa(config-tunnel-general)# address-pool vpn
ciscoasa(config-tunnel-general)# authentication-server-group ise
ciscoasa(config-tunnel-general)# accounting-server-group ise
ciscoasa(config-tunnel-general)# exit
以下示例显示如何使用 ISE 为本地证书验证和授权配置隧道组。包括服务器组配置中的仅授权命令,因为不会将服务器组用于身份验证。
ciscoasa(config)# aaa-server ise protocol radius
ciscoasa(config-aaa-server-group)# authorize-only
ciscoasa(config-aaa-server-group)# interim-accounting-update periodic 1
ciscoasa(config-aaa-server-group)# dynamic-authorization
ciscoasa(config-aaa-server-group)# exit
ciscoasa(config)# aaa-server ise (inside) host 10.1.1.3
ciscoasa(config-aaa-server-host)# key sharedsecret
ciscoasa(config-aaa-server-host)# exit
ciscoasa(config)# tunnel-group aaa-coa general-attributes
ciscoasa(config-tunnel-general)# address-pool vpn
ciscoasa(config-tunnel-general)# authentication certificate
ciscoasa(config-tunnel-general)# authorization-server-group ise
ciscoasa(config-tunnel-general)# accounting-server-group ise
ciscoasa(config-tunnel-general)# exit
以下命令可用于调试。
如要跟踪 CoA 活动,请输入以下命令:
debug radius dynamic-authorization
如要跟踪重定向 URL 功能,请输入以下命令:
debug aaa url-redirect
如要查看 URL 重定向功能对应的 NP 分类规则,请输入以下命令:
show asp table classify domain url-redirect
ASA 使用安全套接字层 (SSL) 协议和传输层安全 (TLS) 为 ASDM、无客户端 SSL VPN、VPN 和基于浏览器的会话提供安全消息传输支持。ASA 支持用于基于 SSL 的 VPN 和管理连接的 SSLv3、TLSv1、TLv1.1 TLSv1.2 以及 TLSv1.3 协议。此外,DTLS 还被用于 Cisco Secure 客户端的 AnyConnect VPN 模块连接。
支持以下密码(如下表所述):
密码 | TLSv1.1/DTLS V1 | TLSV1.2/DTLSV 1.2 | TLSv1.3 |
---|---|---|---|
TLS_AES_128_GCM_SHA256 | 否 |
否 |
是 |
TLS_CHACHA20_POLY1305_SHA256 |
否 |
否 |
是 |
AES256-GCM-SHA384 |
否 |
否 |
是 |
AES128-GCM-SHA256 | 否 | 是 |
否 |
AES128-SHA | 是 | 是 |
否 |
AES128-SHA256 | 否 | 是 |
否 |
AES256-GCM-SHA384 | 否 | 是 |
否 |
AES256-SHA | 是 | 是 |
否 |
AES256-SHA256 | 否 | 是 |
否 |
DERS-CBC-SHA | 否 | 否 |
否 |
DES-CBC-SHA | 是 | 是 |
否 |
DHE-RSA-AES128-GCM-SHA256 | 否 | 是 |
否 |
DHE-RSA-AES128-SHA | 是 | 是 |
否 |
DHE-RSA-AES128-SHA256 | 否 | 是 |
否 |
DHE-RSA-AES256-GCM-SHA384 | 否 | l |
否 |
DHE-RSA-AES256-SHA | 是 | 是 |
否 |
ECDHE-ECDSA-AES128-GCM-SHA256 | 否 | 是 |
否 |
ECDHE-ECDSA-AES128-SHA256 | 否 | 是 |
否 |
ECDHE-ECDSA-AES256-GCM-SHA384 | 否 | 是 |
否 |
ECDHE-ECDSA-AES256-SHA384 | 否 | 是 |
否 |
ECDHE-RSA-AES128-GCM-SHA256 | 是 | 是 |
否 |
ECDHE-RSA-AES128-SHA256 | 否 | 是 |
否 |
ECDHE-RSA-AES256-GCM-SHA384 | 否 | 是 |
否 |
ECDHE-RSA-AES256-SHA384 | 否 | 是 |
否 |
NULL-SHA | 否 | 否 |
否 |
RC4-MD5 | 否 | 否 |
否 |
RC4-SHA | 否 | 否 |
否 |
注 |
对于版本 9.4(1),所有 SSLv3 关键字都已从 ASA 配置中删除,而且 SSLv3 支持也已从 ASA 中删除。如果您启用了 SSLv3,带 SSLv3 选项的命令将出现引导时间错误。ASA 随后将恢复为默认使用 TLSv1。 Citrix Mobile Receiver 可能不支持 TLS 1.1/1.2 协议;有关兼容性,请参阅 https://www.citrix.com/content/dam/citrix/en_us/documents/products-solutions/citrix-receiver-feature-matrix.pdf |
要指定 ASA 协商 SSL/TLS 和 DTLS 连接的最低协议版本,请执行以下步骤:
步骤 1 |
设置 ASA 将协商连接的最低协议版本。 ssl server-version [ tlsv1 | tlsv1.1 | tlsv1.2 | tlsv1.3] [ dtlsv1 | dtlsv1.2] 其中:
示例:
|
||
步骤 2 |
指定 ASA 用作客户端时所使用的 SSL/TLS 协议版本。 ssl client-version [ tlsv1 | tlsv1.1 | tlsv1.2 | tlsv1.3] 其中:
DTLS 不可用于 SSL 客户端角色。 示例:
|
||
步骤 3 |
指定 SSL、DTLS 和 TLS 协议的加密算法。 ssl cipher version [ level | custom string] 其中:
推荐设置为 medium 。使用 high 可能会限制连接。如果仅配置了几个密码,使用 custom 可能会限制功能。限制默认自定义值会限制出站连接,包括集群。 ASA 指定了支持的密码的优先级顺序。有关更多信息,请参阅命令参考。 此命令取代了从版本 9.3(2) 开始弃用的 ssl encryption 命令。 |
||
步骤 4 |
允许一个接口上有多个信任点。 ssl trust-point name [[ interface vpnlb-ip ] | [ domain domain-name]
name 参数指定信任点的名称。interface 参数指定在其上配置信任点的接口的名称。vpnlb-ip 关键字仅适用于接口,并将此信任点与该接口上的 VPN 负载均衡集群 IP 地址关联。domaindomain-name 关键字-参数对指定与访问该接口所用的特定域名相关联的信任点。 最多可为每个接口配置 16 个信任点。 如果不指定接口或域,则此命令将为所有未配置信任点的接口创建回退信任点。 如果输入 ssl trustpoint ? 命令,则会显示可用的已配置信任点。如果输入 ssl trust-point name? 命令(例如,ssl trust-point mysslcert ? ),则会显示信任点 SSL 证书关联的可用已配置接口。 使用此命令时请遵守以下准则:
|
||
步骤 5 |
指定将与 TLS 所使用的 DHE-RSA 密码一起使用的 DH 群。
group14 和 15 关键字配置 DH 群 14(2048 位模数,224 位素数阶子组)。 组 14 与 Java 7 不兼容。所有群均与 Java 8 兼容。组 14 符合 FIPS。默认值为 ssl dh-group group14 。 |
||
步骤 6 |
指定将与 TLS 所使用的 ECDHE-ECDSA 密码一起使用的群。
group19 关键字配置群 19(256 位 EC)。group20 关键字配置群 20(384 位 EC)。group21 关键字配置群 21(521 位 EC)。 默认值为 ssl ecdh-group group19 。
|
在运行版本低于 8.0.4 版的 ASA 软件的网络中,IPSec 隧道丢弃时,通过该隧道的现有 IPsec LAN 间或远程访问 TCP 流量会被丢弃。如果该隧道恢复,这些流量会按需重建。从资源管理和安全性角度来看,此策略非常不错。然而,对于用户,尤其是从 PIX 迁移至纯 ASA 环境的用户,以及无法轻松重启的旧版 TCP 应用,或者在包含常会频繁丢弃隧道的网关的网络中,在有些情况下,这一行为会带来问题。(有关详细信息,请参阅 CSCsj40681 和 CSCsi47630。)
持续 IPsec 隧道流量功能可以解决这一问题。启用此功能时,ASA 会保留和恢复状态 (TCP) 隧道流量。隧道丢弃时,所有其他流量都会被丢弃,并且必须在新隧道出现时重建。
注 |
该功能支持在网络扩展模式下运行的 IPsec LAN 间隧道和 IPsec 远程访问隧道。它不支持 IPSec 或 AnyConnect/SSL VPN 远程访问隧道。 |
以下示例显示持续 IPsec 隧道流量功能的工作方式。
在此示例中,BXB 和 RTP 网络通过一对安全设备,经由安全的 LAN 间隧道进行连接。BXB 网络中的 PC 正经由安全隧道,通过 RTP 网络中的服务器执行 FTP 传输。在此场景中,假设在 PC 登录至服务器并开始传输后,出于某些原因,隧道丢弃。尽管隧道会因为数据仍在尝试流动而重建,FTP 传输却不会完成。用户必须终止传输,并通过重新登录至服务器来重新开始传输。然而,如果启用了持续 IPsec 隧道,一旦隧道在超时间隔内被重建,数据会继续成功流过新的隧道,因为安全设备会保留该流量的历史记录(状态信息)。
以下各节说明隧道丢弃和隧道恢复时的数据流量状况,首先说明禁用持续 IPsec 隧道流量功能时的情况,然后说明启用该功能时的情况。有关这两种情况下的网络图解,请参阅上图。在此图中:
流量 B-C 定义隧道并承载加密 ESP 数据。
流量 A-D 是用于 FTP 传输的 TCP 连接并通过由流量 B-C 定义的隧道。此流量还包括防火墙用于检查 TCP/FTP 流量的状态信息。该状态信息至关重要,在传输过程中,防火墙会不断更新该状态信息。
注 |
为简单起见,每个方向上的反向流量已被忽略。 |
LAN 到 LAN 隧道丢弃时,流量 A-D 和流量 B-C 以及属于它们的所有状态信息都会被删除。随后,隧道被重建,流量 B-C 被重建,并且能够继续承载隧道数据。但是 TCP/FTP 流量 A-D 出现故障。因为描述 FTP 传输中到目前为止的流量状况的状态信息已被删除,状态防火墙阻止未送达的 FTP 数据,并拒绝创建流量 A-D。已丢失此流量的历史记录的状况会一直存在,防火墙将 FTP 传输视为离群的 TCP 数据包,并将其丢弃。此为默认行为。
在启用持续 IPsec 隧道流量功能的情况下,一旦隧道在超时时段内被重建,数据会继续成功流过,因为 ASA 仍然可以访问流量 A-D 中的状态信息。
在启用该功能的情况下,ASA 会单独对待该流量。这意味着,流量 B-C 定义的隧道被丢弃时,流量 A-D 不会被删除。ASA 保留和恢复状态 (TCP) 隧道流量。所有其他流量都被丢弃,并且必须在新隧道上重建。这不会削弱隧道流量的安全策略,因为在隧道发生故障时,ASA 会丢弃流量 A-D 上抵达的所有数据包。
未丢弃隧道 TCP 流量,因此其依靠 TCP 超时进行清除。但是,如果为特定隧道流量禁用了超时,则该流量会保留在系统中,直到手动或通过其他方法(例如,通过来自对等体的 TCP RST)清除为止。
对持续 IPsec 隧道流量存在的问题进行故障排除时,show asp table 和 show conn 命令都十分有用。
要查看特定隧道是否已启用此功能,请使用 show asp table 命令查看与该隧道关联的 VPN 情景。show asp table vpn-context 命令对隧道丢弃后维持状态流量的每个情景显示“+PRESERVE”标志,如以下示例所示(为方便辨认,添加了粗体效果):
hostname(config)# show asp table vpn-context
VPN CTX=0x0005FF54, Ptr=0x6DE62DA0, DECR+ESP+PRESERVE, UP, pk=0000000000, rk=0000000000, gc=0
VPN CTX=0x0005B234, Ptr=0x6DE635E0, ENCR+ESP+PRESERVE, UP, pk=0000000000, rk=0000000000, gc=0
---------------------------------------------------------------------------
hostname(config)# show asp table vpn-context detail
VPN CTX = 0x0005FF54
Peer IP = ASA_Private
Pointer = 0x6DE62DA0
State = UP
Flags = DECR+ESP+PRESERVE
SA = 0x001659BF
SPI = 0xB326496C
Group = 0
Pkts = 0
Bad Pkts = 0
Bad SPI = 0
Spoof = 0
Bad Crypto = 0
Rekey Pkt = 0
Rekey Call = 0
VPN CTX = 0x0005B234
Peer IP = ASA_Private
Pointer = 0x6DE635E0
State = UP
Flags = ENCR+ESP+PRESERVE
SA = 0x0017988D
SPI = 0x9AA50F43
Group = 0
Pkts = 0
Bad Pkts = 0
Bad SPI = 0
Spoof = 0
Bad Crypto = 0
Rekey Pkt = 0
Rekey Call = 0
hostname(config)#
Configuration and Restrictions
This configuration option is subject to the same CLI configuration restrictions as other sysopt VPN CLI.
如果 LAN 间/网络扩展模式隧道丢弃,并且没有在超时之前恢复,则可能存在许多孤立隧道流量。这些流量不会因为隧道发生故障而被拆解,但是试图从中流过的所有数据都会被丢弃。要查看这些流量,请使用 show conn 命令,如以下示例所示(出于强调和显示用户输入的目的,添加了粗体效果):
asa2(config)#
show conn detail
9 in use, 14 most used
Flags: A - awaiting inside ACK to SYN, a - awaiting outside ACK to SYN,
B - initial SYN from outside, C - CTIQBE media, D - DNS, d - dump,
E - outside back connection, F - outside FIN, f - inside FIN,
G - group, g - MGCP, H - H.323, h - H.225.0, I - inbound data,
i - incomplete, J - GTP, j - GTP data, K - GTP t3-response
k - Skinny media, M - SMTP data, m - SIP media, n - GUP
O - outbound data, P - inside back connection, p - Phone-proxy TFTP connection,
q - SQL*Net data, R - outside acknowledged FIN,
R - UDP SUNRPC, r - inside acknowledged FIN, S - awaiting inside SYN,
s - awaiting outside SYN, T - SIP, t - SIP transient, U - up,
V - VPN orphan, W - WAAS,
X - inspected by service module
以下示例显示存在孤立流量时 show conn 命令的示例输出,孤立流量以 V 标志表示:
hostname# show conn
16 in use, 19 most used
TCP out 192.168.110.251:7393 in 192.168.150.252:21 idle 0:00:00 bytes 1048 flags UOVB
TCP out 192.168.110.251:21137 in 192.168.150.252:21 idle bytes 1048 flags UIOB
要将报告内容限定为具有孤立流量的连接,请将 vpn_orphan 选项添加至 show conn state 命令,如以下示例所示:
hostname# show conn state vpn_orphan
14 in use, 19 most used
TCP out 192.168.110.251:7393 in 192.168.150.252:5013 idle 0:00:00 bytes 2841019 flags UOVB