ISA Server 2004中的HTTP压缩功能

内容概述:在ISA Server 2004中提供了对于HTTP压缩(常见的是GZIP压缩)的支持,但是从安全的角度,在大部分环境下禁止了HTTP压缩。通过这篇文章,你可以学习到如何在ISA Server 2004中启用对HTTP压缩的支持。

在ISA Server 2004中提供了对于HTTP压缩(常见的是GZIP压缩)的支持,ISA Server 2004可以转发从外部Web服务器获得的压缩过的HTTP数据到位于ISA防火墙保护网络中的客户计算机,并且ISA Server 2004的Web发布规则允许发布的内部Web服务器向浏览的外部网络中的客户机发送压缩过的HTTP数据。不过需要注意的是,这个“压缩过的HTTP数据”仅是数据包的内容被压缩,HTTP头信息是不会进行压缩的。

ISA防火墙中的Web发布规则可以配置为转发客户发送的原始Accept-Encoding头到发布的Web服务器。如果客户发送Accept-Encoding请求头,这表明它可以接受压缩过的内容,Web服务器则向它发送压缩过的HTTP数据,同时会在HTTP头中指出压缩的方式,同样的,ISA防火墙也会转发Web服务器回复的数据包给外部客户。

ISA防火墙不会对数据包的主体进行任何压缩;对于压缩过的数据,ISA防火墙不会进行任何应用层检查或者执行链接转换。不过,ISA防火墙会和处理未压缩的HTTP传输的HTTP头一样来处理压缩过的HTTP传输的HTTP头 ;同样的,任何匹配的访问规则或者HTTP应用层过滤对于压缩过的HTTP数据依然有效。不过,如果你在HTTP过滤器中配置了签名或者执行方式的应用层过滤,而传输的HTTP数据是经过编码(压缩)的,那么ISA防火墙会拒绝通信,会显示请求被HTTP过滤器拒绝的错误页面(如:Blocked by the HTTP security filter: the response content is encoded and cannot be scanned.)。因为ISA防火墙是不会对编码(压缩)过的HTTP数据进行检查的,如果防火墙策略要求它进行检查,那么ISA防火墙会从安全方面考虑,拒绝未经过检查的数据传输。

另外,如果ISA防火墙删除了客户端发送的

“Accept-Encoding”HTTP头,而访问的Web服务器仍然返回压缩过的数据,那么ISA防火墙同样会拒绝通信。

ISA防火墙不支持对压缩过的内容进行缓存,对于包含Content-Encoding请求头的内容也不会进行缓存,除非是Content-Encoding身份识别请求头。在通常情况下,HTTP传输也不会进行压缩,不过,有两个常用的应用程序Microsoft Outlook Web Access (OWA)和Microsoft BizTalk Server会对HTTP传输进行压缩。

根据不同的情况,ISA防火墙的Web代理组件对于压缩的HTTP传输会有以下行为: ? 在前向代理模式下(例如Web代理),ISA防火墙总是会去掉客户发送的Accept-Encoding请求头,所以,Web服务器不会对回复的HTTP传输进行压缩;

在反向代理模式下(例如Web服务器发布),你可以决定是否去掉Accept-Encoding请求头,这是通过控制每条Web发布规则的 IFPCWebPublishingProperties::SendAcceptEncodingHeader COM组件属性来进行,在后面有范例。

不过,在OWA发布和典型的Web发布之间有以下不同: ? 在OWA的Web发布规则中,SendAcceptEncodingHeader的默认值是True,这样ISA防火墙就不会移除客户端发送的Accept-Encoding头;

在典型的Web发布规则中,SendAcceptEncodingHeader的默认值是False,这样ISA防火墙会移除客户端发送的Accept-Encoding头;

ISA防火墙会转发发布的OWA服务器传输的压缩HTTP数据,但是不会对它进行任何压缩或解压,也不会进行任何状态过滤检查或者链接转换,只是仅仅转发而已。

ISA防火墙的HTTP过滤器提供了数据包头和数据包主体的签名匹配功能,不过,因为ISA防火墙不能对压缩的HTTP传输进行检查,这样降低了安全性,所以你可能想阻止加密的HTTP传输,你可以通过配置HTTP过滤器来阻止,执行步骤如下:

1. 打开ISA防火墙管理控制台,展开服务器名;

2. 点击防火墙策略,右击你想要进行配置的访问规则,然后点击配置HTTP;

3. 点击头标签,然后点击添加;

4. 在查找于列表,点击请求头;

5. 在HTTP头文本框,输入Content-Encoding,然后点击确定;

6. 再次点击确定回到防火墙策略面板,点击应用按钮以保存修改和更新防火墙策略;

因为压缩HTTP传输极大的降低了网络的安全性,所以ISA默认会拒绝。但是在实际使用中,很多网站或者论坛为了提高网络访问速度,大量的采用了GZIP进行压缩。可能你想要发布的网站就采用了GZIP压缩,这种时候,你需要配置ISA防火墙来允许Accept-Encoding请求头。

注意:使用OWA发布向导来伪造一条允许Accept-Encoding请求头的OWA发布规则是不行的,只有通过修改IFPCWebPublishingProperties::SendAcceptEncodingHeader COM组件属性来进行。

在Tristank的Blog上发布了关于如何修改这个属性的技术文章,修改的代码如下,复制到记事本中,另存为vbs文件,修改文件尾部的规则名字为你需要修改的规则名字,运行即可:

==================================================================================

''''' SAEHeader.vbs

''''' This script is a SAMPLE ONLY and is provided as is, without warranty

''''' The user variable is at the bottom of the script, called "rulename"

Function ToggleClientAcceptHeaders(targetrulename)

Dim root

Set root = CreateObject("FPC.Root")

Dim firewall ' An FPCArray object

Dim policyrules' An FPCPolicyRules collection

Set firewall = root.GetContainingArray

Set policyrules = firewall.ArrayPolicy.PolicyRules

foreach rule in policyrules

if rule.Name = targetrulenamethen

wscript.echo " Found target rule: " + rule.Name

if rule.WebPublishingProperties.SendAcceptEncodingHeader = falsethen

wscript.echo " SendAcceptEncodingHeader WAS DISABLED, now ENABLING."

rule.WebPublishingProperties.SendAcceptEncodingHeader = true

elseif rule.WebPublishingProperties.SendAcceptEncodingHeader = truethen

wscript.echo " SendAcceptEncodingHeader WAS ENABLED, now DISABLING."

rule.WebPublishingProperties.SendAcceptEncodingHeader = false

endif

wscript.echo "Saving Rule..."

rule.Save

endif

next

wscript.echo "Done."

EndFunction

''''''''''''''''''''''''''

''''' Program starts here

''''''''''''''''''''''''''

dim rulename

rulename = "Test Headers Rule" ' Should be unique,修改为你想要修改的规则的名称即可

ToggleClientAcceptHeaders(rulename) ' set the option for all rules with this name

=================================================================================

修改成功后重启ISA Server服务。

不过在这种情况下你需要禁止通过ISA防火墙的ZIP文件的下载,因为ISA防火墙会认为ZIP文件是经过ZIP编码的,并且会拒绝访问,在日志中会有记录。另外,你也不能再配置HTTP应用层过滤,原因前面已经说了,从安全的角度考虑,ISA防火墙会拒绝它不能进行检查的数据。

本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Network/Firewall/

时间: 2024-07-29 23:32:05

ISA Server 2004中的HTTP压缩功能的相关文章

ISA Server 2004和KWF网络间的路由功能

无论是ISA Server 2004还是KWF,都可以让你在你的内网中划分多个子网或者VLAN,然后让这些VLAN通过ISA Server 2004或KWF所做的NAT Server 访问外部网络.不过ISA Server 2004和KWF都建议你对不同的网络使用不同的网络接口(网卡),如果在同个网络接口(网卡)上实现不同的网络,那么ISA Server 2004和KWF的部分网络间的路由功能将会受到限制,或者出现一些未知的问题. 一.同个接口上实现多个网段 图一是一个在相同网络接口上实现多个网

自定义 ISA Server 2006 中的登录表单_服务器

在 ISA Server 2004 中虽然可以通过修改源文件来自定义表单登录界面,但是这样是不受微软支持的.在 ISA Server 2006 中虽然微软同样不对表单自定义提供技术支持,但是提供了自定义登录表单的功能,你现在可以发挥你的想像力和图像处理技术,把千篇一律的登录表单给修改一下,做出你自己的特色.  ISA Server 2006 安装时自带了两个登录表单模板,分别用于 Exchange OWA 登录和其他 情况下的表单登录,HTML 源文件位于 %ISA_Install_Folder

在域环境中配置ISA Server 2004的图文教程第1/2页_服务器

非常感谢Ronald Beekelaar,他做的ISA Server 2004 LAB是如此的精致,只需要我些许的修改几个地方,就可以完成这个比较复杂的试验) 很多朋友提出了在域环境中不能正确配置ISA Server 2004的问题,主要集中在无法引用域用户和DNS无法解析.在这篇文章中,我以一个域环境实例,来给大家介绍如何在域环境中配置ISA Server 2004.从这篇文章,你可以学习到如何在域环境中配置ISA防火墙.启用域用户的身份验证.配置内部客户.配置域控上的DNS转发和建立访问规则

使用ISA Server 2004禁止违规软件

现在P2P软件非常的流行,而且提供了多样化的登录方式,这给我们做网管的想封锁它的时候,带来很多不方便.下面我以国内常用的QQ和MSN来给大家介绍一下,利用ISA Server 2004的增强的HTTP协议检查功能,来完全的禁止它们. 既然要封锁它们,首先要对QQ和MSN使用的协议来进行分析,知己知彼,才能在封锁与反封锁的较量中获胜. 首先介绍MSN.MSN使用TCP 1863端口来登录的.封锁这个端口就可以很好的禁止MSN登录,但是在使用HTTP代理的情况下,MSN可以很轻松的突破1863端口的

ISA Server 2004硬件防火墙设备

问题:ISA Server 2004是什么? 解答:ISA Server 2004是一个集高级应用层状态过滤防火墙.虚拟专用网络服务和高效Web缓存服务为一身的防火墙解决方案,它可以极大的提高网络性能和安全性,让你在IT方面的投资得到最大化的收益.另外ISA Server 2004对微软产品例如Exchange Server.IIS Server等也提供了高级的保护功能. 问题:什么是基于ISA Server 2004的硬件解决方案? 解答:微软联合一些OEM厂商为大家带来了基于ISA Serv

图文安装指南ISA Server 2004

一.系统及网络需求 要使用 ISA 服务器,您需要: CPU:至少550MHz,最多支持四个CPU; 内存:至少256MB; 硬盘空间:150MB,不含缓存使用的磁盘空间; 缓存需要存放在NTFS分区上; 操作系统:Windows Serverhttp://www.aliyun.com/zixun/aggregation/19058.html">2003 或 Windows®2000 Server 操作系统.但是如果在运行 Windows2000 Server的计算机上安装 ISA Ser

介绍如何在ISA Server 2006中发布邮件访问服务

在 http://www.aliyun.com/zixun/aggregation/14454.html">Exchange 服务器提供的邮件访问服务功能中,最常用的是以下三个: 基于Web协议的OWA,让客户端可以通过Web浏览器访问邮件服务; 基于RPC协议的MAPI,让客户端可以通过Outlook访问邮件服务,具有最完整的用户服务特性; SMTP协议,用于邮件服务器之间的邮件转发,和非MAPI客户端的邮件发送; 在这篇文章中,我将给大家介绍如何在 ISA Server 2006 中发

SQL Server 2008中XML的新增功能

SQL Server 技术文章 作者:Graeme Malcolm(内容主管) 技术审查:Dragan Tomic 和 Michael Rys 项目编辑:Joanne Hodgins 发布日期:2008 年 8 月 适用产品:SQL Server 2008 摘要:Microsoft SQL Server 2008 通过增强对 XML 架构验证和 XQuery 的支持及增加 xml 数据类型,构建对 XML 的广泛支持. 版权 这是一份预备文档,在本文档中所述软件的最终商业版本发布之前,该文档的内

Tomcat7中开启gzip压缩功能的配置方法_Tomcat

使用gzip压缩可以减少数据传输大小,加快网页加载速度.很多大站都开启了gzip压缩,不过也有很多网站并没有开启gzip压缩,上次看了一篇文章说开启gzip压缩后对搜索引擎不友好,但从带宽和流量的角度来看,还是有必要开启gzip压缩的. 对于tomcat7服务器,打开conf文件夹下的server.xml 文件,找到 复制代码 代码如下: <Connector port="8080" protocol="HTTP/1.1"