可打印版本       提交     
请单击以进行评分并提供反馈
TechNet
TechNet 库
安全和更新
安全
安全指南
 如何:使用 URLScan

  开启低带宽视图
如何:使用 URLScan
更新日期: 2004年04月12日

本页内容

目标
适用范围
如何使用本模块
摘要
安装 URLScan
日志文件
删除 URLScan
配置 URLScan
使用 URLScan 限制请求大小
在安装了 URLScan 的情况下调试 VS .NET
屏蔽内容头信息(标题)
陷阱
参考

目标

使用本模块可以实现:

  • 获取并安装 URLScan。

  • 使用 URLScan 可以增强您的 Web 服务器抵御常见攻击(如拒绝服务和目录遍历)的能力。

  • 在使用 URLScan 时启用 Visual Studio .NET 调试


适用范围

本模块适用于下列产品和技术:

  • Microsoft® Windows® 2000 Server

  • Internet 信息服务


如何使用本模块

为了充分理解本模块内容,需要:

  • 务必具有管理 Internet 信息服务的经验。

  • 务必具有使用 Visual Studio .NET 进行编程的经验。

  • 请阅读模块如何:使用 IISLockdown。该模块描述了如何安装 IISLockdown,这也是一种安装 URLScan 的方法。


摘要

URLScan 是一个 ISAPI 筛选器,它使 Web 站点管理员能够限制服务器将要处理的 HTTP 请求的类型。通过阻止特定的 HTTP 请求,URLScan 筛选器可以阻止可能有害的请求到达服务器并造成损害。本模块描述了如何获取、安装和配置 URLScan。


安装 URLScan

编写此文档时,可以在运行 IISLockdown (IISLockd.exe) 时安装 URLScan 2.0,也可以独立安装它。

  • 与 IISLockdown 一起安装 URLScan 2.0:可以在运行 IIS Lockdown 向导 (IISLockd.exe) 时安装 URLScan 2.0。IISLockd.exe 可以作为一个 Internet 下载,从位于以下位置的 Microsoft Web 站点获取:http://download.microsoft.com/download/iis50/Utility/2.1/NT45XP/EN-US/iislockd.exe(英文)。

  • 在不运行 IISLockdown 的情况下安装 URLScan 2.0:要在不运行 IISLockdown 的情况下安装 URLScan,需要手动从 IIS Lockdown 工具中提取它。首先,需要将 IISLockd.exe 保存到一个目录下。然后,要提取 URLScan 安装文件,请从安装 IISLockd.exe 的目录处的命令行运行以下命令:

    iislockd.exe /q /c
    

    这会解包 URLScan.exe,即 URLScan 安装程序。

    有关更多信息,请参考 Microsoft 知识库文章 315522“How To:Extract the URLScan Tool and Lockdown Template Files from the IIS Lockdown Tool”,该文章位于:http://support.microsoft.com/default.aspx?scid=315522 (英文)。

  • 安装 URLScan 2.5:URLScan 2.5 是目前最新版本的 URLScan。如果要安装 URLScan 2.5,需要先安装 URLScan 1.0 或 URLScan 2.0。

    有关更多信息,请参阅 Microsoft 知识库文章 307608“INFO:Using URLScan on IIS”,该文章位于:http://support.microsoft.com/default.aspx?scid=307608(英文)。

  • 默认安装目录:URLScan 文件包括 Urlscan.dll 和 URLScan.ini,URLScan 日志存储在 %windir%\system32\inetsrv\urlscan。URLScan.dll 是筛选器。可以使用 URLScan.ini 配置它的工作方式。


日志文件

URLScan 会创建日志文件,用来记录被拒绝的请求。日志文件位于以下文件夹中:

%windir%\system32\inetsrv\urlscan

日志文件的命名规范如下:URLScan<date>.log。


删除 URLScan

可以使用 Internet 服务提供商中的“Web 服务器属性”对话框中的 ISAPI 筛选器页手动删除 URLScan。


配置 URLScan

要配置 URLScan 以确定拒绝哪些请求,可以使用 URLScan.ini。该文件位于以下文件夹中:

%windir%\system32\inetsrv\urlscan

有关如何修改 URLScan.ini 中的各个段落的更多信息,请参考 Microsoft 知识库文章 815155“How To:Configure URLScan to Protect ASP.NET Web Applications”,该文章位于:http://support.microsoft.com/default.aspx?scid=815155(英文)。


使用 URLScan 限制请求大小

可以使用 URLScan 作为另一道防线,甚至在请求到达 ASP.NET 之前,用来抵御拒绝服务攻击。可以通过对 MaxAllowedContentLengthMaxUrlMaxQueryString 属性设置限制来达到这一目的。

要限制请求的大小,请将下列配置添加到 URLScan.ini 中:

[RequestLimits]
; 此段落中的条目对到达服务器
; 的允许的请求部分的长度进行限制。
;MaxAllowedContentLength=2000000000
;MaxUrl=16384
;MaxQueryString=4096

在安装了 URLScan 的情况下调试 VS .NET

默认情况下,URLScan 不允许 DEBUG 谓词。因此,在安装了 URLScan 的服务器上使用 VS.NET 调试 Web 应用程序时,可能会看到以下错误:

 Microsoft 开发环境:
尝试运行工程时出错:无法启动 Web 服务器上的调试。 
无法启动 ASP.NET 或 ATL 服务器调试。

请验证当前在服务器上已正确安装了 ASP.NET 或 ATL 服务器。您是否要禁用试图为此工程调试 ASP.NET 页的功能?是   否   
帮助   

URLScan 日志文件还将包含与下面类似的条目:

[01-18-2003 - 22:25:26] Client at 127.0.0.1:Sent verb 'DEBUG', which is not 
specifically allowed.Request will be rejected.

要支持调试,请将 DEBUG 添加到 URLScan.ini 中的 AllowVerbs 段落中,如下所示:

[AllowVerbs]
GET
HEAD
POST
DEBUG

注意 您需要重新启动 IIS,更改才会生效。


屏蔽内容头信息(标题)

要防止可以暴露您的 Web 服务器的类型和版本的头信息,请找到 URLScan.ini 中的 RemoveServerHeader,并将其值设置为 1,如下所示。

RemoveServerHeader=1

有关更多信息,请参阅 Microsoft 知识库文章 317741“How To:Mask IIS Version Information from Network Trace and Telnet”,该文章位于: http://support.microsoft.com/default.aspx?scid=317741(英文)。


陷阱

如果使用 URLScan,可能会遇到下列问题:

  • URLScan 阻止 DEBUG 谓词,这会导致应用程序调试无法进行。如果需要支持调试,请将 DEBUG 谓词添加到 URLScan.ini 中的 [AllowVerbs] 段落。

  • 您需要重新启动 IIS,以使更改生效。URLScan 是一个 ISAPI 筛选器,在 IIS 进程 (Inetinfo.exe) 内运行,在 IIS 启动时会从 URLScan.ini 加载 URLScan 的选项。可以从命令提示符运行 IISReset 命令来重新启动 IIS。

  • 如果请求包含可能有害的字符,那么URLScan 会阻止这样的字符,例如,曾经用来利用漏洞实施攻击的字符,比如,可遍历目录的“.”。建议不要在项目路径中包含“.”字符。如果必须使用该字符,需要在 URLScan.ini 中设置 AllowDotInPath=1。

    如果您的 Web 应用程序目录的路径中包括点,例如,目录中包含名称“Asp.Net”,则 URLScan 将拒绝该请求,并向该客户端返回一个“404 not found”消息。

    其他由于将被 URLScan 拒绝而应当避免在项目名称中使用的字符包括逗号 (,) 和磅字符(#)。


参考

有关其他信息,请参考下列资源:


© 2009 Microsoft Corporation 版权所有。 保留所有权利  |  商标  |  隐私权声明
Page view tracker