使用 URLScan

作者:vkvi整理 来源:ITPOW(原创) 日期:2009-6-18

URLScan 作为 Windows 2000 中 IIS 5 和 Windows 2003 中 IIS 6 的增强工具,目前仍有很宽的使用面。本文根据微软的 TechNet 对 URLScan 的使用作一个直观的介绍。

下载与安装

下载 IISLockdown;IISLockdown 可以将 IIS 设置为更安全的状态,具体可参见 TechNet 的 如何:使用 IISLockdown.exe

然后直接安装 IISLockdown,就一同安装了 URLScan;如果不想安装 IISLockdown 而直接安装 URLScan,则需要从 IISLockdown 中提取 URLScan,如下:

iislockd.exe /q /c

删除 URLScan

在 IIS 中,在 ISAPI 筛选器中删除 URLScan。

配置 URLScan

URLScan 的 DLL、日志、配置文件都位于 %windir%\system32\inetsrv\urlscan 文件夹中,所以要更改配置,只需要打开该文件夹下的 URLScan.ini 进行配置修改即可。

其中的配置内容都望名生义,比如可以用它来限制可访问的扩展名。

一些问题

  • 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 拒绝而应当避免在项目名称中使用的字符包括逗号 (,) 和磅字符(#)。
相关文章