智能隧道是基于TCP的应用和专用站点之间的连接,它使用无客户端(基于浏览器)SSL VPN会话,安全设备作为路径,安全设备作为代理服务器。您可以确定要向其授予智能隧道访问权限的应用,并指定每个应用的本地路径。对于在Microsoft Windows上运行的应用程序,还可以要求校验和的SHA-1哈希匹配,作为授予智能隧道访问的条件。
Lotus SameTime和Microsoft Outlook Express是您可能要向其授予智能隧道访问权限的应用示例。
根据应用是客户端还是支持Web的应用,智能隧道配置需要以下步骤之一:
-
创建一个或多个客户端应用的智能隧道列表,然后将该列表分配给要为其提供智能隧道访问的组策略或本地用户策略。
-
创建一个或多个书签列表条目,指定符合智能隧道访问条件的支持Web的应用的URL,然后将该列表分配给要为其提供智能隧道访问的DAP、组策略或本地用户策略。
您还可以列出启用网络的应用,以便通过无客户端SSL VPN会话在智能隧道连接中自动提交登录凭证。
本文档假设Cisco AnyConnect SSL VPN客户端配置已经完成并且工作正常,以便可以在现有配置上配置智能隧道功能。有关如何配置Cisco AnyConnect SSL VPN客户端的详细信息,请参阅ASA 8.x:在 ASA 上允许 AnyConnect VPN 客户端使用分割隧道的配置示例)。
注意:确保ASA 8.x的使用ASDM 6.0(2)的ASA配置部分中所述的步骤4.b到4.l(Cisco IOS软件版):在ASA上为AnyConnect VPN客户端允许拆分隧道配置示例不执行,以便配置智能隧道功能。
本文档介绍如何在Cisco ASA 5500系列自适应安全设备上配置智能隧道。
本文档没有任何特定的要求。
本文档中的信息基于以下软件和硬件版本:
-
运行软件版本8.0(2)的Cisco ASA 5500系列自适应安全设备
-
运行Microsoft Vista、Windows XP SP2或Windows 2000 Professional SP4(装有Microsoft Installer版本3.1)的PC
-
Cisco 自适应安全设备管理器 (ASDM) 版本 6.0(2)
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
智能隧道表显示智能隧道列表,每个列表标识一个或多个符合智能隧道访问条件的应用及其关联的操作系统(OS)。 由于每个组策略或本地用户策略都支持一个智能隧道列表,因此必须将要支持的基于非浏览器的应用分组到智能隧道列表中。配置列表后,您可以将其分配到一个或多个组策略或本地用户策略。
智能隧道窗口(Configuration > Remote Access VPN > Clientless SSL VPN Access > Portal > Smart Tunnels)允许您完成以下过程:
-
添加智能隧道列表并将应用添加到列表
完成以下步骤以添加智能隧道列表并将应用添加到列表中:
-
单击 Add。
系统将显示Add Smart Tunnel List对话框。
-
输入列表名称,然后单击 Add。
ASDM会打开Add Smart Tunnel Entry对话框,通过该对话框可以将智能隧道的属性分配到列表。
-
为智能隧道分配所需属性后,单击OK。
ASDM在列表中显示这些属性。
-
根据需要重复这些步骤以完成列表,然后在Add Smart Tunnel List对话框中单击OK。
-
更改智能隧道列表
要更改智能隧道列表,请完成以下步骤:
-
双击列表或选择表中的列表,然后单击Edit。
-
单击Add将一组新的智能隧道属性插入到列表中,或在列表中选择一个条目,然后单击Edit或Delete。
-
删除列表
要删除列表,请在表中选择该列表,然后单击Delete。
-
添加书签
在配置和分配智能隧道列表后,您可以为服务添加书签并点击Add or Edit Bookmark对话框中的Enable Smart Tunnel选项,使智能隧道易于使用。
智能隧道访问允许基于TCP的客户端应用使用基于浏览器的VPN连接来连接服务。与插件和传统技术(端口转发)相比,它为用户提供了以下优势:
智能隧道具有以下一般要求和限制:
-
创建智能隧道的远程主机必须运行32位版本的Microsoft Windows Vista、Windows XP或Windows 2000;或Mac OS 10.4或10.5。
-
智能隧道自动登录仅支持Windows上的Microsoft Internet Explorer。
-
浏览器必须使用Java、Microsoft ActiveX或两者同时启用。
-
智能隧道仅支持位于运行Microsoft Windows的计算机和安全设备之间的代理。智能隧道使用Internet Explorer配置(即Windows中用于系统范围的配置)。 如果远程计算机需要代理服务器来访问安全设备,则连接终止端的URL必须位于从代理服务排除的URL列表中。如果代理配置指定发往ASA的流量通过代理,则所有智能隧道流量都通过代理。
在基于HTTP的远程访问方案中,子网有时不提供对VPN网关的用户访问。在这种情况下,放置在ASA前面用于在网络和最终用户位置之间路由流量的代理提供Web访问。但是,只有VPN用户才能配置放置在ASA前面的代理。执行此操作时,他们必须确保这些代理支持CONNECT方法。对于需要身份验证的代理,智能隧道仅支持基本摘要式身份验证类型。
-
当智能隧道启动时,安全设备将通过用于启动无客户端会话的用户处理来自浏览器的所有流量建立隧道。如果用户启动浏览器进程的另一个实例,它会将所有流量传递到隧道。如果浏览器进程相同,且安全设备不提供对给定URL的访问,则用户无法打开它。作为解决方法,用户可以使用与用于建立无客户端会话的浏览器不同的浏览器。
-
有状态故障切换不会保留智能隧道连接。用户在故障切换后必须重新连接。
以下要求和限制仅适用于Windows:
-
只有Winsock 2、基于TCP的应用程序才符合智能隧道访问的条件。
-
安全设备不支持Microsoft Outlook Exchange(MAPI)代理。端口转发和智能隧道都不支持MAPI。对于使用MAPI协议的Microsoft Outlook Exchange通信,远程用户必须使用AnyConnect。
-
使用智能隧道或端口转发的Microsoft Windows Vista用户必须将ASA的URL添加到“受信任的站点”区域。要访问“受信任的站点”区域,请启动Internet Explorer,选择工具> Internet选项,然后单击安全选项卡。Vista用户还可以禁用保护模式,以便于智能隧道访问;但是,思科建议不要使用此方法,因为它会增加攻击漏洞。
以下要求和限制仅适用于Mac OS:
-
Safari 3.1.1或更高版本或Firefox 3.0或更高版本
-
Sun JRE 1.5或更高版本
-
只有从门户页面启动的应用才能建立智能隧道连接。此要求包括对Firefox的智能隧道支持。在首次使用智能隧道期间,使用Firefox启动另一个Firefox实例需要名为csco_st的用户配置文件。如果此用户配置文件不存在,会话将提示用户创建一个。
-
使用动态链接到SSL库的TCP的应用程序可以通过智能隧道工作。
-
智能隧道不支持Mac OS上的以下功能和应用:
本部分提供有关如何配置本文档所述功能的信息。
通过Add Smart Tunnel List对话框,可以将智能隧道条目的列表添加到安全设备配置。通过Edit Smart Tunnel List对话框,可以修改列表的内容。
字段
List Name — 为应用程序或程序列表输入唯一名称。名称中的字符数没有限制。请勿使用空格。配置智能隧道列表后,在无客户端SSL VPN组策略和本地用户策略中的智能隧道列表属性旁边会显示列表名称。指定有助于将其内容或用途与您可能配置的其他列表区分开来的名称。
通过Add or Edit Smart Tunnel Entry对话框,可以在智能隧道列表中指定应用的属性。
-
Application ID — 输入字符串,以命名智能隧道列表中的条目。该字符串对于操作系统是唯一的。通常,它会命名要授予智能隧道访问权限的应用。要支持选择为其指定不同路径或哈希值的应用程序的多个版本,可以使用此属性来区分条目,指定操作系统以及每个列表条目支持的应用程序的名称和版本。字符串最多可以包含 64 个字符。
-
进程名 — 输入应用程序的文件名或路径。字符串最多可以包含128个字符
Windows需要将此值精确匹配到远程主机上应用程序路径的右侧,才能使应用程序符合智能隧道访问的条件。如果仅指定Windows的文件名,则SSL VPN不会在远程主机上实施位置限制来使应用符合智能隧道访问的条件。
如果指定路径且用户将应用程序安装在其他位置,则该应用程序不符合条件。只要字符串的右侧与您输入的值匹配,应用程序就可以驻留在任何路径上。
要对智能隧道访问应用进行授权(如果该应用存在于远程主机上的多个路径之一上),请在此字段中仅指定应用的名称和扩展,或者为每个路径创建唯一的智能隧道条目。
对于Windows,如果要将智能隧道访问添加到从命令提示符启动的应用程序,必须在智能隧道列表中一个条目的进程名称中指定“cmd.exe”,并在另一个条目中指定应用程序本身的路径,因为“cmd.exe”是应用程序的父项。
Mac OS需要该进程的完整路径,并且区分大小写。为了避免为每个用户名指定路径,请在部分路径(例如~/bin/vnc)前插入一个波浪线(~)。
-
OS — 单击Windows或Mac以指定应用程序的主机操作系统。
-
Hash -(可选,仅适用于Windows)要获取此值,请将可执行文件的校验和输入到使用SHA-1算法计算散列的实用程序中。Microsoft File Checksum Integrity Verifier(FCIV)便是此类实用程序的示例,可以在Availability and description of the File Checksum Integrity Verifier utility中找到。安装FCIV后,将要散列应用的临时副本放在不包含空格的路径上(例如,c:/fciv.exe),然后在命令行输入fciv.exe -sha1应用程序(例如,fciv.exe -sha1 c:\msimn.exe)以显示SHA-1散列。
SHA-1哈希值始终为40个十六进制字符。
在授权应用进行智能隧道访问之前,无客户端SSL VPN会计算与应用ID匹配的应用的哈希。如果结果与散列值匹配,则此命令将限定应用进行智能隧道访问。
输入散列可以合理保证SSL VPN不会限定与您在应用ID中指定的字符串相匹配的非法文件。由于校验和因应用的每个版本或补丁而异,因此您输入的哈希只能与远程主机上的一个版本或补丁匹配。要为一个应用程序的多个版本指定散列,请为每个散列值创建唯一的智能隧道条目。
注意:如果您输入哈希值,并且希望支持具有智能隧道访问权限的应用的未来版本或修补程序,则必须在将来更新智能隧道列表。智能隧道访问突然出现问题可能表示包含哈希值的应用程序在应用程序升级时不是最新的。您可以通过不输入哈希值来避免此问题。
-
配置智能隧道列表后,必须将其分配到组策略或本地用户策略以使其变为活动状态,如下所示:
-
要将列表分配给组策略,请选择Config > Remote Access VPN> Clientless SSL VPN Access > Group Policies > Add or Edit > Portal,然后从Smart Tunnel List属性旁的下拉列表中选择智能隧道名称。
-
要将列表分配给本地用户策略,请选择Config > Remote Access VPN> AAA Setup > Local Users > Add or Edit > VPN Policy > Clientless SSL VPN,然后从Smart Tunnel List属性旁边的下拉列表中选择智能隧道名称。
本文档假设基本配置(如接口配置)已完成且工作正常。
要配置智能隧道,请完成以下步骤:
注意:在此配置示例中,为Lotus应用配置智能隧道。
-
选择Configuration > Remote Access VPN > Clientless SSL VPN Access > Portal > Smart Tunnels以启动智能隧道配置。
-
单击 Add。
系统将显示Add Smart Tunnel List对话框。
-
在Add Smart Tunnel List对话框中,单击Add。
系统将显示Add Smart Tunnel Entry对话框。
-
在Application ID字段中,输入用于标识智能隧道列表中的条目的字符串。
-
输入应用程序的文件名和扩展名,然后单击OK。
-
在Add Smart Tunnel List对话框中,单击OK。
注意:以下是等效的CLI配置命令:
Cisco ASA 8.0(2) |
ciscoasa(config)#smart-tunnel list lotus LotusSametime connect.exe |
-
将列表分配给要向其提供关联应用的智能隧道访问的组策略和本地用户策略,如下所示:
要将列表分配给组策略,请选择Configuration > Remote Access VPN> Clientless SSL VPN Access > Group Policies,然后单击Add或Edit。
此时出现 Add Internal Group Policy 对话框。
-
在Add Internal Group Policy对话框中,点击Portal,从Smart Tunnel List下拉列表中选择智能隧道名称,然后点击OK。
注意:此示例使用Lotus作为智能隧道列表名称。
-
要将列表分配给本地用户策略,请选择Configuration > Remote Access VPN> AAA Setup > Local Users,然后单击Add配置新用户,或单击Edit编辑现有用户。
系统将显示Edit User Account对话框。
-
在Edit User Account对话框中,单击Clientless SSL VPN,从Smart Tunnel List下拉列表中选择智能隧道名称,然后单击OK。
注意:此示例使用Lotus作为智能隧道列表名称。
智能隧道配置已完成。
此问题是由于Cisco Bug ID CSCsx05766 (仅限注册客户)中描述的问题导致的。 为了解决此问题,请将Java Runtime插件降级到较旧版本。
在ASA上使用智能隧道时,您无法拼写URL或隐藏浏览器的地址栏。用户可以查看使用智能隧道的WebVPN中配置的链接的URL。因此,它们可以更改端口并访问服务器以获取其他服务。
要解决此问题,请使用WebType ACL。有关详细信息,请参阅WebType访问控制列表。