ISA Server 2006究竟能够过滤HTTP数据包中的哪些内容,在此列举如下:
头长度的上限。
要求负载长度的上限。
URL与查询长度的上限。
验证正则化与阻止高位字符
阻止可执行Windows命令的数据包通过。
阻止指定的HTTP连接方法(Method)。
阻止执行或下载指定的扩展名文件。
阻止指定的请求头或响应头的内容。
阻止包含的签名内容。
看完了上述HTTP数据包过滤策略的说明之后,接下来就让我们来看看它的设置方法。目前我的ISA2006中只有一条访问规则Allow all,内容是允许内网和本地主机任意访问,我们如果想在这条访问规则上设置HTTP过滤,只要在规则属性中切换到“协议”标签,如下图所示,点击右下角的“筛选”,选择“配置HTTP“,就可以进行HTTP过滤设置了。
一 常规设置
如下图所示,在HTTP策略的“常规“标签中,我们可以设置头长度的上限、负载长度的上限、URL长度上限、查询长度、验证正则化与阻止高位字符以及阻止可执行Windows命令的数据包通过,具体解释如下:
头长度的上限:此参数设置为较小的值可有效防止一些会导致缓冲区溢出的黑客程序的攻击,不过在此不建议设置小于10000字节的大小,因为它可能也会导致一些合法的应用程序无法访问。
负载长度的上限:有效地设置此值,可防止企业内部所发布的网站遭受到通过HTTP中的POST方法传送大量的恶意数据包,而导致网站系统的负载过大。
URL长度上限:设置超过此设限的网址长度将被阻止掉。
查询长度上限:在过去有一些蠕虫程序就是通过传送大量的GET要求给受害的目的地网站,藉此来瘫痪该网站的系统资源。
验证正则化与阻止高位字符:对于一些连接要求的数据包中,如果含有非正则化的字符与高位的内容可以在此加以阻止,不过必须注意的是如果网站是全中文化的,那么阻止高位的设置将会导致该网页无法正常显示,例如中文版Exchange Server 2003 OWA的发布就是如此。
阻止包含Windows可执行文件内容的响应:还记得最早以前的红色警戒病毒吗?它就是凭借传送带有可执行Windows命令(CMD/C)的数据包给目的地的IIS网站,来藉此入侵该网站的操作系统。ISA现在可以利用HTTP过滤有效阻止这种攻击。
二 方法
切换到HTTP策略的“方法“标签,如下图所示,我们可以阻止特定的HTTP方法。例如有些公司不希望员工在上班时间去论坛发贴子,我们就可以通过阻止POST方法来完成。
如下图所示,我们阻止了客户机使用HTTP的POST方法,我们看看能否起到作用?
在客户机上访问百度的贴吧,准备发个帖子测试一下,如下图所示。
测试结果如下图所示,ISA的HTTP过滤器拒绝了这个访问请求。
阻止方法还可以用于别的用途,例如我们想禁止用户访问代理服务器,就可以考虑阻止CONNECT方法,这样一来用户就不能和Web代理服务器建立连接了。
三 扩展名
切换到HTTP过滤的“扩展名”标签,如下图所示,我们在此可以阻止通过HTTP协议访问一些具有特定扩展名的文件。如果我们希望阻止用户不小心从网站下载或执行恶意代码,那么就可以在扩展名中阻止*.exe、*.vbs、*.js、*.com等。
在HTTP过滤中阻止了访问*.exe扩展名后,我们来实验一下,如下图所示,我们在客户机上下载ISA2006的180天试用版,下载的文件扩展名是exe。
结果如下图所示,下载请求被ISA过滤器阻止了。
四 HTTP头
在HTTP策略属性中切换到“头”标签,如下图所示,我们可以阻止指定的请求头或响应头。
下面是一些最常见的请求头,大家可以参考使用。
Accept:浏览器可接受的MIME类型。
Accept-Charset:浏览器可接受的字符集。
Accept-Encoding:浏览器能够进行解码的数据编码方式,比如gzip。Servlet能够向支持gzip的浏览器返回经gzip编码的HTML页面。许多情形下这可以减少5到10倍的下载时间。
Accept-Language:浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到。
Authorization:授权信息,通常出现在对服务器发送的WWW-Authenticate头的应答中。
Connection:表示是否需要持久连接。如果Servlet看到这里的值为“Keep-Alive”,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接),它就可以利用持久连接的优点,当页面包含多个元素时(例如Applet,图片),显著地减少下载所需要的时间。要实现这一点, Servlet需要在应答中发送一个Content-Length头,最简单的实现方法是:先把内容写入ByteArrayOutputStream,然 后在正式写出内容之前计算它的大小。
Content-Length:表示请求消息正文的长度。
Cookie:这是最重要的请求头信息之一
From:请求发送者的email地址,由一些特殊的Web客户程序使用,浏览器不会用到它。
Host:初始URL中的主机和端口。
Pragma:指定“no-cache”值表示服务器必须返回一个刷新后的文档,即使它是代理服务器而且已经有了页面的本地拷贝。
Referer:包含一个URL,用户从该URL代表的页面出发访问当前请求的页面。
User-Agent:浏览器类型,如果Servlet返回的内容与浏览器类型有关则该值非常有用。
UA-Pixels,UA-Color,UA-OS,UA-CPU:由某些版本的IE浏览器所发送的非标准的请求头,表示屏幕大小、颜色深度、操作系统和CPU类型。
五 签名
应用程序名称
|
搜寻范围
|
HTTP
头定义
|
签名内容
|
MSN Messenger
|
Request headers
(请求头) |
User-Agent:
|
MSN Messenger
|
Windows Messenger
|
Request headers
(请求头) |
User-Agent:
|
MSMSGS
|
Netscape 7
|
Request headers
(请求头) |
User-Agent:
|
Netscape/7
|
Netscape 6
|
Request headers
(请求头) |
User-Agent:
|
Netscape/6
|
AOL Messenger
|
Request headers
(请求头) |
User-Agent:
|
Gecko/
|
Yahoo Messenger
|
Request headers
(请求头) |
Host
|
msg.yahoo.com
|
Kazaa
|
Request headers
(请求头) |
P2P-Agent
|
Kazaa
Kazaaclient: |
Kazaa
|
Request headers
(请求头) |
User-Agent:
|
KazaaClient
|
Kazaa
|
Request headers
(请求头) |
X-Kazaa-Network:
|
KaZaA
|
Gnutella
|
Request headers
(请求头) |
User-Agent:
|
Gnutella
Gnucleus |
Edonkey
|
Request headers
(请求头) |
User-Agent:
|
e2dk
|
Internet Explorer 6.0
|
Request headers
(请求头) |
User-Agent:
|
MSIE 6.0
|
Morpheus
|
Response header
(响应头) |
Server
|
Morpheus
|
Bearshare
|
Response header
(响应头) |
Server
|
Bearshare
|
BitTorrent
|
Request headers
(请求头) |
User-Agent:
|
BitTorrent
|
SOAP over HTTP
|
Request headers
(请求头)
Response headers
(响应头) |
User-Agent:
|
SOAPAction
|
本文出自 “服务器应用” 博客,谢绝转载!