当前位置: 移动技术网 > 网络运营>服务器>Windows > URLScan工具配置方法第1/2页

URLScan工具配置方法第1/2页

2019年04月21日  | 移动技术网网络运营  | 我要评论
如何配置 urlscan 工具
察看本文应用于的产品
文章编号 : 326444 
最后修改 : 2007年3月14日 
修订 : 5.3 
我们强烈建议所有运行 microsoft windows server 2003 的用户将 microsoft internet 信息服务 (iis) 升级到 6.0 版,因为 iis 6.0 显著增强了 web 基础结构的安全性。有关与 iis 安全性相关的主题的更多信息,请访问下面的 microsoft 网站:
http://www.microsoft.com/technet/security/prodtech/iis.mspx (http://www.microsoft.com/technet/security/prodtech/iis.mspx)
本页
概要
本文分步说明如何配置 urlscan 工具以防止 web 服务器受到攻击和利用。

回到顶端

安装 urlscan
要安装 urlscan,请访问下面的 microsoft developer network (msdn) 网站:
http://msdn2.microsoft.com/en-us/library/aa302368.aspx (http://msdn2.microsoft.com/en-us/library/aa302368.aspx)
有关其他信息,请单击下面的文章编号,以查看 microsoft 知识库中相应的文章: 
307608 (http://support.microsoft.com/kb/307608/) 对 iis 使用 urlscan 
回到顶端

修改 urlscan.ini 文件
urlscan 的所有配置都是通过 urlscan.ini 文件执行的,此文件位于 %windir%\system32\inetsrv\urlscan 文件夹中。要配置 urlscan,请在文本编辑器(如记事本)中打开此文件,进行相应的更改,然后保存此文件。

注意:要使更改生效,必须重新启动 internet 信息服务 (iis)。一种快速的实现方法是在命令提示符处运行 iisreset。 

urlscan.ini 文件包含以下几节: ? [options]:此节描述常规 urlscan 选项。 
? [allowverbs] 和 [denyverbs]:此节定义 urlscan 允许的谓词(又称作 http 方法)。 
? [denyheaders]:此节列出 http 请求中不允许的 http 标头。如果 http 请求中包含此节中列出的 http 标头之一,urlscan 将拒绝该请求。 
? [allowextensions] 和 [denyextensions]:此节定义 urlscan 允许的文件扩展名。 
? [denyurlsequences]:此节列出 http 请求中不允许的字符串。urlscan 拒绝那些包含此节中出现的字符串的 http 请求。 
本文将更详细地介绍每一节。


[options] 节
在 [options] 节中,可以配置许多 urlscan 选项。此节中的每一行都具有以下格式: 
optionname=optionvalue
可用选项及其默认值如下所示: ? useallowverbs=1

默认情况下,此选项设置为 1。如果将此选项设置为 1,则 urlscan 仅允许那些使用 [allowverbs] 节中列出的谓词的 http 请求。urlscan 禁止任何不使用这些谓词的请求。如果将此选项设置为 0,则 urlscan 忽略 [allowverbs] 节,相反仅禁止那些使用 [denyverbs] 节中列出的谓词的请求。 
? useallowextensions=0

默认情况下,此选项设置为 0。如果将此选项设置为 0,则 urlscan 禁止对 [denyextensions] 节中列出的文件扩展名的请求,但允许对任何其他文件扩展名的请求。如果将此选项设置为 1,则 urlscan 仅允许对带 [allowextensions] 节中列出的扩展名的文件的请求,而禁止对任何其他文件的请求。 
? normalizeurlbeforescan=1

iis 收到用 url 编码的请求。这表示某些字符可能被替换为百分号 (%) 后跟特定的数字。例如,%20 对应于一个空格,因此,对 http://myserver/my%20dir/my%20file.htm 的请求与对 http://myserver/my dir/my file.htm 的请求是相同的。标准化就是对 url 编码请求进行解码的过程。默认情况下,此选项设置为 1。如果将 normalizeurlbeforescan 选项设置为 1,则 urlscan 分析已解码的请求。如果将此选项设置为 0,则 urlscan 分析未解码的请求。将此选项设置为 0 会影响 urlscan 禁止某种攻击的能力。 
? verifynormalization=1

由于百分号 (%) 本身可以是 url 编码的,所以攻击者可以向服务器提交一个精心制作的、基本上是双重编码的请求。如果发生这种情况,iis 可能会接受本应视作无效而拒绝的请求。默认情况下,此选项设置为 1。如果将 verifynormalization 选项设置为 1,则 urlscan 将对 url 执行两次标准化。如果第一次标准化后的 url 与第二次标准化后的 url 不同,urlscan 将拒绝该请求。这样就可以防止那些依赖双重编码请求的攻击。 
? allowhighbitcharacters=0

默认情况下,此选项设置为 0。如果将此选项设置为 0,则 urlscan 拒绝任何包含非 ascii 字符的请求。这样可以防止某些类型的攻击,但同时可能也会禁止对某些合法文件的请求,如带有非英文名的文件。 
? allowdotinpath=0

默认情况下,此选项设置为 0。如果将此选项设置为 0,则 urlscan 拒绝所有包含多个句点 (.) 的请求。这样可以防止通过将安全的文件扩展名放入 url 的路径信息或查询字符串部分,以达到伪装请求中的危险文件扩展名的企图。例如,如果将此选项设置为 1,则 urlscan 可能允许对 http://servername/badfile.exe/safefile.htm 的请求,因为它认为这是对 html 页的请求,但实际上这是一个对可执行 (.exe) 文件的请求,而该文件的名称在 path_info 区域中显示为 html 页的名称。如果将此选项设置为 0,urlscan 可能还会拒绝对包含句点的目录的请求。 
? removeserverheader=0

默认情况下,web 服务器返回一个标头,其中指出了 web 服务器在所有响应中运行的 web 服务器软件。这会增加服务器遭受攻击的可能性,因为攻击者可以确定服务器正在运行 iis,于是便攻击已知的 iis 问题,而不是试图使用为其他 web 服务器设计的攻击手段来攻击 iis 服务器。默认情况下,此选项设置为 0。如果将 removeserverheader 选项设置为 1,可以防止您的服务器发送将其标识为 iis 服务器的标头。如果将 removeserverheader 设置为 0,则仍发送此标头。 
? alternateservername=(默认情况下不指定)

如果将 removeserverheader 设置为 0,可以在 alternateservername 选项中指定一个字符串以指定将在服务器标头中传回的内容。如果将 removeserverheader 设置为 1,则此选项将被忽略。 
? enablelogging=1

默认情况下,urlscan 在 %windir%\system32\inetsrv\urlscan 中保留所有被禁止的请求的完整日志。如果不希望保留此日志,可将 enablelogging 设置为 0。 
? perprocesslogging=0

默认情况下,此选项设置为 0。如果将此选项设置为 1,urlscan 将为承载 urlscan.dll 的每个进程创建一个单独的日志。如果将此选项设置为 0,所有进程将记录到同一个文件中。 
? perdaylogging=1

默认情况下,此选项设置为 1。如果将该值设置为 1,则 urlscan 每天创建一个新的日志文件。每个日志文件的名称都是 urlscan.mmddyy.log,其中 mmddyy 是日志文件的日期。如果将该值设置为 0,则所有日志记录都保存在同一个文件中,与日期无关。 
? allowlatescanning=0
1

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网