ISA Server中的即时消息

注意:这篇文章是从微软Technet转载过来的 , 它详细的介绍了即时消息的特性 , 对于大家理解如何在防火墙中允许即时消息有很大的帮助 。虽然这篇文章主要是针对ISA Server 2000的 , 不过里面提及的大部分知识对于ISA Server 2004一样有用 。这篇文章是从英文资料翻译过来的 , 原文有些词句不顺 , 进行了修正 。
概述
本文集中讨论使用Microsoft即时消息客户端(MSN Messenger 5.0 和 Windows Messenger)从公司向Internet发送即时消息的问题 。Windows Messenger包含在Windows XP中 。当您在安装Windows XP时 , Windows Messenger就包含在操作系统中了 。MSN Messenger 5.0包含在MSN 8.0中 , 也可以作为单独的下载来获得 。更多有关Windows Messenger和MSN Messenger的信息 , 请参考“关于即时消息应用程序一节 。
概念和过程
本节内容包括:
企业中的即时消息问题
ISA Server问题
配置ISA Server允许即时文本消息
为即时消息配置防火墙
企业中的即时消息问题
即时消息应用程序正在变得越来越流行 。人们开始习惯于即时消息应用程序所提供的快速响应时间 , 因此在商业环境中使用相同工具的推动力也在增长 。即时消息应用程序提供了实时体验 , 有助于增强商业通讯 。但是 , 在考虑使用这类应用程序之前 , 需要考虑这类系统所固有的安全性问题 , 这一点很重要 。
MSN Messenger和Windows Messenger等即时消息应用程序并没有为通讯提供总体用户身份验证和加密 , 即使有些第三方解决方案能够增强这些特性 。即时消息应用程序的体系结构使得它们很难以安全的企业设置来进行部署 。这将带来很多安全性问题 , 您可能设置了一些安全性策略 , 用它们保护内部网络资源的安全 , 避免外部来源对这些信息进行直接访问 , 但即时消息应用程序所带来的安全性问题可能会危及这些安全性策略 。
;
潜在的安全性问题包括:
缺乏桌面控制;
用户可能无法独立地在他们的计算机上安装和使用消息客户端软件 。这可能在缺少安全性管理员知识的情况下 , 引入潜在危险的流量 。
暴露内部IP地址
;;;;;一些即时消息特性需要将客户端计算机的内部IP地址暴露给在Internet中的即时消息服务器 , 或直接暴露给其他即时消息客户端 。
病毒. 当文件从外部来源发送到内部计算机时 , 文件传输机理可以将病毒引入到您的公司中 。
性能. 由于无法控制即时消息特性的使用 , 带宽和磁盘问题都是潜在的隐患 。
隐私. MSN Messenger和Windows
;
;;;;;Messenger所使用的MSN协议具有基于ASCII的命令行语法 , 而且消息都是以纯文本传输的 。由于在内部和外部网络之间传输的消息是非加密的文本 , 因此这可能引发隐私和法律问题 。
访问控制.
远程协助使用与Windows终端服务中所用的协议相同 , 都是远程桌面协议(Remote Desktop Protocol , RDP) , 它允许管理员完全控制用户计算机 , 使他们能访问主机中的所有内部资源 。取决于管理员的证书 , 这种访问可能会扩展到域上 。
模仿. 虽然Windows Messenger和MSN Messenger使用护照证书来登录到服务 , 但在这些证书中用户并不强迫使用强健的密码 。他们的联机“身份可能被恶意人员借用 。
ISA Server问题
有一些常见的问题会影响到具有防火墙设备的即时消息应用程序的使用 。对于具有MSN Messenger和Windows Messenger的Microsoft Internet Security and Acceleration (ISA) Server而言 , 这些问题包括:
复杂的协议.MSN Messenger和Windows Messenger所使用的MSN Messenger使一个很复杂的协议 , 它可能会使用多个端口来连接到消息服务器 , 并通过这些端口为某些即时消息特性发送和接受数据 。ISA Server SecureNAT客户端需要一个应用程序过滤器来处理复杂的协议 , 而ISA Server却无法提供这样的一个过滤器来适用于复杂的MSN Messenger协议 。只有防火墙客户端可以不需要应用程序过滤器就能处理复杂协议 。这意味着SecureNAT (以及Web Proxy客户端)只能使用MSN Messenger和Windows Messenger的文本消息聊天特性 。
网络地址转换 (NAT). ISA Server NAT功能将私有地址转换为ISA Server外部接口的公共IP地址 , 并允许一个外部IP地址在多个内部客户端间共享 , 从而对内部私有IP地址进行保护 。某些客户端到客户端的即时消息特性(例如VoIP、白板以及文件传输)需要在ISA Server计算机后的内部计算机向外部计算机公布其IP地址 。由于外部客户端无法使用内部客户端地址来启动一个与内部计算机的通讯会话 , 因此这个连接将会失败 。
UPnP.
基于UPnP的NAT设备和防火墙可能克服NAT问题 , 确定转换后的IP地址 。ISA Server不支持UPnP 。
SIPS.
声音、视频、应用程序共享和白板等特性需要在内部和外部客户端之间建立连接 , 并使用SIP Signaling (SIPS)来建立这个通讯会话 , 该会话会使用动态端口 。例如 , 使用音频/视频(AV)需要开打所有5004和65535之间的UDP端口 , 允许SYP和媒体流(RTP)通过防火墙 。没有相应应用程序过滤器的动态端口使用将会是一个问题 , 因为ISA Server没有任何有关哪个端口打开以及何时打开的信息 。ISA Server同样不支持SIP 。
ISA Server中可用的即时消息特性小结
作为上面所提问题的结果 , 通过ISA Server的MSN Messenger和Windows Messenger功能可以总结如下:
通常 , 在防火墙内的内部客户端之间的通讯应该能正常工作 , 不受ISA Server NAT问题的影响 。(这并不能解决复杂的内部网络配置 。) 一般 , 我们建议您不要使用ISA Server来控制内部通讯 。
即时文本消息聊天特性从本质上说是一个客户端/服务器应用程序 , 客户端利用这个应用程序在TCP端口1863上登录到消息服务器 , 然后发送聊天会话请求 。这个消息服务器会处理两个客户端之间的通讯 , 避免了由于外部客户端需要知晓内部客户端IP地址而引发的NAT问题 。
即时文本消息聊天可以通过HTTP Web代理客户端进行 , 您可以创建一个内容组来添加即时消息MIME类型 。
音频、视频和白板特性使用了一种变种的SIP协议 , 如果会话由ISA Server计算机后的内部客户端发起 , 那么它将无法顺利的通过ISA Server 。只有在会话由外部Internet客户端发起时 , 才能产生有效的会话 。
远程协助特性使用远程桌面协议(RDP) , 与Microsoft终端服务相同 。如果不为每个远程协助会话应用特定的ISA Server配置 , NAT将无法使这样的连接通过非UPnP设备(例如ISA Server) 。
文件传输特性要求发送文件的计算机通过消息服务器将其IP地址发送给接受计算机 , 这将引起NAT问题 。防火墙客户端可以更改防火墙客户端应用程序设置来使用文件传输 , 也可以创建具有第二连接的协议定义来定义文件传输所需的端口 。
配置ISA Server允许即时文本消息
本节提供了用于下列操作的过程:
配置通过Web代理的文本消息
为SecureNAT客户端配置文本消息
配置通过Web代理的文本消息
为了使用通过Web代理服务的即时文本消息(聊天) , 您必须设置一个默认的协议规则来允许HTTP协议 , 然后将内容组添加到您HTTP可用的内容类型中 。
在ISA Manager的控制台树中 , 点击扩展访问策略 , 右键点击策略规则 , 然后点击新建 , 规则 。
在名称中 , 给定协议规则名次 , 然后点击下一步 。
点击允许 , 然后点击下一步 。
在应用这个规则到中 , 点击选择选定的协议 , 然后在协议中 , 选择HTTP 。然后点击下一步 。
在日程安排中 , 点击下一步接受默认值 , 或为应用该规则设置一个日程表 。
在应用这个规则到来自于何处的请求中 , 选择任何请求 , 然后点击下一步 。
点击完成 , 结束新协议规则的创建 。
在您创建了协议规则后 , 添加内容组:
在ISA Manager控制台树中 , 点击扩展访问策略 , 然后点击站点和内容规则 。
在细节窗格中 , 右键点击ISA Server默认站点和内容规则 , 然后点击属性 。
在HTTP内容选项卡中 , 选择特定的内容组 , 然后点击新建 。
在名称中 , 输入这个新内容组的名称 。
在可用类型中 , 输入application/x-msn-messenger , 然后点击添加 。
注意:如果ISA Server需要对传出Web请求进行身份验证 , 只有MSN Messenger 5.0及以上版本才支持HTTP的基本身份验证 。早期版本的Microsoft Messenger不支持HTTP身份验证 。
为了实现ISA Server中传出HTTP请求的匿名身份验证 , 请在ISA Management中 , 右键点击ISA Server计算机 , 然后点击属性 。在传出Web请求选项卡中 , 确保没有选中要求未经身份验证的用户提供身份证明 。另外 , 请确保您为即时消息内容和目标提供了一个匿名站点和内容规则 , 或者对所有请求都不进行身份验证 。
为SecureNAT客户端配置文本消息
如果客户端计算机的Web浏览器没有将ISA Server作为代理 , 而您又希望为即时文本消息配置SecureNAT客户端 , 那么您需要为ISA Server MSN Messenger协议设置一个访问策略规则 , 该协议包含在ISA Server预定义的协议定义中 。要完成这个任务 , 请安装下列步骤操作:
在ISA Manager控制台树中 , 点击展开访问策略 , 右键点击协议规则 , 然后点击新建 , 规则 。
在名称中 , 键入新协议规则的名称 , 然后点击下一步 。
点击允许 , 然后点击下一步 。
在应用这个规则到 , 点击选择选定的协议 , 然后在协议 , 选择MSN Messenger 。然后点击下一步 。
在日程安排中 , 点击下一步接受默认值 , 或为应用该规则设置一个日程表 。
在应用这个规则到来自于何处的请求中 , 选择任何请求 , 然后点击下一步 。
点击完成 , 结束创建新的协议规则 。
注意:ISA Server预定义的MSN协议定义是一个简单的协议定义 , 定义了在端口1863的主连接 , MSN
Messenger和Windows Messenger使用这个端口进行即时文本消息 。
为即时消息配置防火墙
在一个遵守最佳安全性经验的ISA Server部署中 , 禁止了所有流量 , 然后仅允许必要的流量 。此时 , 防火墙客户端与SecureNAT客户端一样 , 需要为即时文本消息创建一个用于预定义MSN Messenger协议的访问策略规则 。为了仅为防火墙客户端配置即时文本消息 , 请安装为SecureNAT客户端配置文本消息的步骤说明进行操作 。
除了即时聊天消息以外 , ISA Server防火墙客户端还可以使用文件传输特性 。为了进行文件传输 , 发起的计算机必须将它的IP地址通过即时消息服务器传输给另一个客户端 。为了使防火墙客户端避免NAT问题 , 您需要确保暴露ISA Server外部接口的IP地址 , 而不是内部地址 。您可以在防火墙客户端的应用程序中加入NameResolutionForLocalHost=E , 就能实现这个功能 。在更改了ISA Server计算机中的应用程序设置后 , 必须更新防火墙客户端设置 。
为文件传输定义第二个端口也需要新建协议定义 。(ISA Server预定义MSN Messenger协议仅定义了端口1863 。)
对于文件传输而言 , 传入和传出TCP连接都使用端口6891到6900 。这使得每个传送者能够同时进行10个文件传输 。如果只定义了端口6891 , 那么每次只能完成一个文件传输 。在配置了这些设置后 , 文件传输过程中即时消息服务器将接受到外部接口的IP地址 , 然后将其传送给另一个客户端 。第二端口使得内部消息客户端能够接收来自接收计算机的请求 。
为了自动地为防火墙客户端配置这些设置 , 请下载Msnim.vbs , 您可以从ISA Server Tools Repository获得该文件 。然后按照下列步骤操作:
在ISA Server计算机Msnim.vbs 。
重新启动防火墙服务 。
退出即时消息客户端应用程序 。(不要只是注销 。)
刷新防火墙客户端 。
重新启动即时消息客户端应用程序 。
最佳经验
通过理解在公司中使用即时消息的意义 , 并实施最佳的策略 , 您可以使用即时消息特性来为您的业务服务 , 而不危及安全性要求 。您的最佳策略将基于下面几点:
理解公司中使用即时消息特性所固有的安全性问题 。
理解您如何在防火墙系统中使用即时消息 , 以及防火墙配置所产生的限制 。
安全的防火墙配置 , 用于管理通过您公司的即时消息的安全性 。
一致的实施策略 , 用于管理客户端计算机中的即时消息 。
思路清晰、组织良好的指导方针 , 使用户了解什么信息可以或不可以在即时消息中传播 。
其他信息
在本节中 , 对即时应用程序进行了解释 。
关于即时消息应用程序
现在有许多种即时消息应用程序 , 包括AOL Instant Messenger、ICQ和Yahoo Messenger 。Microsoft提供了下列产品:
用于即时消息的服务器解决方案:
Exchange 2000 Instant Messaging (IM)服务 。这个后端服务包括在Exchange
2000 。它为企业即时消息提供了服务器解决方案 。
Microsoft .NET Messenger服务(以前称为MSN Messenger服务) 。这是Microsoft提供的免费后端服务 。它适合基于Internet通讯的公共使用 。
即时消息客户端应用程序:
用于Exchange 2000 Instant Messaging Service 的Instant Messaging (IM)客户端 。这个客户端包括在Exchange 2000中 。它使用Active Directory目录服务来提供额外的安全性和身份控制 , 这些对于企业客户来说都是很关键的 。IM Client for Exchange 2000与Microsoft .NET Messenger Service一样 , 使用同一个MSN或Windows Messenger客户端界面 。有关使用IM Client for Exchange 2000在企业中进行即时消息的信息 , 请参考http://go.microsoft.com/fwlink/?linkid=17413 用于Exchange 2000 Instant Messaging Service 的Instant Messaging (IM)客户端 。
MSN Messenger 。MSN Messenger是Windows 9x、Windows NT和Windows 2000提供的消息客户端应用程序 。MSN Messenger使用NetMeeting用于视频会议 。有关设置NetMeeting的步骤说明 , 请参考ISA Server Tools Repository中的文章“H.323 GateKeeper doc 。
Windows Messenger 。Windows Messenger是Windows XP中包含的消息客户端应用程序 。Windows Messenger结合了MSN Messenger和NetMeeting视频会议应用程序的功能 。当您在安装操作系统时 , Windows Messenger就包含在Windows XP中了 。MSN Messenger 5.0包含在MSN 8.0中 , 也可以作为单独的下载来获得 。下面是几点注意:
您无法在非Windows XP的计算机上安装Windows Messenger 。
Windows Messenger能够与MSN Messenger 5.0一起在运行Windows XP的计算机上运行 。早期版本的MSN Messenger无法与Windows Messenger一同运行 。
MSN Messenger客户端和Windows Messenger客户端使用MSN Messenger协议 。MSN
Messenger协议在TCP/IP上工作 , 服务器组件支持端口1863上的连接 。这个端口是由IANA分配的注册端口 。MSN Messenger协议是一个复杂协议(每个会话使用多个协议或端口) 。MSN Messenger和Windows Messenger提供了下列功能:
即时消息
通过IP的音频或视频 (SIP signaling)
应用程序共享(SIP signaling)
白板共享 (SIP signaling)
文件传输
远程协助 (RDP)
总结
【ISA Server中的即时消息】本文介绍了通过ISA Server防火墙使用Microsoft即时消息应用程序(MSN Messenger和Windows
Messenger)所存在的局限性 。它解释了在防火墙和NAT设备上使用即时消息特性所固有的一般性概念 , 并提供了一些技巧和提示 , 能够帮助您在公司内更好的使用即时消息功能 , 而不危及您系统的安全性 。