如何使用 URLScan

如何:使用 URLScan

更新日期: 2004年04月12日
本页内容
目标目标
适用范围适用范围
如何使用本模块如何使用本模块
摘要摘要
安装 URLScan安装 URLScan
日志文件日志文件
删除 URLScan删除 URLScan
配置 URLScan配置 URLScan
使用 URLScan 限制请求大小使用 URLScan 限制请求大小
在安装了 URLScan 的情况下调试 VS .NET在安装了 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 拒绝而应当避免在项目名称中使用的字符包括逗号 (,) 和磅字符(#)。

参考

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

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

有关使用 URLScan 的更多信息,请参阅 http://www.nardware.co.uk/Security/Docs/Nmsurlscan.html(英文)

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值