Фильтрация <запросов requestFiltering>
Общие сведения
Фильтрация запросов — это встроенная функция безопасности, которая появилась в службах IIS 7.0 и заменяет большую часть функций, доступных в надстройке UrlScan для IIS 6.0. Все параметры функции фильтрации запросов находятся в элементе <requestFiltering>
, который содержит несколько дочерних элементов для каждой из следующих областей функций:
<denyUrlSequences>
— Этот элемент может содержать коллекцию шаблонов последовательностей URL-адресов, которые IIS 7 будет запрещать; Например, вы можете запретить части последовательностей URL-адресов, которые злоумышленник может попытаться использовать.<fileExtensions>
— Этот элемент может содержать коллекцию расширений имен файлов, которые IIS 7 либо запретит, либо разрешит; Например, можно заблокировать все запросы Web.config файлов.<hiddenSegments>
— этот элемент может содержать коллекцию URL-адресов, которые невозможно просмотреть; Например, вы можете запретить запросы для папки ASP.NET App_Code.<requestLimits>
— Этот элемент содержит параметры для URL-адреса, содержимого и длины строки запроса. Он также может содержать коллекцию определяемых пользователем максимальных длин для заголовков HTTP.<verbs>
— Этот элемент может содержать коллекцию HTTP-команд, которые IIS 7 либо запретит, либо разрешит; Например, можно заблокировать все ЗАПРОСы ТРАССИРОВКИ HTTP.
Новые возможности в 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 |
Слишком длинный заголовок запроса |
Эти подсостояние позволяют веб-администраторам анализировать журналы 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 и элементами alwaysAllowedUrls , alwaysAllowedQueryStrings , denyQueryStringSequences и filteringRules . Эти элементы были впервые представлены в виде обновления для IIS 7.0, доступного в статье базы знаний Майкрософт 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
- На панели задач щелкните Диспетчер сервера.
- В диспетчер сервера откройте меню Управление и выберите пункт Добавить роли и компоненты.
- В мастере добавления ролей и компонентов нажмите кнопку Далее. Выберите тип установки и нажмите кнопку Далее. Выберите целевой сервер и нажмите кнопку Далее.
- На странице Роли сервера разверните узел Веб-сервер (IIS),веб-сервер, безопасность, а затем выберите Фильтрация запросов. Щелкните Далее.
. - На странице Выбор компонентов нажмите кнопку Далее.
- На странице Подтверждение выбранных элементов для установки нажмите кнопку Установить.
- На странице Результаты нажмите кнопку Закрыть.
Windows 8 или Windows 8.1
- На начальном экране переместите указатель в левый нижний угол, щелкните правой кнопкой мыши кнопку Пуск и выберите панель управления.
- В панель управления выберите Программы и компоненты, а затем — Включить или отключить компоненты Windows.
- Разверните узлы Службы IIS, Веб-службы, Безопасность, а затем выберите Фильтрация запросов.
- Нажмите кнопку ОК.
- Щелкните Закрыть.
Windows Server 2008 или Windows Server 2008 R2
- На панели задач нажмите кнопку Пуск, выберите Администрирование, а затем диспетчер сервера.
- В области иерархии диспетчер сервера разверните узел Роли и выберите Веб-сервер (IIS).
- На панели Веб-сервер (IIS) прокрутите страницу до раздела Службы ролей и щелкните Добавить службы ролей.
- На странице Выбор служб ролеймастера добавления служб ролей выберите Фильтрация запросов и нажмите кнопку Далее.
- На странице Подтверждение выбранных элементов для установки нажмите кнопку Установить.
- На странице Результаты нажмите кнопку Закрыть.
Windows Vista или Windows 7
- На панели задач нажмите кнопку Пуск, а затем панель управления.
- В панель управления выберите Программы и компоненты, а затем — Включить или отключить компоненты Windows.
- Разверните узел Службы IIS, затем Службы Интернета, а затем — Безопасность.
- Выберите Фильтрация запросов и нажмите кнопку ОК.
Инструкции
Примечание для пользователей IIS 7.0. Для некоторых действий, описанных в этом разделе, может потребоваться установить пакет администрирования Майкрософт для IIS 7.0, который включает пользовательский интерфейс для фильтрации запросов. Чтобы установить пакет администрирования Майкрософт для IIS 7.0, см. следующий URL-адрес:
Изменение параметров функции фильтрации запросов и ограничений запросов
Откройте диспетчер служб IIS:
Если вы используете Windows Server 2012 или Windows Server 2012 R2:
- На панели задач щелкните диспетчер сервера, выберите Сервис, а затем диспетчер служб IIS.
Если вы используете Windows 8 или Windows 8.1:
- Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
- Щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
Если вы используете Windows Server 2008 или Windows Server 2008 R2:
- На панели задач нажмите кнопку Пуск, наведите указатель на пункт Администрирование, а затем выберите Пункт Диспетчер служб IIS.
Если вы используете Windows Vista или Windows 7:
- На панели задач нажмите кнопку Пуск, а затем панель управления.
- Дважды щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
В области Подключения перейдите к подключению, сайту, приложению или каталогу, для которого требуется изменить параметры фильтрации запросов.
Щелкните Изменить параметры компонентов... в области Действия .
Укажите параметры и нажмите кнопку ОК.
Например, можно внести следующие изменения:- Измените максимальную длину URL-адреса на 2 КБ, указав значение 2048.
- Измените максимальную длину строки запроса на 1 КБ, указав 1024.
- Запретить доступ к командам HTTP, не добавленным в список, снимите флажок Разрешить команды без списка проверка.
Как запретить последовательность URL-адресов
Откройте диспетчер служб IIS:
Если вы используете Windows Server 2012 или Windows Server 2012 R2:
- На панели задач щелкните диспетчер сервера, выберите Сервис, а затем диспетчер служб IIS.
Если вы используете Windows 8 или Windows 8.1:
- Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
- Щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
Если вы используете Windows Server 2008 или Windows Server 2008 R2:
- На панели задач нажмите кнопку Пуск, наведите указатель на пункт Администрирование, а затем выберите Пункт Диспетчер служб IIS.
Если вы используете Windows Vista или Windows 7:
- На панели задач нажмите кнопку Пуск, а затем панель управления.
- Дважды щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
В области Подключения перейдите к подключению, сайту, приложению или каталогу, для которого требуется изменить параметры фильтрации запросов.
В области Фильтрация запросов перейдите на вкладку Запрет последовательностей URL-адресов и нажмите кнопку Добавить последовательность URL-адресов... в области Действия .
В диалоговом окне Добавление последовательности запрета введите последовательность URL-адресов, которую нужно заблокировать, и нажмите кнопку ОК.
Например, чтобы запретить переход к каталогу на сервере, в диалоговом окне необходимо ввести две точки ("..").
Как запретить доступ к определенному расширению имени файла
Откройте диспетчер служб IIS:
Если вы используете Windows Server 2012 или Windows Server 2012 R2:
- На панели задач щелкните диспетчер сервера, выберите Сервис, а затем диспетчер служб IIS.
Если вы используете Windows 8 или Windows 8.1:
- Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
- Щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
Если вы используете Windows Server 2008 или Windows Server 2008 R2:
- На панели задач нажмите кнопку Пуск, наведите указатель на пункт Администрирование, а затем выберите Пункт Диспетчер служб IIS.
Если вы используете Windows Vista или Windows 7:
- На панели задач нажмите кнопку Пуск, а затем панель управления.
- Дважды щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
В области Подключения перейдите к подключению, сайту, приложению или каталогу, для которого требуется изменить параметры фильтрации запросов.
В области Фильтрация запросов перейдите на вкладку Расширения имен файлов , а затем щелкните Запретить расширение имени файла... в области Действия .
В диалоговом окне Запретить расширение имени файла введите расширение имени файла, которое нужно заблокировать, и нажмите кнопку ОК.
Например, чтобы запретить доступ к файлам с расширением .inc, введите "inc" в диалоговом окне.
Добавление скрытого сегмента
Откройте диспетчер служб IIS:
Если вы используете Windows Server 2012 или Windows Server 2012 R2:
- На панели задач щелкните диспетчер сервера, выберите Сервис, а затем диспетчер служб IIS.
Если вы используете Windows 8 или Windows 8.1:
- Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
- Щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
Если вы используете Windows Server 2008 или Windows Server 2008 R2:
- На панели задач нажмите кнопку Пуск, наведите указатель на пункт Администрирование, а затем выберите Пункт Диспетчер служб IIS.
Если вы используете Windows Vista или Windows 7:
- На панели задач нажмите кнопку Пуск, а затем панель управления.
- Дважды щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
В области Подключения перейдите к подключению, сайту, приложению или каталогу, для которого требуется изменить параметры фильтрации запросов.
В области Фильтрация запросов перейдите на вкладку Скрытые сегменты и нажмите кнопку Добавить скрытый сегмент... в области Действия .
В диалоговом окне Добавление скрытого сегмента введите относительный путь, который нужно скрыть, и нажмите кнопку ОК.
Добавление ограничений для заголовков HTTP
Откройте диспетчер служб IIS:
Если вы используете Windows Server 2012 или Windows Server 2012 R2:
- На панели задач щелкните диспетчер сервера, выберите Сервис, а затем диспетчер служб IIS.
Если вы используете Windows 8 или Windows 8.1:
- Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
- Щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
Если вы используете Windows Server 2008 или Windows Server 2008 R2:
- На панели задач нажмите кнопку Пуск, наведите указатель на пункт Администрирование, а затем выберите Пункт Диспетчер служб IIS.
Если вы используете Windows Vista или Windows 7:
- На панели задач нажмите кнопку Пуск, а затем панель управления.
- Дважды щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
В области Подключения перейдите к подключению, сайту, приложению или каталогу, для которого требуется изменить параметры фильтрации запросов.
В области Фильтрация запросов перейдите на вкладку Заголовки , а затем нажмите кнопку Добавить заголовок... в области Действия .
В диалоговом окне Добавление заголовка введите заголовок HTTP и максимальный размер для ограничения заголовка, а затем нажмите кнопку ОК.
Например, заголовок Content-type содержит тип MIME для запроса. Если задать значение 100, длина заголовка Content-type будет ограничена 100 байтами.
Как запретить HTTP-команду
Откройте диспетчер служб IIS:
Если вы используете Windows Server 2012 или Windows Server 2012 R2:
- На панели задач щелкните диспетчер сервера, выберите Сервис, а затем диспетчер служб IIS.
Если вы используете Windows 8 или Windows 8.1:
- Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
- Щелкните Администрирование, а затем дважды щелкните диспетчер служб IIS.
Если вы используете Windows Server 2008 или Windows Server 2008 R2:
- На панели задач нажмите кнопку Пуск, наведите указатель на пункт Администрирование, а затем щелкните Диспетчер служб IIS.
Если вы используете Windows Vista или Windows 7:
- На панели задач нажмите кнопку Пуск, а затем выберите пункт панель управления.
- Дважды щелкните элемент Администрирование, а затем дважды щелкните диспетчер служб IIS.
В области Подключения перейдите к подключению, сайту, приложению или каталогу, для которых вы хотите изменить параметры фильтрации запросов.
В области Фильтрация запросов перейдите на вкладку HTTP-команды , а затем нажмите кнопку Запретить глагол... в области Действия .
В диалоговом окне Запретить команду введите HTTP-команду, которую необходимо заблокировать, и нажмите кнопку ОК.
Например, чтобы предотвратить HTTP-запросы TRACE к серверу, введите в диалоговом окне "TRACE".
Конфигурация
Атрибуты
Атрибут | Описание |
---|---|
allowDoubleEscaping |
Дополнительный логический атрибут. Если задано значение true, фильтрация запросов разрешает URL-адреса с символами, экранируемыми вдвойне. Если задано значение false, фильтрация запросов отклоняет запрос, если в URL-адресах присутствуют символы, которые были экранированы дважды. Значение по умолчанию — false . |
allowHighBitCharacters |
Дополнительный логический атрибут. Если задано значение true, фильтрация запросов разрешает использование символов, отличных от ASCII, в URL-адресах. Если задано значение false, фильтрация запросов будет отклонять запрос, если в URL-адресах присутствуют высокобитовые символы. Значение по умолчанию — true . |
removeServerHeader |
Дополнительный логический атрибут. Если задано значение true, фильтрация запросов будет подавлять заголовок сервера IIS. Если задано значение false, iis вернет заголовок сервера по умолчанию. (Примечание. Этот атрибут был добавлен в IIS 10.0 и не работает в версиях Windows до Windows Server версии 1709 или Windows 10 версии 1709.) Значение по умолчанию — false . |
unescapeQueryString |
Дополнительный логический атрибут. Если задано значение true, фильтрация запросов будет выполнять два прохода при каждом сканировании строки запроса. Первый проход сканирует необработанную строку запроса, а второй — строку запроса после того, как СЛУЖБЫ IIS декодируют escape-последовательности. Если задано значение false, фильтрация запросов будет просматривать только необработанную строку запроса, отправленную клиентом. Примечание: Этот атрибут был добавлен в IIS 7.5. Значение по умолчанию — true . |
Дочерние элементы
Элемент | Описание |
---|---|
alwaysAllowedQueryStrings |
Необязательный элемент. Задает коллекцию строк запроса, которые всегда будет разрешать фильтрация запросов. Примечание: Этот элемент был добавлен в IIS 7.5. |
alwaysAllowedUrls |
Необязательный элемент. Указывает коллекцию URL-адресов, которые всегда будет разрешать фильтрация запросов. Примечание: Этот элемент был добавлен в IIS 7.5. |
denyQueryStringSequences |
Необязательный элемент. Задает коллекцию последовательностей строк запроса, которые фильтрация запросов всегда будет запрещать. Примечание: Этот элемент был добавлен в IIS 7.5. |
denyUrlSequences |
Необязательный элемент. Указывает последовательности, которые следует запретить, чтобы предотвратить атаки на веб-сервер на основе URL-адресов. |
fileExtensions |
Необязательный элемент. Указывает, какие расширения имен файлов разрешены или запрещены для ограничения типов запросов, отправляемых на веб-сервер. |
filteringRules |
Необязательный элемент. Задает коллекцию настраиваемых правил фильтрации запросов. Примечание: Этот элемент был добавлен в IIS 7.5. |
hiddenSegments |
Необязательный элемент. Указывает, что некоторые сегменты URL-адресов могут быть недоступны для клиентов. |
requestLimits |
Необязательный элемент. Задает ограничения на запросы, обрабатываемые веб-сервером. |
verbs |
Необязательный элемент. Указывает, какие HTTP-команды разрешены или запрещены для ограничения типов запросов, отправляемых на веб-сервер. |
Образец конфигурации
Следующий пример конфигурации из файла Web.config выполняет несколько задач, связанных с безопасностью:
- Запрещает доступ к двум последовательности URL-адресов. Первая последовательность предотвращает трансверсаль каталогов, а вторая — доступ к альтернативным потокам данных.
- Запрещает доступ к неподписанным расширениям имен файлов и командам HTTP, не добавленным в список.
- Задает максимальную длину URL-адреса в 2 КБ, а максимальную длину строки запроса — 1 КБ.
<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()