首 页   · 站长博客 · 用户注册 · 会员登陆  · 会员排行  ·最新主题  ·最近回复  精华区  版权声明  ·论坛管理
  当前登录身份:游客,请先登录。  笔名: 口令: 验证码:   
楼 主  index »  web服务器安全与维护 » URLScan与 IISlockdown  


  作者:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

  nqp@nqp.me
  4304410
  www.nqp.me

 

 发表:2009-02-01 07:47:33 阅读 3667 次 回复 0 次 得分0  |   字号 字色
URLScan与 IISlockdown
http://www.microsoft.com/technet/security/tools/urlscan.mspx

URLScan 可让 Web 服务器只响应合法的要求,藉此保护 Web 服务器。大多数对于 Web 服务器的攻击都牵涉到某类不寻常的要求 - 例如包含罕见字符的太长要求等等。
透过筛选出这类要求,URLScan 即可确保它们永远不会送给服务器,因此也不会成功。此工具实作了 IIS Lockdown Tool,您必须执行此工具,方能确保服务器已设定可安全操作的组态;URLScan 执行之后可确保它只对合法的要求有响应。

UrlScan Security Tool

UrlScan version 2.5 is a security tool that restricts the types of HTTP requests that Internet Information Services (IIS) will process. By blocking specific HTTP requests, the UrlScan security tool helps prevent potentially harmful requests from reaching the server. UrlScan 2.5 will now install as a clean installation on servers running IIS 4.0 and later.

目标
使用本模块可以实现:

• 获取并安装 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 之前,用来抵御拒绝服务攻击。可以通过对 MaxAllowedContentLength、MaxUrl 和 MaxQueryString 属性设置限制来达到这一目的。

要限制请求的大小,请将下列配置添加到 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,可能会遇到下列问题:

&#8226; URLScan 阻止 DEBUG 谓词,这会导致应用程序调试无法进行。如果需要支持调试,请将 DEBUG 谓词添加到 URLScan.ini 中的 [AllowVerbs] 段落。 
 
&#8226; 您需要重新启动 IIS,以使更改生效。URLScan 是一个 ISAPI 筛选器,在 IIS 进程 (Inetinfo.exe) 内运行,在 IIS 启动时会从 URLScan.ini 加载 URLScan 的选项。可以从命令提示符运行 IISReset 命令来重新启动 IIS。
 
&#8226; 如果请求包含可能有害的字符,那么URLScan 会阻止这样的字符,例如,曾经用来利用漏洞实施攻击的字符,比如,可遍历目录的“.”。建议不要在项目路径中包含“.”字符。如果必须使用该字符,需要在 URLScan.ini 中设置 AllowDotInPath=1。

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

其他由于将被 URLScan 拒绝而应当避免在项目名称中使用的字符包括逗号 (,) 和磅字符(#)。
 
 
  页数1/1首页 « 1 » 末页
  发表回复:您还没有登陆,无法发表回复。请先[登陆]

一起PHP技术联盟 主办:一起PHP 联系方式:站长QQ:4304410 QQ群:8423742 20159565 站长博客 E-mail: nqp@nqp.me 执行时间:0.014sec
SimsmaBBS 2008 (v6.0) Developed by 17php.com,Copyright(C)2003-2010 All rights reserved. 副本授权:一起PHP官方专用版