请求筛选 <requestFiltering>

概述

请求筛选是 Internet Information Services (IIS) 7.0 中引入的内置安全功能,很大程度上取代了之前 IIS 6.0 通过 UrlScan 加载项而实现的大部分功能。 请求筛选功能的所有设置都位于 <requestFiltering> 元素内,其中包含以下每个功能区域的多个子元素:

  • <denyUrlSequences> - 此元素可以包含 IIS 7 将拒绝的 URL 序列模式的集合。例如:您可以拒绝攻击者可能尝试利用的部分 URL 序列。
  • <fileExtensions> - 此元素可以包含 IIS 7 拒绝或允许的文件扩展名集合。例如:您可以阻止对 Web.config 文件的所有请求。
  • <hiddenSegments> - 此元素可以包含无法浏览的 URL 的集合。例如:您可以拒绝对 ASP.NET App_Code 文件夹的请求。
  • <requestLimits> - 此元素包含 URL、内容和查询字符串长度的设置。 此元素还可以包含 HTTP 标头的用户定义最大长度的集合。
  • <verbs> - 此元素可以包含 IIS 7 将拒绝或允许的 HTTP 谓词的集合;例如:可以阻止所有 HTTP TRACE 请求。

IIS 7.5 中的新增功能

IIS 7.5 针对请求筛选增加了若干额外的功能区域:

  • <alwaysAllowedUrls> - 此元素可以包含请求筛选始终允许的 URL 集合。
  • <alwaysAllowedQueryStrings> -此元素可以包含请求筛选始终允许的查询字符串集合。
  • <denyQueryStringSequences> - 此元素可以包含请求筛选将始终拒绝的查询字符串序列的集合。 使用此元素,管理员可以阻止其检测到的潜在危险的查询字符串序列。
  • <filteringRules> - 此元素可以包含自定义请求筛选规则的集合。 使用此集合,管理员可以针对特定条件创建自定义请求筛选规则。

IIS 10.0 中的新增功能

IIS 10.0 增加了 removeServerHeader 属性,可用于禁止向远程客户端发送 HTTP 服务器标头。

HTTP 404 错误子状态代码

当请求筛选阻止 HTTP 请求时,IIS 7 将向客户端返回 HTTP 404 错误,并记录 HTTP 唯一子状态,以确定拒绝请求的原因。 例如:

HTTP 子状态 说明
404.5 URL 序列被拒绝
404.6 谓词被拒绝
404.7 文件扩展名被拒绝
404.8 隐藏命名空间
404.11 URL 双转义
404.12 URL 具有高位字符
404.14 URL 太长
404.15 查询字符串太长
404.18 查询字符串序列被拒绝
404.19 筛选规则拒绝
413.1 内容长度过大
431 请求标头过长

这些子状态允许 Web 管理员分析其 IIS 日志并识别潜在威胁。

兼容性

版本 说明
IIS 10.0 在 IIS 10.0 中增加了禁止服务器标头的功能。
IIS 8.5 <requestFiltering> 元素在 IIS 8.5 中未进行修改。
IIS 8.0 <requestFiltering> 元素在 IIS 8.0 中未进行修改。
IIS 7.5 在 IIS 7.5 中,请求筛选附带 unescapeQueryString 属性以及 alwaysAllowedUrlsalwaysAllowedQueryStrings、和 denyQueryStringSequencesfilteringRules 元素。 这些元素作为 IIS 7.0 的更新引入,可通过 Microsoft 知识库文章 957508 (https://support.microsoft.com/kb/957508) 获取。
IIS 7.0 <requestFiltering> 元素是在 IIS 7.0 中引入的。
IIS 6.0 <requestFiltering> 元素取代了 IIS 6.0 的 UrlScan 功能。

安装

IIS 7 及更高版本的默认安装包括请求筛选角色服务或功能。 如果卸载请求筛选角色服务或功能,可以使用以下步骤重新安装它。

Windows Server 2012 或 Windows Server 2012 R2

  1. 在任务栏上,单击 “服务器管理器”。
  2. 在“服务器管理器”中,单击“管理”菜单,然后单击“添加角色和功能”。
  3. 在“添加角色和功能”向导中,单击“下一步”。 选择安装类型,然后单击“下一步”。 选择目标服务器,然后单击“下一步”。
  4. 在“服务器角色”页上,依次展开“Web 服务器 (IIS)”、“Web 服务器”和“安全性”,然后选择“请求筛选”。 单击 “下一步”
    Image of Web Server and Security pane expanded with Request filtering selected.
  5. 在“选择功能”页上,单击“下一步”
  6. “确认安装选择”页上,单击“安装”
  7. 在“结果” 页面中单击“关闭”

Windows 8 或 Windows 8.1

  1. 在“开始”屏幕上,将指针一直移动到左下角,右键单击“开始”按钮,然后单击“控制面板”
  2. 在“控制面板”中,单击“程序与功能”,然后单击“打开或关闭 Windows 功能”。
  3. 依次展开“Internet Information Services”、“万维网服务”和“安全性”,然后选择“请求筛选”。
    Image of World Wide Web Services and Security pane expanded with Request Filtering highlighted.
  4. 单击“确定”。
  5. 单击“关闭” 。

Windows Server 2008 或 Windows Server 2008 R2

  1. 在任务栏上,单击“开始”,指向“管理工具”,然后单击“服务器管理器”。
  2. 在“服务器管理器”层次结构窗格中,展开“角色”,然后单击“Web 服务器(IIS)”。
  3. 在“Web 服务器(IIS)”窗格中,滚动到“角色服务”部分,然后单击“添加角色服务”。
  4. 在“添加角色服务向导”的“选择角色服务”页上,选择“请求筛选”,然后单击“下一步”。
    Image of Select Role Services page with Security pane expanded and Request Filtering selected.
  5. “确认安装选择”页中,单击“安装”
  6. 在“结果” 页面中单击“关闭”

Windows Vista 或 Windows 7

  1. 在任务栏上,单击“开始”,然后单击“控制面板”。
  2. 在“控制面板”中,单击“程序与功能”,然后单击“打开或关闭 Windows 功能”。
  3. 扩展“Internet Information Services”,展开“万维网服务”,然后展开“安全性”。
  4. 选择“请求筛选”,然后单击“确定”。
    Screenshot of World Wide Web Services and Security node expanded and Request Filtering highlighted.

操作方式

IIS 7.0 用户请注意:本节中的某些步骤可能需要安装 Microsoft Administration Pack for IIS 7.0,其中包括请求筛选用户界面。 若要安装 Microsoft Administration Pack for IIS 7.0,请参阅以下 URL:


如何编辑请求筛选功能设置和请求限制

  1. 打开 Internet Information Services (IIS) 管理器:

    • 如果使用的是 Windows Server 2012 或 Windows Server 2012 R2:

      • 在任务栏上,单击“服务器管理器”,单击“工具”,然后单击“Internet Information Services (IIS)管理器”
    • 如果使用的是 Windows 8 或 Windows 8.1:

      • 按住 Windows 键,按字母 X,然后单击“控制面板”。
      • 单击“管理工具”,然后双击“Internet Information Services (IIS) 管理器”。
    • 如果使用的是 Windows Server 2008 或 Windows Server 2008 R2:

      • 在任务栏上,单击“开始”,指向“管理工具”,然后单击“Internet Information Services (IIS)管理器”
    • 如果使用的是 Windows Vista 或 Windows 7:

      • 在任务栏上,单击“开始”,然后单击“控制面板”。
      • 双击“管理工具”,然后双击“Internet Information Services (IIS) 管理器”。
  2. 在“连接”窗格中,转到要为其修改请求筛选设置的连接、站点、应用程序或目录。

  3. 在“主页”窗格中,双击“请求过滤”。
    Image of Default Web Site Home pane showing Request Filtering highlighted.

  4. 在“操作”窗格中,单击“编辑功能设置...”。
    Image of Request Filtering page displaying Edit Feature Settings in the Actions pane.

  5. 指定选项,然后单击“确定”。
    Screenshot of Edit Request Filtering Settings dialog box showing Allow unlisted file name extensions selected. 例如,可以进行以下更改:

    • 指定 2048,可将最大 URL 长度更改为 2KB。
    • 指定 1024 可将最大查询字符串长度更改为 1KB。
    • 清除“允许未列出的谓词”复选框可拒绝对未列出的 HTTP 谓词 的访问。

如何拒绝 URL 序列

  1. 打开 Internet Information Services (IIS) 管理器:

    • 如果使用的是 Windows Server 2012 或 Windows Server 2012 R2:

      • 在任务栏上,单击“服务器管理器”,单击“工具”,然后单击“Internet Information Services (IIS)管理器”
    • 如果使用的是 Windows 8 或 Windows 8.1:

      • 按住 Windows 键,按字母 X,然后单击“控制面板”。
      • 单击“管理工具”,然后双击“Internet Information Services (IIS) 管理器”。
    • 如果使用的是 Windows Server 2008 或 Windows Server 2008 R2:

      • 在任务栏上,单击“开始”,指向“管理工具”,然后单击“Internet Information Services (IIS)管理器”
    • 如果使用的是 Windows Vista 或 Windows 7:

      • 在任务栏上,单击“开始”,然后单击“控制面板”。
      • 双击“管理工具”,然后双击“Internet Information Services (IIS) 管理器”。
  2. 在“连接”窗格中,转到要为其修改请求筛选设置的连接、站点、应用程序或目录。

  3. 在“主页”窗格中,双击“请求过滤”。
    Image of Default Web Site Home pane showing Request Filtering application highlighted.

  4. 在“请求筛选”窗格中,单击“拒绝 URL 序列”选项卡,然后在“操作”窗格中单击“添加 URL 序列...”。
    Screenshot of Request Filtering page with Deny U R L Sequences tab in Actions pane.

  5. 在“添加拒绝序列”对话框中,输入要阻止的 URL 序列,然后单击“确定”。
    Image of Add Deny Sequence dialog box.
    例如,若要防止服务器上的目录遍历,将在对话框中输入两个句点 ("..")。


如何拒绝对特定文件扩展名的访问

  1. 打开 Internet Information Services (IIS) 管理器:

    • 如果使用的是 Windows Server 2012 或 Windows Server 2012 R2:

      • 在任务栏上,单击“服务器管理器”,单击“工具”,然后单击“Internet Information Services (IIS)管理器”
    • 如果使用的是 Windows 8 或 Windows 8.1:

      • 按住 Windows 键,按字母 X,然后单击“控制面板”。
      • 单击“管理工具”,然后双击“Internet Information Services (IIS) 管理器”。
    • 如果使用的是 Windows Server 2008 或 Windows Server 2008 R2:

      • 在任务栏上,单击“开始”,指向“管理工具”,然后单击“Internet Information Services (IIS)管理器”
    • 如果使用的是 Windows Vista 或 Windows 7:

      • 在任务栏上,单击“开始”,然后单击“控制面板”。
      • 双击“管理工具”,然后双击“Internet Information Services (IIS) 管理器”。
  2. 在“连接”窗格中,转到要为其修改请求筛选设置的连接、站点、应用程序或目录。

  3. 在“主页”窗格中,双击“请求过滤”。
    Screenshot of Home pane displaying Request Filtering application selected.

  4. 在“请求筛选”窗格中,单击“文件扩展名”选项卡,然后在“操作”窗格中单击“拒绝文件扩展名...”
    Image of Request Filtering application highlighted in Default Web Site Home.

  5. 在“拒绝文件扩展名”对话框中,输入要阻止的文件扩展名,然后单击“确定”。
    Image of Deny File Name Extension dialog box displaying file name extension typed in the respective field.例如,若要防止访问文件扩展名为 .inc 的文件,请在对话框中输入“inc”。


如何添加隐藏段

  1. 打开 Internet Information Services (IIS) 管理器:

    • 如果使用的是 Windows Server 2012 或 Windows Server 2012 R2:

      • 在任务栏上,单击“服务器管理器”,单击“工具”,然后单击“Internet Information Services (IIS)管理器”
    • 如果使用的是 Windows 8 或 Windows 8.1:

      • 按住 Windows 键,按字母 X,然后单击“控制面板”。
      • 单击“管理工具”,然后双击“Internet Information Services (IIS) 管理器”。
    • 如果使用的是 Windows Server 2008 或 Windows Server 2008 R2:

      • 在任务栏上,单击“开始”,指向“管理工具”,然后单击“Internet Information Services (IIS)管理器”
    • 如果使用的是 Windows Vista 或 Windows 7:

      • 在任务栏上,单击“开始”,然后单击“控制面板”。
      • 双击“管理工具”,然后双击“Internet Information Services (IIS) 管理器”。
  2. 在“连接”窗格中,转到要为其修改请求筛选设置的连接、站点、应用程序或目录。

  3. 在“主页”窗格中,双击“请求过滤”。
    Screenshot of Home pane in Internet Information Services I I S Manager with Request Filtering highlighted.

  4. 在“请求筛选”窗格中,单击“隐藏段”选项卡,然后单击“操作”窗格中的“添加隐藏段...”
    Image of request Filtering pane displaying Hidden Segments tab with Add Hidden Segments option in the Actions pane.

  5. 在“添加隐藏段”对话框中,输入要隐藏的相对路径,然后单击“确定”
    Screenshot of Add Hidden Segment dialog box showing the relative path entered in the Hidden Segment field.


如何为 HTTP 标头添加限制

  1. 打开 Internet Information Services (IIS) 管理器:

    • 如果使用的是 Windows Server 2012 或 Windows Server 2012 R2:

      • 在任务栏上,单击“服务器管理器”,单击“工具”,然后单击“Internet Information Services (IIS)管理器”
    • 如果使用的是 Windows 8 或 Windows 8.1:

      • 按住 Windows 键,按字母 X,然后单击“控制面板”。
      • 单击“管理工具”,然后双击“Internet Information Services (IIS) 管理器”。
    • 如果使用的是 Windows Server 2008 或 Windows Server 2008 R2:

      • 在任务栏上,单击“开始”,指向“管理工具”,然后单击“Internet Information Services (IIS)管理器”
    • 如果使用的是 Windows Vista 或 Windows 7:

      • 在任务栏上,单击“开始”,然后单击“控制面板”。
      • 双击“管理工具”,然后双击“Internet Information Services (IIS) 管理器”。
  2. 在“连接”窗格中,转到要为其修改请求筛选设置的连接、站点、应用程序或目录。

  3. 在“主页”窗格中,双击“请求过滤”。
    Image of Default Web Site Home page with Actions pane and Request Filtering highlighted.

  4. 在“请求筛选”窗格中,单击“标头”选项卡,然后单击“操作”窗格中的“添加标头...”。
    Image of Request Filtering pane displaying Headers tab and Add Header in the Actions pane.

  5. 在“添加标头”对话框中,输入 HTTP 标头和标头限制所需的最大大小,然后单击“确定”。
    Screenshot of Add Header dialog box with fields for H T T P Header and Size limit.

    例如,“Content-type”标头包含请求的 MIME 类型。 将值指定为 100 会将内容类型标头的长度限制为 100 个字节。


如何拒绝 HTTP 谓词

  1. 打开 Internet Information Services (IIS) 管理器:

    • 如果使用的是 Windows Server 2012 或 Windows Server 2012 R2:

      • 在任务栏上,单击“服务器管理器”,单击“工具”,然后单击“Internet Information Services (IIS)管理器”
    • 如果使用的是 Windows 8 或 Windows 8.1:

      • 按住 Windows 键,按字母 X,然后单击“控制面板”。
      • 单击“管理工具”,然后双击“Internet Information Services (IIS) 管理器”。
    • 如果使用的是 Windows Server 2008 或 Windows Server 2008 R2:

      • 在任务栏上,单击“开始”,指向“管理工具”,然后单击“Internet Information Services (IIS)管理器”
    • 如果使用的是 Windows Vista 或 Windows 7:

      • 在任务栏上,单击“开始”,然后单击“控制面板”。
      • 双击“管理工具”,然后双击“Internet Information Services (IIS) 管理器”。
  2. 在“连接”窗格中,转到要为其修改请求筛选设置的连接、站点、应用程序或目录。

  3. 在“主页”窗格中,双击“请求过滤”。
    Screenshot of Home pane with Request Filtering application highlighted.

  4. 在“请求筛选”窗格中,单击“HTTP 谓词”选项卡,然后在“操作”窗格中单击“拒绝谓词...”。
    Image of Request Filtering pane showing H T T P verbs tab and Deny verb option in the Actions pane.

  5. 在“拒绝谓词”对话框中,输入要阻止的 HTTP 谓词,然后单击“确定”。
    Image of Deny Verb dialog box with H T T P verb entered in the Verb field.

    例如,要防止向服务器发出 HTTP TRACE 请求,请在对话框中输入“TRACE”。

配置

特性

属性 说明
allowDoubleEscaping 可选布尔属性。

如果设置为 true,则请求筛选将允许包含双转义字符的 URL。 如果设置为 false,则如果 URL 中存在两次转义的字符,请求筛选将拒绝请求。

默认值为 false
allowHighBitCharacters 可选布尔属性。

如果设置为 true,请求筛选将允许在 URL 中包含非 ASCII 字符。 如果设置为 false,则如果 URL 中存在高位字符,请求筛选将拒绝请求。

默认值为 true
removeServerHeader 可选布尔属性。

如果设置为 true,请求筛选将禁止 IIS 服务器标头。 如果设置为 false,IIS 将返回默认服务器标头。 (注意:此属性是在 IIS 10.0 中新增的,在 Windows Server 版本 1709 或 Windows 10 版本 1709 之前的 Windows 版本中无效。)

默认值为 false
unescapeQueryString 可选布尔属性。

如果设置为 true,则请求筛选将对每个查询字符串扫描执行两轮扫描。 第一轮将扫描原始查询字符串,第二轮将在 IIS 解码所有转义序列后扫描查询字符串。 如果设置为 false,请求筛选将仅查看客户端发送的原始查询字符串。

注:IIS 7.5 中添加了此属性。

默认值为 true

子元素

元素 说明
alwaysAllowedQueryStrings 可选元素。

指定请求筛选始终允许的查询字符串集合。

注意:IIS 7.5 中添加了此元素。
alwaysAllowedUrls 可选元素。

指定请求筛选始终允许的 URL 集合。

注意:IIS 7.5 中添加了此元素。
denyQueryStringSequences 可选元素。

指定请求筛选将始终拒绝的查询字符串序列的集合。

注意:IIS 7.5 中添加了此元素。
denyUrlSequences 可选元素。

指定应拒绝的序列,这有助于阻止对 Web 服务器发起的基于 URL 的攻击。
fileExtensions 可选元素。

指定允许或拒绝哪些文件扩展名,以限制发送到 Web 服务器的请求类型。
filteringRules 可选元素。

指定自定义请求筛选规则的集合。

注意:IIS 7.5 中添加了此元素。
hiddenSegments 可选元素。

指定某些 URL 段可以拒绝客户端的访问。
requestLimits 可选元素。

指定对 Web 服务器处理的请求的限制。
verbs 可选元素。

指定允许或拒绝哪些 HTTP 谓词,以限制发送到 Web 服务器的请求类型。

配置示例

Web.config 文件中的以下配置示例可执行多个与安全相关的任务:

  • 拒绝访问两个 URL 序列。 第一个序列可阻止目录遍历,第二个序列可阻止访问备用数据流。
  • 拒绝访问未列出的文件扩展名和未列出的 HTTP 谓词。
  • 将 URL 的最大长度设置为 2KB,并将查询字符串的最大长度设置为 1KB。
<configuration>
   <system.webServer>
      <security>
         <requestFiltering>
            <denyUrlSequences>
               <add sequence=".." />
               <add sequence=":" />
            </denyUrlSequences>
            <fileExtensions allowUnlisted="false" />
            <requestLimits maxUrl="2048" maxQueryString="1024" />
            <verbs allowUnlisted="false" />
         </requestFiltering>
      </security>
   </system.webServer>
</configuration>

代码示例

下面的代码示例演示如何拒绝对默认网站的三个 URL 序列的访问:目录遍历 ("..")、备用数据流 (":") 和反斜杠 ("")。

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/security/requestFiltering /+"denyUrlSequences.[sequence='..']" 

appcmd.exe set config "Default Web Site" -section:system.webServer/security/requestFiltering /+"denyUrlSequences.[sequence=':']" 

appcmd.exe set config "Default Web Site" -section:system.webServer/security/requestFiltering /+"denyUrlSequences.[sequence='\']"

PowerShell

Start-IISCommitDelay

$denyUrlSequences = Get-IISConfigSection -CommitPath 'Default Web Site' -SectionPath 'system.webServer/security/requestFiltering' | Get-IISConfigCollection -CollectionName 'denyUrlSequences'

New-IISConfigCollectionElement -ConfigCollection $denyUrlSequences -ConfigAttribute @{ 'sequence' = '..' }
New-IISConfigCollectionElement -ConfigCollection $denyUrlSequences -ConfigAttribute @{ 'sequence' = ':' }
New-IISConfigCollectionElement -ConfigCollection $denyUrlSequences -ConfigAttribute @{ 'sequence' = '\' }

Stop-IISCommitDelay

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetWebConfiguration("Default Web Site");

         ConfigurationSection requestFilteringSection = config.GetSection("system.webServer/security/requestFiltering");

         ConfigurationElementCollection denyUrlSequencesCollection = requestFilteringSection.GetCollection("denyUrlSequences");

         ConfigurationElement addElement = denyUrlSequencesCollection.CreateElement("add");
         addElement["sequence"] = @"..";
         denyUrlSequencesCollection.Add(addElement);

         ConfigurationElement addElement1 = denyUrlSequencesCollection.CreateElement("add");
         addElement1["sequence"] = @":";
         denyUrlSequencesCollection.Add(addElement1);

         ConfigurationElement addElement2 = denyUrlSequencesCollection.CreateElement("add");
         addElement2["sequence"] = @"\";
         denyUrlSequencesCollection.Add(addElement2);

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample

Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetWebConfiguration("Default Web Site")
      Dim requestFilteringSection As ConfigurationSection = config.GetSection("system.webServer/security/requestFiltering")
      Dim denyUrlSequencesCollection As ConfigurationElementCollection = requestFilteringSection.GetCollection("denyUrlSequences")

      Dim addElement As ConfigurationElement = denyUrlSequencesCollection.CreateElement("add")
      addElement("sequence") = ".."
      denyUrlSequencesCollection.Add(addElement)

      Dim addElement1 As ConfigurationElement = denyUrlSequencesCollection.CreateElement("add")
      addElement1("sequence") = ":"
      denyUrlSequencesCollection.Add(addElement1)

      Dim addElement2 As ConfigurationElement = denyUrlSequencesCollection.CreateElement("add")
      addElement2("sequence") = "\"
      denyUrlSequencesCollection.Add(addElement2)

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site";
var requestFilteringSection = adminManager.GetAdminSection("system.webServer/security/requestFiltering", "MACHINE/WEBROOT/APPHOST/Default Web Site");
var denyUrlSequencesCollection = requestFilteringSection.ChildElements.Item("denyUrlSequences").Collection;

var addElement = denyUrlSequencesCollection.CreateNewElement("add");
addElement.Properties.Item("sequence").Value = "..";
denyUrlSequencesCollection.AddElement(addElement);

var addElement1 = denyUrlSequencesCollection.CreateNewElement("add");
addElement1.Properties.Item("sequence").Value = ":";
denyUrlSequencesCollection.AddElement(addElement1);

var addElement2 = denyUrlSequencesCollection.CreateNewElement("add");
addElement2.Properties.Item("sequence").Value = "\\";
denyUrlSequencesCollection.AddElement(addElement2);

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site"
Set requestFilteringSection = adminManager.GetAdminSection("system.webServer/security/requestFiltering", "MACHINE/WEBROOT/APPHOST/Default Web Site")
Set denyUrlSequencesCollection = requestFilteringSection.ChildElements.Item("denyUrlSequences").Collection

Set addElement = denyUrlSequencesCollection.CreateNewElement("add")
addElement.Properties.Item("sequence").Value = ".."
denyUrlSequencesCollection.AddElement(addElement)

Set addElement1 = denyUrlSequencesCollection.CreateNewElement("add")
addElement1.Properties.Item("sequence").Value = ":"
denyUrlSequencesCollection.AddElement(addElement1)

Set addElement2 = denyUrlSequencesCollection.CreateNewElement("add")
addElement2.Properties.Item("sequence").Value = "\"
denyUrlSequencesCollection.AddElement(addElement2)

adminManager.CommitChanges()