ISA Server 2004 中的HTTP 筛选

 ISA Server 2004 中的HTTP 筛选 

时间: 2008.12.23 01:02:00 
标签:  

ISA Server 2004 中的HTTP 筛选

转载自微软技术资料
本页内容
  • 简介

  • 解决方案

  • 附录 A:用于 Web 和 Outlook Web Access 发布规则的导入典型 HTTP 策略

 

简介

Microsoft Internet Security and Acceleration (ISA) Server 2004 提供对超文本传输协议 (HTTP) 通信的细化控制。该控制以 HTTP 筛选器的形式给出,即检查用于设置 HTTP 策略的 HTTP 命令和数据的应用程序层筛选器。HTTP 筛选器筛选所有通过 ISA Server 计算机的 HTTP 流量,只允许符合条件的请求通过。这有助于确保服务器只响应有效请求,因而显著提高了 Web 服务器的安全性。还可以使用户能够控制 ISA Server 客户端 Internet 访问的具体细节。

HTTP 筛选可用于两个常规方案:

源网络上的客户端通过 ISA Server 计算机访问在另一个网络上的 HTTP 对象(可以使用 HTTP 协议传送的 HTML 页面和图形或其他数据)。该访问由 ISA Server 访问规则控制,使用 HTTP 筛选器可将 HTTP 策略应用于这些规则。

Internet 上的客户端访问通过 ISA Server 计算机发布的 Web 服务器上的 HTTP 对象。该访问由 ISA Server Web 发布的规则控制,使用 HTTP 筛选器可将 HTTP 策略应用于这些规则。

ISA Server 中的 HTTP 筛选是针对规则的,因此可以根据防火墙策略的具体要求应用不同级别和类型的筛选。例如,可以使用 HTTP 筛选以禁止一组用户使用特定的点对点文件共享服务,而允许另一组用户使用。

本文档使用常用术语描述了 HTTP 筛选以及配置 HTTP 筛选器的方法。它给出了 Web 发布和 Outlook Web Access 发布的 HTTP 策略示例。还描述了使用 HttpFilterConfig.vbs 脚本以导入示例策略的方法。

注意
比较 HTTP 筛选器和 URLScan
ISA Server 2000 Feature Pack 1 包括 URLScan 工具,可以提供与 HTTP 筛选器相似的功能。URLScan 和 HTTP 筛选器之间的主要区别在于 URLScan 应用于全部 HTTP 流量,而 HTTP 筛选器可以基于每条规则进行配置。这使您可以对 HTTP 策略进行更强大的控制。
另一个区别是 HTTP 筛选器不包括 URLScan 工具中的该功能:

EnableLogging

PerProcessLogging

AllowLateScanning

PerDayLogging

RejectResponseUrL

UseFastPathReject

DenyUrlSequences

在 ISA Server 日志中,日志被合并为一个独立的字段 (FilterAction)。
RejectResponseURL 是一种 URLScan 为了将请求客户端重定向到不同页面而使用的机制。ISA Server 包括错误响应页面。
UseFastPathReject 是撤销请求时用的选项,而不是使用 RejectResponseURL
通过 HTTP 筛选器属性的“签名”选项卡来替换 DenyUrlSequences。

访问规则

访问规则确定源网络中的客户端访问目标网络中资源的方式。

可以配置访问规则应用于所有 IP 流量、应用于协议定义的特定集或应用于除选中协议之外的所有 IP 流量。

ISA Server 包括预配置的、已知协议定义的列表,包括广泛使用的 Internet 协议。还可以添加或修改附加协议。

当客户端请求对象时,ISA Server 会检查访问规则。只有当访问规则专门允许客户端使用特定协议进行通信并且还允许访问请求的对象时,才会处理请求。

Internet 访问控制主要取决于访问规则的设计和顺序。

创建访问规则后,通过双击“防火墙策略”详细信息窗格中的规则可以查看和编辑其所有属性。其中一个属性是 HTTP 策略,通过该策略可以为与具体允许访问规则相匹配的请求配置 HTTP 设置。还可以通过右键单击某个规则并选择“配置 HTTP”来访问 HTTP 策略设置。

ISA 服务器是应用程序层防火墙,可以将应用程序筛选器应用于 HTTP 流量。因为 ISA Server 可检查 HTTP 请求,所以可根据 HTTP 应用程序筛选器的配置情况阻止通过 HTTP 隧道的应用程序。HTTP 应用程序筛选器提供对防火墙策略所允许 HTTP 请求的细化控制。

注意: HTTP 筛选可用于允许规则,对允许施加限制。不能用于拒绝规则。

Web 发布规则

ISA Server 使用 Web 发布规则在不危及网络安全前提下减轻对发布 Web 相关内容的关注。Web 发布规则决定 ISA Server 将如何截获 Web 服务器上 HTTP 对象的传入请求,以及 ISA Server 如何代表 Web 服务器作出响应。请求转发给了 Web 服务器,该服务器位于 ISA Server 计算机之后。如果可能,由 ISA Server 缓存为请求服务。

Web 发布规则实质上将传入请求映射到相应的 Web 服务器。Web 发布规则还允许配置高级筛选功能,因此可在公布基于 Web 的信息的同时保护 Web 免遭恶意访问。

HTTP 策略设置

HTTP 策略包括下列设置:

请求头的最大长度

请求负载的长度

URL 保护

阻止可执行文件

已拒绝的方法

为特定文件扩展名指定的操作

拒绝特定的头

修改服务器和 Via 头

阻止高位字符

选择“阻止高位字符”时,将阻止包含双字节字符集 (DBCS) 或 Latin 1 字符的 URL。这些典型字符来自于要求超过 8 位以代表该语言字符的语言,因此需要使用 16 位。这会对方案(如 Outlook Web Access 发布、SharePoint Portal Server 发布和 GET 请求从 DBCS 传递含有字符参数的任何方案)产生影响。

拒绝特定签名

阻止特定签名时,将阻止通过 HTTP 传输流量的应用程序,还可以使用请求头、响应头和正文(例如,Windows Messenger)中的特定模式标注这些应用程序。HTTP 签名阻止不会禁止使用不同类型的内容编码或范围请求的应用程序。

“通用应用程序签名”中提供了签名的示例,请参见 (http://go.microsoft.com/fwlink/?linkid=31422).

关于范围请求

范围请求是为响应指定请求数据范围的请求。它们提供对如下方面的控制,如继续执行已中断下载、用户页面通过时按顺序下载资料,或根据需要下载部分资料。

假设所有的 HTTP 请求和响应都是用“统一转换格式 8”(UTF-8,一种 Unicode 字符编码的转换)编码的。如果使用不同的编码方案,则无法执行签名阻止。

关于 HTTP 请求和响应头

HTTP 请求和响应使用头发送关于 HTTP 消息的信息。头是一系列行,每行包含跟有冒号和空格的名称,然后是值。

HTTP 策略可用于客户端 Internet 访问和 Web 发布:

在客户端 Internet 访问中,您可能希望限制客户端对 Internet 上可用特定服务的访问。例如,您可能希望阻止点对点文件共享服务。

在 Web 发布中,您希望使用 HTTP 筛选阻止可能含有恶意代码的请求。攻击通常会带有特定的签名和扩展名。例如,“红色代码 (Code Red)”病毒使用扩展名 .ida。如果阻止了那些签名和扩展名,攻击将不会到达 Web 服务器。

 

作者:Microsoft Corp.
责任编辑:风间子

解决方案

可以配置 HTTP 策略以说明各种客户端访问和 Web 发布方案。本节提供关于如何配置 HTTP 策略的演练,然后给出几个方案的策略示例。具体说来,本节包括下列主题:

HTTP 策略——演练

阻止示例

Web 和 Outlook Web Access 发布规则的典型 HTTP 策略

HTTP 策略和 SSL 连接

HTTP 策略——演练

该演练指导用户完成配置 HTTP 策略所必需的步骤。

HTTP 策略演练过程 1:访问 HTTP 策略属性

1.

HTTP 策略的应用基于每个规则。通过每个希望对其应用 HTTP 策略的规则来访问策略。

重要
在“为规则配置 HTTP 策略”对话框的“常规”选项卡中,“头的最大长度”设置可在全局范围内应用于所有规则。该设置在请求被阻止前配置请求头中所允许的字节数。
“常规”选项卡和其他选项卡上的其余设置以每个规则为基础进行应用。

若要访问对话框,为访问规则或 Web 发布规则配置 HTTP 策略,请按照该过程操作。

2.

打开“Microsoft ISA Server 管理”,展开“ISA Server”计算机节点,然后单击“防火墙策略”

3.

在详细信息窗格中,右键单击规则,然后选择“配置 HTTP”。

HTTP 策略演练过程 2:配置 HTTP 策略

1.

通过属性对话框上的五个选项卡可以访问 HTTP 策略属性。该主题中提供有关配置策略的常规信息。如果不打算开发 Web 发布和 Outlook Web Access 发布的特定 HTTP 策略,建议至少应该按照“Web 和 Outlook Web Access 发布规则的典型 HTTP 策略”所描述的内容配置 HTTP 策略。

2.

对 HTTP 策略作出更改后,必须单击 ISA Server 详细信息窗格中的“应用”以应用更改。

注意: ISA Server 预防措施 网站 (http://www.microsoft.com) 将定期提供可用于阻止特定攻击的签名。

“常规”选项卡

该图显示“HTTP 策略属性”的“常规”选项卡上的默认设置。

若要配置 HTTP 策略,请按照该过程操作。

1.

依次在“请求头”、“头的最大长度(字节)”上,指定请求被阻止前其头(URL 和头)中可包含的最大字节数。此设置会应用到所有规则中,因此如果在一个规则中更改了设置,则在所有规则中进行了更改。

提示: 减小允许的头大小可降低遭受需要复杂和长头的攻击(比如:缓冲区溢出攻击和某些拒绝服务攻击)的风险。如果最大头的长度设的过低,则可能影响使用长头的合法应用程序。建议从 10,000 字节的限制开始,只有当发现所需的应用程序被阻止时再增加长度。

2.

在“请求负载”中,如果想阻止超过指定最大负载长度的请求时,清除“允许任意负载长度(字节)”复选框。然后,在“最大负载长度(字节)”中,指定最大的字节数。

提示:通过限制请求负载,可限制用户在 Web 发布方案中 POST 到网站中的数据量。若要决定设置的限制,请基于网站的使用情况估计组成合法 POST 的文件大小的最大值,然后将其用作允许的负载长度。这样任何大于所定义长度的 POST 文件都被认为是潜在的攻击。

3.

在“URL 保护”的“最大 URL 长度(字节)”中,键入所允许的最大 URL 长度。所带有的 URL 超过该值的请求会被阻止。

4.

在“最大查询长度(字节)”中,键入在一个请求中所允许的最大查询长度。所带有的查询超过该值的请求会被阻止。

注意: 查询是 URL 的一部分,跟随在问号 (?) 之后。如果得知了一个基于长查询字符串的攻击,用户可能想要限制查询的长度。在默认情况下,最大查询长度设置为 10240。

长查询和 URL 是一个已知的 Internet 蠕虫病毒的攻击对象。这些蠕虫病毒发送一个长 GET 请求并使用 URL 以嵌入它们的负载。

5.

如果用户想阻止那些带有 URL(在规范化后包含转义字符)的请求,请选择“验证规范化”。

注意: Web 服务器收到已经进行了 URL 编码的请求。这意味着某些字符可能已经被一个跟着特定数字的百分号 (%) 代替。例如,%20 对应于一个空格,所以对 http://myserver/My%20Dir/My%20File.htm 的请求和对 http://myserver/My Dir/My File.htm 的请求相同。规范化就是将已经过 URL 编码的请求进行解码处理。

因为百分号 % 可以进行 URL 编码处理,所以攻击者可以向服务器提交一个经过仔细处理的请求(基本上是双重编码的)。如果发生这种情况,Internet 信息服务 (IIS) 可能会接收一个在其他情况下被认为是因无效而被拒绝的请求。当选择“验证规范化”时,HTTP 筛选器将 URL 规范化两次。如果第一次规范化过后的 URL 与第二次规范化过后的 URL 不同,筛选器就会拒绝该请求。这样就阻止了依赖于经双重编码请求的攻击。

请注意在建议使用“验证规范化”功能时,该函数也可能阻止包含百分号 % 的合法请求。

6.

选择“阻止高位字符”,指定阻止带有高位字符的 URL。这样虽然可以帮助阻止一些对运行 Internet 信息服务 (IIS) 的 Web 服务器的攻击,但是可能也会阻止那些包含来自于某些要求高位字符语言的字符的请求和响应。

7.

在可执行文件中,选择“阻止包含 Windows 可执行文件内容的响应”以指定包含 Windows 可执行文件内容的响应(以“MZ”开头的响应)会被阻止。

“方法”选项卡

该图显示 HTTP 策略属性的“方法”选项卡,以及单击“添加”以添加新方法时出现的“方法”对话框。HTTP 方法(也称为 HTTP 动作)就是在已发送的请求消息中的一个指令,该请求消息通知 HTTP 服务器在指定资源上执行操作。例如,GET 指定从服务器检索一个资源。

在该选项卡上,可以指定规则是否根据请求方法(比如:POST、GET 或 HEAD)阻止 HTTP 请求。

ISA Server 2004 中的HTTP 筛选_第1张图片

若要配置 HTTP 方法,请按照该步骤操作。

1.

在“为 HTTP 方法指定所要采取的操作”中,从下列操作中选择:

允许所有方法。不应用按方法的阻止。

允许选中的方法。阻止除了那些带有指定方法的请求外的所有请求。建议只允许选中的方法,因为这是最安全的配置。有关该方法的示例,请参见“Web 和 Outlook Web Access 发布规则的典型 HTTP 策略”。

阻止指定方法(允许所有其他方法)。允许所有请求,除了那些带有列表中指定方法的请求。

2.

单击“添加”为列表添加方法,单击“编辑”以编辑选中的方法,或者单击“删除”以删除选中的方法。单击“添加”时,就会出现“方法”对话框,如下所示。请提供方法(区分大小写)及其描述,然后单击“确定”。

按方法阻止的示例就是阻止 POST,这样内部客户端就无法将数据传递到外部网页。在想要防止敏感信息被传递到网站的安全网络方案中,这种方法十分有效。在 Web 发布中这种方法也行之有效,它会阻止黑客将恶意内容传递到网站。有关按方法阻止的其他示例,请参见“Web 和 Outlook Web Access 发布规则的典型 HTTP 策略”。


“扩展名”选项卡

该图显示 HTTP 策略属性的“扩展名”选项卡,以及单击“添加”以添加方法时出现的“扩展名”对话框。在该选项卡上,可以指定规则是否按照请求的文件扩展名(比如:.exe 或 .asp)阻止 HTTP 请求。

若要指定文件扩展名,请按照该步骤操作。

1.

在“为文件扩展名指定所采取的操作”中,在下列操作中选择一个:

允许所有扩展名。不会应用按请求的文件扩展名阻止。

允许选中的扩展名。除了带有指定请求的文件扩展名外的所有请求都会被阻止。建议只允许选中的扩展名,因为这是最安全的配置。例如,如果要发布一个网站,网站设计者或 Web 服务器的管理员能够定义站点功能所需要的扩展名列表。

阻止指定扩展名(允许其他所有扩展名)。会允许所有的请求,除了那些带有已经在列表中指定了的请求文件扩展名的请求。

2.

单击“添加”向列表添加扩展名,单击“编辑”以编辑选中的扩展名,或者单击“删除”以删除选中的扩展名。单击“添加”时,就会出现“扩展名”对话框,如下所示。请提供扩展名(区分大小写)及其描述,然后单击“确定”。

扩展名阻止的典型使用就是阻止可执行文件(.exe)。有关其他扩展名阻止的示例,请参见“Web 和 Outlook Web Access 发布规则的典型 HTTP 策略”。

“头”选项卡

该图显示 HTTP 策略属性的“头”选项卡。在该选项卡上可以指定是否按照特定头的出现来阻止请求或响应。

ISA Server 2004 中的HTTP 筛选_第2张图片

若要指定头,请按照该步骤操作。

1.

在“头”中,列出所有会被阻止的头。

2.

单击“添加”为列表添加头,再单击“编辑”以编辑选中的头,或者单击“删除”以删除选中的头。单击“添加”时,就会打开“头”对话框。请指定是否选取响应或请求的头,提供头,然后单击“确定”。

3.

在“服务器头”中,指定如何在响应文件中返回服务器头。服务器头是包含信息(如服务器应用程序的名称和软件版本信息,例如,HTTP:Server = Microsoft-IIS/6.0)的响应头。可能的设置如下:

发送原始头。原始头会在响应中返回。

从响应中剥离头。在响应中无头返回。

修改。已修改的头会在响应中返回。如果选择该选项,在“更改为”中,键入出现在响应中的值。建议修改服务器头。出现在响应中的值可以是任何值,因为客户端很少使用服务器头。

4.

在“Via 头”中,指定如何在请求中转发 Via 头或者如何在响应中返回该头。Via 头为位于请求路径上的代理服务器提供了一种方法以确保这些服务器也包括在响应的路径中。在请求路径上的每个服务器都可以添加各自的 Via 头。在响应路径上的每个发件人都将各自的 Via 头删除并将响应转发到堆栈上下一个 Via 头中指定的服务器。例如,可以使用该功能避免在响应中泄漏 ISA Server 的计算机名称。可能的设置如下:

发送默认头。使用默认头。

修改请求和响应中的头。 - 将使用已修改的头替换该 Via 头。如果选择该选项,在“更改为”框中,键入将会出现的头而不是 Via 头。

“签名”选项卡

下图显示 HTTP 策略属性的“签名”选项卡。在该选项卡上,可以指定是否按照在头或体中出现的特定签名阻止请求和响应。

ISA Server 2004 中的HTTP 筛选_第3张图片

签名可以是头或体中的任何字符串。建议选择那些足够具体的字符串以仅仅阻止那些想要阻止的请求和响应。例如,如果将字母“a”添加为签名,就会阻止所有包含“a”的请求和响应,这样会包括大量的请求和响应。与此类似,将“Mozilla”包括进签名中就会阻止大部分 Web 浏览器。更典型的示例签名是“User-Agent:adatum-software-abc”。“通用应用程序签名”提供了签名示例,可以访问 (http://go.microsoft.com/fwlink/?linkid=31422).

签名列表列出了会被阻止的签名。若要配置签名,请按照该步骤执行。

单击“添加”为列表添加签名,单击“编辑”以编辑选中的签名,或者单击“删除”以删除选中的签名。向列表添加签名时,可以使用签名名称旁边的复选框来启用或禁用特定签名。如果选择了列表下面的“仅显示已启用的搜索字符串”复选框,在列表中仅显示已启用的签名。

在“HTTP 策略演练过程 3”中提供了有关如何确定签名的信息:确定签名。

HTTP 策略演练过程 3:确定签名

若要根据签名阻止特定流量,必须知道该流量的签名,这样可以将其添加到 HTTP 策略。 ISA Server 预防措施 网站 (http://www.microsoft.com) 会周期性地提供可以用于阻止特定攻击的签名。还可以通过监视网络流量确定签名。可以使用任何网络流量监视软件以确定签名。该示例使用 Microsoft 网络监视器。

重要
因为一些网络流量监视工具可能引起安全风险,建议仅在实验室环境中使用这些工具,而且永远不要在生产环境中使用。

按照这些步骤确定签名。该步骤主要发生在 ISA Server 计算机上,而且还需要通过 ISA Server 计算机访问 Internet 的客户端。

安装网络监视器工具

若要安装网络监视器工具,请按照该步骤操作。

1.

在 ISA Server 计算机上,单击“开始”,指向“控制面板”,并选择“添加或删除程序”。

2.

单击“添加/删除 Windows 组件”以启动“Windows 组件向导”。

3.

双击“管理和监视工具”。选择“网络监视工具”,单击“确定”,然后单击“下一步”。

4.

完成“Windows 组件向导”时,单击“结束”。

搜索签名

若要搜索签名,请按照该步骤操作。

1.

在 ISA Server 计算机上,打开“网络监视器”。单击“开始”,指向“管理工具”,并选择“网络监视器”。

2.

“网络监视器”消息会提示客户选择网络。单击“确定”以关闭消息。

3.

在“选择网络”对话框中,扩展“本地计算机”。选择“内部”以跟踪客户端使用的签名。这样就允许客户使用这些签名阻止客户端对特定 Internet 服务的访问。

4.

“网络监视器”会捕获来自于内部网络的所有数据包。捕获数据包后,可以对结果进行筛选,或者在启动捕获前创建筛选器,这就是在此使用的方法。从菜单单击“捕获”,并选择“筛选器”(或按 F8)。在“捕获筛选器”对话框中,选择项目“INCLUDE *ANY < - > *ANY”,然后单击“编辑”。

5.

单击“编辑地址”,然后单击“添加”下面的“地址”。在“地址表达式”对话框中,单击“编辑地址”。

6.

在“地址数据库”对话框中,单击“添加”打开“地址信息”对话框。

ISA Server 2004 中的HTTP 筛选_第4张图片

7.

在“地址信息”对话框中,请提供客户端计算机的名称。请在“地址”中提供客户端计算机的 IP 地址,从“键入”下拉列表选择“IP”,然后单击“确定”。

ISA Server 2004 中的HTTP 筛选_第5张图片

8.

在“地址数据库”对话框中,单击“关闭”。

ISA Server 2004 中的HTTP 筛选_第6张图片

9.

在“地址表达式”中,验证已选中“包含”选项。在“机器 2”列中,选择刚刚创建的客户端。让“方向”保持默认值(双向),在“机器 1”列中将目标选为 ISA Server 计算机,然后单击“确定”。

10.

单击“确定”以关闭“捕获筛选器”对话框。

11.

如果在那两台计算机之间有大量的流量,可能需要增加捕获缓冲区。从菜单单击“捕获”并选择“缓冲区设置”。在“捕获缓冲区设置”对话框中,增加“缓冲区大小”。单击“确定”

12.

在客户端上,关闭所有应用程序(除了用户感兴趣的捕获签名以用于 HTTP 策略的应用程序)。

13.

从“网络监视器”菜单,单击“捕获”并选择“开始”(或按 F10)。

14.

在客户端计算机上,启动应用程序。例如,登录“MSN 即时消息”或“AOL 即时消息”。

15.

从“网络监视器”菜单单击“捕获”并选择“停止并查看”(或按 SHIFT+F11)。检查捕获到的数据包。通常,第四个数据包(在握手数据包 SYN SYNACK 和 ACK 的后面)会是一个来自于客户端计算机的 HTTP 请求数据包,该数据包会包含用户正在查找的信息,尽管可能要在后面的数据包中查找。

ISA Server 2004 中的HTTP 筛选_第7张图片

16.

双击数据包以查看其详细信息。查找与要阻止的应用程序相关的唯一签名。如果数据包已经由“网络监视器”正确解析,就可以查看并分别单击详细信息窗格(中心窗格)中所有的头,并在 Hex 窗格(底部的窗格)中查看完整签名。否则,可能必须在 Hex 窗格中搜索签名。

确定签名后,就可以按照“HTTP 策略演练过程 2”中的步骤操作:配置“HTTP 策略”以在 HTTP 策略中使用签名。

HTTP 策略演练过程 4:测试 HTTP 策略

在配置 HTTP 策略后,应该对其进行测试以确定已经阻止了想要阻止的应用程序。这是十分重要的步骤,因为可能会不经意地阻止了不想阻止的重要应用程序。

在客户端计算机上,运行正试图阻止的应用程序(比如:即时消息程序)。如果应用程序无法连接,那么对该应用程序的阻止成功。在基于浏览器的应用程序中,用户会收到表示应用程序被 HTTP 筛选器阻止的网页。若要查看是否阻止了其他应用程序,可以在试图运行应用程序前运行“网络监视器”。客户端数据包的响应表示应用程序受到 HTTP 筛选器的阻止。

还可以查看 ISA Server 日志以查阅 HTTP 策略阻止了哪些应用程序。

若要查看日志中的信息,请执行下列步骤。

1.

在“Microsoft ISA Server 管理”控制台树中,选择“监视”。

2.

在“监视”详细信息窗格中,选择“日志”选项卡。

3.

在任务窗格中的“任务”选项卡上,单击“编辑筛选器”以打开“编辑筛选器”对话框。在筛选器条件列表中,选择“日志时间”。从“条件”下拉列表框中,选择感兴趣的时间段(比如:“前一个小时”),单击“更新”,然后单击“开始查询”。

注意: 在单击“编辑筛选器”对话框中的“开始查询”以前,不保存对日志筛选器表达式的更改和新创建的表达式。

4.

在显示的日志中,右键单击任意列标题,然后单击“添加/删除列”。

ISA Server 2004 中的HTTP 筛选_第8张图片

5.

在“添加/删除列”对话框中,选择“HTTP 状态代码”列,单击“添加”,然后单击“确定”。

6.

在已拒绝请求的“HTTP 状态代码”列中,可以看到一个条目,其内容为请求已被 HTTP 筛选器拒绝。请注意,通过单击列标题可以根据任意列数据进行分类。

下一步,运行客户端计算机上的各种其他应用程序,以验证他们是否仍在工作。如果不在工作并且 ISA Server 日志显示 HTTP 筛选器已阻止他们,则必须相应地修改 HTTP 策略。具体说来,您应该验证在 HTTP 策略中使用的签名是否足够特殊。

根据规则筛选日志
还可以编辑日志筛选器以便在日志中仅显示被特定规则拒绝的访问。为此,请按照以下步骤操作。

1.

在“Microsoft ISA Server 管理”控制台树中,选择“监视”。

2.

在“监视”详细信息窗格中,选择“日志”选项卡。

3.

在任务窗格中的“任务”选项卡上,单击“编辑筛选器”以打开“编辑筛选器”对话框。在“筛选依据”中,从下拉列表框中选择“规则”。在“条件”中选择“等于”,然后在“值”中选择希望包含在筛选器中的规则名。

ISA Server 2004 中的HTTP 筛选_第9张图片

4.

单击“添加到列表”,然后单击“开始查询”。

注意: 在单击“编辑筛选器”对话框中的“开始查询”以前,不保存对日志筛选表达式的更改和新创建的表达式。

阻止示例

该主题提供一些阻止方法的示例。阻止对含有恶意代码网站的访问

如果了解常见的恶意代码,则可以阻止对可能包含恶意代码站点的访问。例如,含有该代码的网页将导致 Internet Explorer 以无限嵌套 iframe 元素形式用尽 CPU 资源:

<iframe src="?"/>

若要防止对含有该代码网页的访问,请使用签名,以在响应正文中搜索本文 <iframe src="?"/>。可以使用默认设置来限制对前 100 个字节搜索的字节范围,这样就不会影响性能。

阻止 HTTP 上的 RPC

若要阻止 HTTP 上的 RPC,请阻止这些方法:

RPC_IN_DATA

RPC_OUT_DATA

因为 Outlook2003 使用 HTTPS 上的 RPC,所以该方法不适用。

用于 Web 和 Outlook Web Access 发布规则的典型 HTTP 策略

如果不想创建自己的 HTTP 策略,用户可以从这些用于 Web 和 Outlook Web Access 发布规则的基准 HTTP 策略开始,然后对其进行修改以满足自己相应的策略。

如果不想通过 ISA Server 用户界面 (UI) 配置这些策略,附录 A 提供了用于导入每个策略的可扩展标记语言 (XML) 的文档和说明:导入用于 Web 和 Outlook Web Access 发布规则的典型 HTTP 策略。

基准 Web 发布 HTTP 策略

对于 Web 发布,创建带有该表所示参数的 HTTP 策略。

选项卡

参数

常规

头的最大长度为 32768。

已选中允许所有的负载长度。

URL 的最大长度为 260。

查询的最大长度为 4096。

已选中验证规范化。

未选中阻止高位字符。

方法

仅允许指定方法:

GET

HEAD

POST

扩展名

阻止指定的扩展名(允许所有其他的扩展名):

.exe

.bat

.cmd

.com

.htw

.ida

.idq

.htr

.idc

.shtm

.shtml

.stm

.printer

.ini

.log

.pol

.dat

未更改默认设置。

签名

(请求 URL)

阻止包含这些签名的内容

..

./

/

:

%

&

选项卡

参数

 

基准 Outlook Web Access HTTP 策略

对于 Outlook Web Access 发布,创建带有下表所示参数的 HTTP 策略。

注意: 可以允许 &.exe 通过以满足特定 Outlook Web Access 的需求。例如,必须允许 .exe 以启用 S/MIME 控件的下载。因为 HTTP 策略应用到每个规则,因此建议分别创建允许访问规则以满足特定的 Outlook Web Access 需求,并将其排在基于下表的阻止访问的规则之前。如果允许 .exe,将导致仅对 S/MIME 控件的下载允许可执行文件。

选项卡

参数

常规

头的最大长度为 32768。

已选中允许所有负载长度。

URL 的最大长度为 260。

查询的最大长度为 4096。

已选中验证规范化。

未选中阻止高位字符。

方法

仅允许指定的方法:

GET

POST

PROPFIND

PROPPATCH

BPROPPATCH

MKCOL

DELETE

BDELETE

BCOPY

MOVE

SUBSCRIBE

BMOVE

POLL

SEARCH

 

扩展名

阻止指定的扩展名(允许所有其他扩展名):

.exe

.bat

.cmd

.com

.htw

.ida

.idq

.htr

.idc

.shtm

.shtml

.stm

.printer

.ini

.log

.pol

.dat

未更改默认设置。

签名

(请求 URL)

阻止包含这些签名的内容

./

/

%

&

 

保护 Web 发布中的 HTTP 上 Outlook RPC 的安全

如果希望在用于 HTTP 上 RPC 的 Web 发布规则中,使用 HTTP 筛选保护 HTTP 上 Outlook RPC 发布的安全,请使用该 HTTP 策略:

仅允许这些方法:RPC_IN_DATARPC_OUT_DATA

负载的最大长度为 2000000000。

URL 的最大长度为 16384。

查询的最大长度为 4096。

HTTP 策略和 SSL 连接

如果对所有目标允许 HTTPS 流量,则可回避 HTTP 策略。有些应用程序在内部客户端和 Internet 服务器之间建立了安全套接字层 (SSL) 隧道,然后允许客户端应用程序通过该隧道与服务器通信,这样就覆盖了 HTTP 策略。若要防止这种情况,可以创建访问规则允许 HTTPS 只访问特定的、受信任的站点,也可以创建拒绝访问规则,拒绝访问已知提供了隧道服务的站点。这些访问规则可以从客户端网络(通常是内部网络)到特定的 URL 集(被许可或拒绝的 URL 集,取决于采用的方法)。有关访问规则和 URL 集的更多信息,请参见 ISA Server 产品文档。

应该可以使用站点的签名来试图阻止对 HTTP 隧道站点的访问。然而,隧道站点可能经常将这些签名更改以击垮 HTTP 筛选。因此,使用访问规则限制 HTTPS 访问是更加可靠的阻止 HTTPS 隧道的方法,而且需要较少的维护。

附录 A:用于 Web 和 Outlook Web Access 发布规则的导入典型 HTTP 策略

该小节提供了用于“Web 和 Outlook Web Access 发布规则”中所描述 HTTP 策略的 XML 文档。可以使用下列步骤将这些策略导入 ISA Server。

1.

将 XML 文档复制到“记事本”,然后用描述性名称将其保存为 .xml 文件,如用于 Web 发布的 HTTP 策略.xml

2.

在 ISA Server 光盘上浏览文件夹 /sdk/samples/admin。确定脚本 HttpFilterConfig.vbs 的位置。

3.

从命令提示,使用以下语法运行脚本 HttpFilterConfig.vbs:

注意:为提高可读性,本行分为多行显示。然而,当在某个系统上进行试验时,您必须将它作为不换行的一行输入计算机。

/ScriptDirectory/HTTPFilterConfig.vbs 导入规则名称 /somedirectory/HTTPPollicyXmlFileName

ScriptDirectory 是脚本所在的位置,CD 上的 /sdk/samples/admin 文件夹或者本地硬盘驱动器上的位置,如果选择复制那里的脚本的话。RuleName 是希望向其导入 HTTP 策略配置的 Web 发布或 Outlook Web Access 发布规则的名称,而 somedirectory 是存储 HTTP 策略 .xml 文件的位置。HTTPPolicyXmlFileName 是 .xml 文件的名称,如用于 Web 发布的 HTTP 策略.xml。例如,可以在命令提示处键入以下内容:

注意:为提高可读性,本行分为多行显示。然而,当在某个系统上进行试验时,您必须将它作为不换行的一行输入计算机。

F:/sdk/samples/admin/HTTPFilterConfig.vbs import My Web Publishing Rule c:/ISAServerXml/HTTPPolicyXmlFileName

脚本会自动应用更改。

注意: HttpFilterConfig.vbs 脚本不会导入或导出在全局范围应用到所有规则的最大头长度参数。应该通过“ISA Server 管理”配置该设置。
可以用 HttpFilterConfig.vbs 脚本导出现有的 HTTP 策略配置。语法如导入示例所示,但使用命令 export 而不是 import

用于基准 Web 发布 HTTP 策略的 XML 文档

以下是用于 Baseline Web Publishing HTTP 策略中所描述的 HTTP 策略的 XML 文档。

注意:为提高可读性,本行分为多行显示。然而,当在某个系统上进行试验时,您必须将它作为不换行的一行输入计算机。

<Configuration BlockExecutables="false" ViaHeaderAction="0" NewViaHeaderValue=""ServerHeaderAction="0" NewServerHeaderValue="" MaxRequestBodyLen="-1" UrlValidation NormalizeBeforeScan="true" VerifyNormalization="true" AllowHighBitCharacters="true" BlockDotInPath="false" MaxLength="260" MaxQueryLength="4096"> <Extensions AllowCondition="2"> <Extension Value=".exe" Description=""/> <Extension Value=".bat" Description=""/> <Extension Value=".cmd" Description=""/> <Extension Value=".com" Description=""/> <Extension Value=".htw" Description=""/> <Extension Value=".ida" Description=""/> <Extension Value=".idq" Description=""/> <Extension Value=".htr" Description=""/> <Extension Value=".idc" Description=""/> <Extension Value=".shtm" Description=""/> <Extension Value=".shtml" Description=""/> <Extension Value=".stm" Description=""/> <Extension Value=".printer" Description=""/> <Extension Value=".ini" Description=""/> <Extension Value=".log" Description=""/> <Extension Value=".pol" Description=""/> <Extension Value=".dat" Description=""/> </Extensions> </UrlValidation> <Verbs AllowCondition="1"> <Verb Value="GET" Description=""/> <Verb Value="HEAD" Description=""/> <Verb Value="POST" Description=""/> </Verbs> <RequestHeaders/> <ResponseHeaders/> <DeniedSignatures> <Signature Name=".."Description="" SearchInType="0" SearchInHeader="" From="1" To="100" Pattern="[..]" FormatIsText="true" Enabled="true"/> <Signature Name="./" Description="" SearchInType="0" SearchInHeader="" From="1" To="100" Pattern="[./]" FormatIsText="true" Enabled="true"/> <Signature Name="/" Description="" SearchInType="0" SearchInHeader="" From="1" To="100" Pattern="[/]" FormatIsText="true" Enabled="true"/> <Signature Name=":"Description="" SearchInType="0" SearchInHeader="" From="1" To="100" Pattern="[:]" FormatIsText="true" Enabled="true"/> <Signature Name="%" Description="" SearchInType="0" SearchInHeader="" From="1" To="100" Pattern="[%]" FormatIsText="true" Enabled="true"/> <Signature Name="&amp;" Description="" SearchInType="0" SearchInHeader="" From="1" To="100" Pattern="[&amp;]" FormatIsText="true" Enabled="true"/> </DeniedSignatures> </Configuration>

用于 Baseline Outlook Web Access HTTP 策略的 XML 文档

以下是用于基准 Outlook Web Access HTTP 策略中所描述的 HTTP 策略的 XML 文档。

注意:为提高可读性,本行分为多行显示。然而,当在某个系统上进行试验时,您必须将它作为不换行的一行输入计算机。

<Configuration BlockExecutables="false" ViaHeaderAction="0" NewViaHeaderValue="" ServerHeaderAction="0" NewServerHeaderValue="" MaxRequestBodyLen="-1" UrlValidation NormalizeBeforeScan="true" VerifyNormalization="true" AllowHighBitCharacters="true" BlockDotInPath="false" MaxLength="260" MaxQueryLength="4096"> <Extensions AllowCondition="2"> <Extension Value=".exe" Description=""/> <Extension Value=".bat" Description=""/> <Extension Value=".cmd" Description=""/> <Extension Value=".com" Description=""/> <Extension Value=".htw" Description=""/> <Extension Value=".ida" Description=""/> <Extension Value=".idq" Description=""/> <Extension Value=".htr" Description=""/> <Extension Value=".idc" Description=""/> <Extension Value=".shtm" Description=""/> <Extension Value=".shtml" Description=""/> <Extension Value=".stm" Description=""/> <Extension Value=".printer" Description=""/> <Extension Value=".ini" Description=""/> <Extension Value=".log" Description=""/> <Extension Value=".pol" Description=""/> <Extension Value=".dat" Description=""/> </Extensions> </UrlValidation> <Verbs AllowCondition="1"> <Verb Value="GET" Description=""/> <Verb Value="POST" Description=""/> <Verb Value="PROPFIND" Description=""/> <Verb Value="PROPPATCH" Description=""/> <Verb Value="BPROPPATCH" Description=""/> <Verb Value="MKCOL" Description=""/> <Verb Value="DELETE" Description=""/> <Verb Value="BDELETE" Description=""/> <Verb Value="BCOPY" Description=""/> <Verb Value="MOVE" Description=""/> <Verb Value="SUBSCRIBE" Description=""/> <Verb Value="BMOVE" Description=""/> <Verb Value="POLL" Description=""/> <Verb Value="SEARCH" Description=""/> </Verbs> <RequestHeaders/> <ResponseHeaders/> <DeniedSignatures> <Signature Name="./" Description="" SearchInType="0" SearchInHeader="" From="1" To="100" Pattern="[./]" FormatIsText="true" Enabled="true"/> <Signature Name="/" Description="" SearchInType="0" SearchInHeader="" From="1" To="100" Pattern="[/]" FormatIsText="true" Enabled="true"/> <Signature Name="%" Description="" SearchInType="0" SearchInHeader="" From="1" To="100" Pattern="[%]" FormatIsText="true" Enabled="true"/> <Signature Name="&amp;" Description="" SearchInType="0" SearchInHeader="" From="1" To="100" Pattern="[&amp;]" FormatIsText="true" Enabled="true"/> </DeniedSignatures> </Configuration>

你可能感兴趣的:(ISA Server 2004 中的HTTP 筛选)