分享
 
 
 

ISAServer2004中的HTTP压缩

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

内容概述:在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防火墙会拒绝它不能进行检查的数据。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有