此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍如何配置Cisco ASA 5500系列,以允许无客户端SSL VPN访问内部网络资源。
尝试进行此配置之前,请确保满足以下要求:
有关完整的要求列表,请参见思科 ASA 5500 系列支持的 VPN 平台。
本文档中的信息基于以下软件和硬件版本:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
本文档介绍思科自适应安全设备(ASA) 5500系列的配置,以允许无客户端安全套接字层(SSL) VPN访问内部网络资源。
无客户端 SSL 虚拟专用网络 (WebVPN) 支持从任何位置对企业网络进行有限但有价值的安全访问。
用户可以随时通过浏览器安全访问企业资源。
无需其他客户端即可访问内部资源。
访问通过SSL连接上的超文本传输协议提供。
无客户端 SSL VPN 支持从几乎任何可以访问超文本传输协议 (HTTP) 互联网站点的计算机轻松访问各种 Web 资源以及支持 Web 的应用和传统应用。
包括:
有关受支持软件的列表,请参见思科 ASA 5500 系列支持的 VPN 平台。
Windows 窗口版本 |
Windows/Mac |
MAC |
||||
特性/技术/应用 |
MS边缘 |
IE |
Firefox |
Chrome |
Safari |
备注 |
RDP插件 |
n |
Y |
n |
n |
n |
|
POST插件 |
n |
Y |
Y |
Y |
Y |
Java 8支持终止 |
ICA插件 |
n |
Y |
n |
n |
n |
Java 8支持终止 |
VNC插件 |
n |
Y |
n |
n |
n |
Java 8支持终止 |
SSH/TELNET插件 |
n |
Y |
n |
n |
n |
Java 8支持终止 |
FTP/CIFS插件 |
n |
Y |
Y |
Y |
Y |
Java 8支持终止 |
Java Web文件夹 |
n |
Y |
n |
n |
n |
Java 8支持终止 |
智能隧道 |
n |
Y |
N* |
n |
n |
* 在Mac 10.14+上不支持 |
端口转发 |
n |
Y |
N* |
n |
n |
* 在Mac 10.14+上不支持 |
AnyConnect网络启动 |
n |
Y |
n |
n |
n |
|
服务人员支持 |
n |
n |
n |
n |
n |
|
GBP(客户端重写工具) |
n |
n |
Y |
Y |
N* |
从ASA 9.9.2+引入的功能; *仅支持Safari 11.1+ |
OWA |
n |
N* |
N* |
N* |
N* |
* 仅支持2013年 2013年2023年4月停止销售。 |
SharePoint |
n |
N* |
N* |
N* |
N* |
* 仅支持2013年。 2013年2023年4月停止销售。 |
Office365 |
n |
n |
n |
n |
n |
|
Citrix XenApp和XenDesktop 7.6 |
n |
Y |
N* |
Y |
n |
* 支持HTML5接收器 |
Citrix XenApp和XenDesktop 7.15 |
n |
Y |
Y |
Y |
n |
|
Citrix HTML5接收器 |
n |
N* |
N* |
N* |
n |
* 仅适用于HTML5接收器版本1.7和StoreFront 3.0 |
Citrix NetScaler网关和负载均衡器 |
n |
n |
n |
n |
n |
|
内容安全策略 |
n |
n |
n |
n |
n |
|
跨来源资源共享 |
n |
n |
n |
n |
n |
不支持,因为无法正确处理它 |
Blob API |
n |
n |
n |
n |
n |
|
获取API |
n |
n |
n |
n |
n |
|
区块大小之间的空格 |
n |
n |
n |
n |
n |
ASA不需要数据块大小的空格,并且无法将数据块放在一起 |
SVG <use> |
n |
n |
n |
n |
n |
|
堆栈大小限制(ASA < 9.9.2) |
n |
n |
n |
n |
n |
服务器端重写机制具有有限数量的用于文件重写的堆栈内存。如果文件过大或复杂,则文件已损坏。 大部分 最近的应用存在此类限制 |
堆栈大小限制(ASA > 9.9.2) |
n |
n |
Y |
Y |
n |
|
Oracle Forms应用程序 |
n |
n |
n |
n |
n |
|
Angular Framework的应用 |
n |
n |
n |
n |
n |
大多数具有以下Angular功能的应用程序不受支持: |
使用ActionScript2和ActionScript3的Flash内容 |
n |
n |
n |
n |
n |
本文介绍 ASDM 和 CLI 的配置过程。使用其中一种工具来配置WebVPN,但某些配置步骤只能通过ASDM完成。
注意:使用命令查找工具(仅限注册用户)获取有关本部分使用的命令的详细信息。
本文档使用以下网络设置:
WebVPN 使用 SSL 协议来保护在客户端和服务器之间传输的数据。
当浏览器发起到 ASA 的连接时,ASA 会提供其证书以向浏览器验证身份。
为确保客户端和ASA之间的连接安全,请向ASA提供由客户端已信任的证书颁发机构签名的证书。
否则,客户端将无法验证ASA的真实性,从而导致可能发生的中间人攻击和糟糕的用户体验,因为浏览器会生成连接不受信任的警告。
注意:默认情况下,ASA在启动时生成自签名X.509证书。默认情况下,此证书用于客户端连接。不建议使用此证书,因为浏览器无法验证其真实性。此外,此证书会在每次重新启动时重新生成,因此它在每次重新启动后都会更改。
证书安装不在本文档的讨论范围内。
在 ASA 上配置 WebVPN 包括五个主要步骤:
注意:在版本9.4以后的ASA版本中,用于选择SSL密码的算法已更改(请参阅思科ASA系列的版本说明,9.4(x))。如果仅使用支持椭圆曲线的客户端,则证书使用椭圆曲线私钥是安全的。否则,将使用自定义密码套件,以避免ASA提供自签临时证书。您可以将 ASA 配置为仅将基于 RSA 的密码与 ssl cipher tlsv1.2 custom "AES256-SHA:AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:DES-CBC3-SHA:DES-CBC-SHA:RC4-SHA:RC4-MD5" 命令一起使用。
依次选择配置 > 防火墙 > 高级 > 证书管理 > 身份证书 > 添加。您可以使用 pkcs12 文件进行安装,也可以采用隐私增强型邮件 (PEM) 格式粘贴内容。
CLI:
ASA(config)# crypto ca import TrustPoint-name pkcs12 "password"
Enter the base 64 encoded pkcs12.
End with the word "quit" on a line by itself:
MIIJUQIBAzCCCRcGCSqGSIb3DQEHAaCCCQgEggkEMIIJADCCBf8GCSqGSIb3DQEH
BqCCBfAwggXsAgEAMIIF5QYJKoZIhvcNAQcBMBwGCiqGSIb3DQEMAQYwDgQI8F3N
+vkvjUgCAggAgIIFuHFrV6enVflNv3sBByB/yZswhELY5KpeALbXhfrFDpLNncAB
z3xMfg6JkLYR6Fag1KjShg+o4qkDh8r9y9GQpaBt8x3Ozo0JJxSAafmTWqDOEOS/
7mHsaKMoao+pv2LqKTWh0O7No4Ycx75Y5sOhyuQGPhLJRdionbi1s1ioe4Dplx1b
--- output ommited ---
Enter the base 64 encoded pkcs12.
End with the word "quit" on a line by itself:
MIIJUQIBAzCCCRcGCSqGSIb3DQEHAaCCCQgEggkEMIIJADCCBf8GCSqGSIb3DQEH
BqCCBfAwggXsAgEAMIIF5QYJKoZIhvcNAQcBMBwGCiqGSIb3DQEMAQYwDgQI8F3N
+vkvjUgCAggAgIIFuHFrV6enVflNv3sBByB/yZswhELY5KpeALbXhfrFDpLNncAB
z3xMfg6JkLYR6Fag1KjShg+o4qkDh8r9y9GQpaBt8x3Ozo0JJxSAafmTWqDOEOS/
7mHsaKMoao+pv2LqKTWh0O7No4Ycx75Y5sOhyuQGPhLJRdionbi1s1ioe4Dplx1b
quit
INFO: Import PKCS12 operation completed successfully
选项 2 - 创建自签名证书。
依次选择配置 > 防火墙 > 高级 > 证书管理 > 身份证书 > 添加。
单击 Add a new identity certificate 单选按钮。选中“生成自签名证书”复选框。选择与 ASA 的域名匹配的通用名称 (CN)。
点击新建以创建证书的密钥对。选择密钥类型、名称和大小。
CLI:
ASA(config)# crypto key generate ecdsa label ECDSA_KEYPAIR noconfirm
ASA(config)# crypto ca trustpoint TrustPoint1
ASA(config-ca-trustpoint)# revocation-check none
ASA(config-ca-trustpoint)# id-usage ssl-ipsec
ASA(config-ca-trustpoint)# no fqdn
ASA(config-ca-trustpoint)# subject-name CN=ASA
ASA(config-ca-trustpoint)# enrollment self
ASA(config-ca-trustpoint)# keypair ECDSA_KEYPAIR
ASA(config-ca-trustpoint)# exit
ASA(config)# crypto ca enroll TrustPoint1 noconfirm
依次选择配置 > 远程接入 VPN > 高级 > SSL 设置。在“证书”菜单中,为外部接口选择与所需证书关联的信任点。点击应用。
等效 CLI 配置:
ASA(config)# ssl trust-pointoutside
WebVPN 服务器充当客户端连接的代理。这意味着 ASA 会代表客户端创建与资源的连接。如果客户端需要连接到使用域名的资源,则 ASA 需要执行 DNS 查找。
依次选择配置 > 远程接入 VPN > DNS。
至少配置一台 DNS 服务器,并在面向 DNS 服务器的接口上启用 DNS 查找。
CLI:
ASA(config)# dns domain-lookup inside
ASA(config)# dns server-group DefaultDNS
ASA(config-dns-server-group)# name-server 10.11.12.101
依次选择配置 > 远程接入 VPN > 无客户端 SSL VPN 访问 > 组策略 > 添加内部组策略。
在“常规选项”下,将“隧道协议”值更改为“无客户端 SSL VPN”。
CLI:
ASA(config)# group-policy WEBVPN_Group_Policy internal
ASA(config)# group-policy WEBVPN_Group_Policy attributes
ASA(config-group-policy)# vpn-tunnel-protocol ssl-clientless
在 ASDM 中,依次选择配置 > 远程接入 VPN > 无客户端 SSL VPN 访问 > 连接配置文件。
默认情况下,WebVPN 连接使用 DefaultWEBVPNGroup 配置文件。您可以创建其他配置文件。
注意:有多种方法可以将用户分配到其他配置文件。
- 用户可以从下拉列表中手动选择连接配置文件,也可以使用特定 URL。请参阅ASA 8.x: Allow Users to Select a Group at WebVPN Login via Group-Alias and Group-URL Method。
- 使用 LDAP 服务器时,可以根据从 LDAP 服务器接收的属性分配用户配置文件,请参阅 ASA 使用 LDAP 属性映射配置示例。
编辑 DefaultWEBVPNGroup 配置文件,并在“默认组策略”下选择 WEBVPN_Group_Policy。
CLI:
ASA(config)# tunnel-group DefaultWEBVPNGroup general-attributes
ASA(config-tunnel-general)# default-group-policy WEBVPN_Group_Policy
选中外部接口旁边的允许访问复选框。
CLI:
ASA(config)# webvpn
ASA(config-webvpn)# enable outside
书签允许用户浏览内部资源URL。
要创建书签,请依次选择配置 > 远程接入 VPN > 无客户端 SSL VPN 访问 > 门户 > 书签 > 添加。
选择添加以添加特定书签。
CLI:
无法通过 CLI 创建书签,因为它们是以 XML 文件的形式创建的。
依次选择配置 > 远程接入 VPN > 无客户端 SSL VPN 访问 > 组策略 > 编辑 > 门户 > 书签列表。
CLI:
ASA(config)# group-policy DfltGrpPolicy attributes
ASA(config-group-policy)# webvpn
ASA(config-group-webvpn)# url-list value My_Bookmarks
配置 WebVPN 后,使用浏览器中的地址 https://<ASA 的 FQDN>。
登录后,您可以看到用于导航到网站的地址栏和书签。
要排除配置故障,请执行以下操作:
在 ASDM 中,选择 Monitoring > Logging > Real-time Log Viewer > View。当客户端连接到 ASA 时,请注意 TLS 会话是否已建立、组策略是否已选择以及用户身份验证是否成功。
CLI:
ASA(config)# logging buffered debugging
ASA(config)# show logging
在ASDM中,选择Monitoring > VPN > VPN Statistics > Sessions > Filter by: Clientless SSL VPN。查找新的 WebVPN 会话。请务必选择 WebVPN 过滤器,然后单击 Filter。如果出现问题,请暂时绕过 ASA 设备,以确保客户端可以访问所需的网络资源。请查看本文列出的配置步骤。
CLI:
ASA(config)# show vpn-sessiondb webvpn
Session Type: WebVPN
Username : admin Index : 3
Public IP : 10.229.20.77
Protocol : Clientless
License : AnyConnect Premium
Encryption : Clientless: (1)AES128 Hashing : Clientless: (1)SHA256
Bytes Tx : 72214 Bytes Rx : 270241
Group Policy : WEBVPN_Group_Policy Tunnel Group : DefaultWEBVPNGroup
Login Time : 10:40:04 UTC Tue May 26 2015
Duration : 0h:05m:21s
Inactivity : 0h:00m:00s
VLAN Mapping : N/A VLAN : none
Audt Sess ID : 0a1516010000300055644d84
Security Grp : none
命令输出解释程序(仅限注册用户)(OIT) 支持某些 show 命令。使用 OIT 可查看对 show 命令输出的分析。
注意:在使用 debug 命令之前,请参阅有关 Debug 命令的重要信息。
问题
登录尝试失败后,浏览器中将显示消息“Clientless (browser) SSL VPN access is not allowed.”。如果显示“Premium AnyConnect license is not enabled on the ASA.”(ASA 上未启用高级 AnyConnect 许可证)消息,则表明 AnyConnect 高级版许可证未安装在 ASA 上或未使用。
解决方案
使用以下命令启用高级 AnyConnect 许可证:
ASA(config)# webvpn
ASA(config-webvpn)# no anyconnect-essentials
问题
尝试登录失败后,浏览器中显示“Login failed”(登录失败)消息。已超出 AnyConnect 许可证限制。
解决方案
在日志中查找此消息:
%ASA-4-716023: Group <DfltGrpPolicy> User <cisco> IP <192.168.1.100>
Session could not be established: session limit of 2 reached.
此外,请验证您的许可证限制:
ASA(config)# show version | include Premium
AnyConnect Premium Peers : 2 perpetual
问题
尝试登录失败后,浏览器中显示“AnyConnect is not enabled on the VPN server”(VPN 服务器上未启用 AnyConnect)消息。组策略中未启用无客户端 VPN 协议。
解决方案
在日志中查找此消息:
%ASA-6-716002: Group <DfltGrpPolicy> User <cisco> IP <192.168.1.100>
WebVPN session terminated: Client type not supported.
确保为所需组策略启用无客户端 VPN 协议:
ASA(config)# show run all group-policy | include vpn-tunnel-protocol
vpn-tunnel-protocol ikev1 ikev2 l2tp-ipsec ssl-clientless
问题
只能将三个 WebVPN 客户端连接到 ASA。连接第四个客户端时将失败。
解决方案
在大多数情况下,此问题与组策略中的同时登录参数相关。可以使用以下命令配置所需的同时登录数。在本例中,所需值为 20。
ASA(config)# group-policy Cisco attributes
ASA(config-group-policy)# vpn-simultaneous-logins 20
问题
如果配置了这些书签以让用户登录到无客户端 VPN,但在“Web 应用”下的主屏幕上这些书签显示为灰色,那么如何启用这些 HTTP 链接,以便用户能够点击它们并进入特定 URL?
解决方案
验证ASA可以通过DNS解析网站。尝试按名称 ping 这些网站。如果 ASA 无法解析该名称,链接将变灰。如果 DNS 服务器在网络内部,请配置 DNS 域查找专用接口。
问题
Citrix over WebVPN出现错误消息“ica client received a corrupted ica file”。
解决方案
如果将安全网关 模式用于通过 WebVPN 进行的 Citrix 连接,ICA 文件可能损坏。由于 ASA 与此操作模式不兼容,请在直接模式(非安全模式)下新建一个 ICA 文件。
问题
当您访问无客户端 WebVPN 门户上的 CIFS 链接时,点击书签后系统会提示您输入凭证。轻型目录访问协议 (LDAP) 用于验证资源和用户已输入 LDAP 凭证以登录到 VPN 会话。
解决方案
在这种情况下,您可以使用自动登录功能。在使用的特定组策略下及其WebVPN属性下,配置以下内容:
ASA(config)# group-policy WEBVPN_Group_Policy attributes
ASA(config-group-policy)# webvpn
ASA(config-group-webvpn)# auto-signon allow uri cifs://X.X.X.X/* auth-type all
其中X.X.X.X=CIFS服务器的IP和*=剩余路径,以到达所讨论的共享文件/文件夹。
下面显示了配置片段示例:
ASA(config)# group-policy ExamplePolicy attributes
ASA(config-group-policy)# webvpn
ASA(config-group-webvpn)# auto-signon allow uri
https://*.example..com/* auth-type all
有关此过程的详细信息,请参阅使用HTTP基本或NTLM身份验证配置SSO。
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
05-Jan-2016 |
初始版本 |