QQ无法通过ISA2006&TMG2010代理收发图片问题解决

近期公司有业务需求通过TMG访问QQ,但配置多次均无法通过QQ收发图片,文字输入正常。

目前已解决,供参考:

这个问题是SSL端口默认使用了443,但QQ的离线文件不使用这个端口。所以ISA会把QQ的这个数据包给WEB代理筛选器,所以出错。解决办法,增加其它端口到ISA的SSL:
下载附件里的工具解压后放到ISA上,然后打命令 增加 80 8000-9000端口重启TMG或ISA 就OK 了

1、下载如下压缩包,解压:

https://files.cnblogs.com/files/Eric-Young/isa_tpr.zip

2、点击add_tpr.bat文件,连续三次确认;

3、打开命令窗口,切换到上述文件夹中;

4、运行如下命令,开启QQ使用端口:

cscript isa_tpr.js /add ext80 80
cscript isa_tpr.js /add ext8000 8000
cscript isa_tpr.js /add ext9000 9000

5、重启TMG或ISA

 

 

具体的原因:http://www.isacn.org/info/info.php?sessid=&infoid=165

ISA防火墙同时是网络防火墙和Web代理服务器。ISA Server的防火墙组件允许它同时执行数据包过滤和应用层状态识别;而Web代理组件允许它作为CERN兼容的HTTP 1.1 Web代理服务器。Web代理组件(实际上是ISA Server 2004防火墙内部的Web代理过滤器)可以对HTTP通信进行解码,执行应用层状态过滤,然后在转发给外部的目的Web服务器时重建HTTP通信。 

可是,对于在受ISA防火墙保护的网络中的主机和一台外部网络的Web服务器间建立的SSL连接有点不一样,当内部主机通过ISA防火墙的Web代理组件发起SSL请求时,ISA防火墙可以检查HTTP头或者根据访问规则来执行过滤;但是,当它们之间的SSL连接建立后,由于在它们之间传输的数据实行了SSL隧道加密,ISA防火墙将不能再检查它们之间传输的数据。 

在内部Web客户和目的Web服务器之间建立SSL隧道的过程如下所示: 

1、内部的Web客户通过在Web浏览器的地址栏中发起一个对目的Web服务器的SSL对象的请求,如 

https:URL_Name 

2、用户将把这个请求发送到ISA防火墙的8080端口(默认的Web代理侦听端口); 

CONNECT URL_name:443 HTTP/1.1 

3、ISA防火墙连接目的Web服务器的443端口; 

4、当连接建立后,ISA防火墙返回数据给Web客户; 

HTTP/1.0 200 connection established 

从此时开始,客户直接和外部的Web服务器通信,而不再经过ISA防火墙的Web代理组件,因此,ISA防火墙不能再对封装在SSL隧道中的数据和命令执行应用层状态识别。 

当外部Web服务器使用标准的SSL端口TCP 443时,一切都是很正常的,但是,有时候你的Web代理客户也会使用其他的端口来访问SSLWeb站点,例如,Web代理客户可能会使用端口4433替代443来访问银行的Web站点,这样会导致SNAT客户和防火墙客户产生错误,因为ISA防火墙默认会转发SNAT客户和防火墙客户的HTTP连接到Web代理过滤器,客户可能会看见空白页或者指出该页面不能访问的错误页。 

这个问题就是Web代理过滤器会转发SSL连接到TCP端口443。如果客户想连接其他不使用TCP 443端口的SSL站点,那么连接尝试将会失败。你可以通过扩展SSL隧道端口范围来解决这个问题。为了做到这一点,你需要下载Jim Harrison的脚本,然后运行时输入你想让ISA防火墙Web代理组件使用的SSL隧道端口范围。
posted @ 2017-06-05 15:36  Eric_Young  阅读(1202)  评论(0编辑  收藏  举报