Ip Security <ipSecurity>

Общие сведения

Элемент <ipSecurity> определяет список ограничений безопасности на основе IP-адресов в IIS 7 и более поздних версиях. Эти ограничения могут основываться на IP-адресе версии 4, диапазоне IP-адресов версии 4 или доменном имени DNS.

Совместимость

Версия Примечания
IIS 10.0 Элемент <ipSecurity> не был изменен в IIS 10.0.
IIS 8,5 Элемент <ipSecurity> не был изменен в IIS 8.5.
IIS 8,0 Добавлен enableProxyMode атрибут , позволяющий блокировать запросы от клиента, который подключается через прокси-сервер. Атрибут denyAction был добавлен для указания ответа режима запрета по умолчанию, который IIS отправляет клиентам.
IIS 7,5 Элемент <ipSecurity> не был изменен в IIS 7.5.
IIS 7.0 Элемент <ipSecurity> появился в IIS 7.0.
IIS 6,0 Элемент <ipSecurity> заменяет свойство метабазы IPSecurity IIS 6.0.

Настройка

Установка служб IIS по умолчанию не включает службу ролей или компонент Windows для защиты IP-адресов. Чтобы использовать безопасность IP-адресов в IIS, необходимо установить службу ролей или компонент Windows, выполнив следующие действия.

Windows Server 2012 или Windows Server 2012 R2

  1. На панели задач щелкните Диспетчер сервера.
  2. В диспетчер сервера откройте меню Управление и выберите пункт Добавить роли и компоненты.
  3. В мастере добавления ролей и компонентов нажмите кнопку Далее. Выберите тип установки и нажмите кнопку Далее. Выберите целевой сервер и нажмите кнопку Далее.
  4. На странице Роли сервера разверните узел Веб-сервер (IIS),Веб-сервер, Безопасность, а затем выберите Ограничения IP-адресов и доменов. Щелкните Далее.
    Снимок экрана, на котором показаны ip-адреса и ограничения домена, выбранные для Windows Server 2012. .
  5. На странице Выбор компонентов нажмите кнопку Далее.
  6. На странице Подтверждение выбранных элементов для установки нажмите кнопку Установить.
  7. На странице Результаты нажмите кнопку Закрыть.

Windows 8 или Windows 8.1

  1. На начальном экране переместите указатель в левый нижний угол, щелкните правой кнопкой мыши кнопку Пуск и выберите пункт панель управления.
  2. В панель управления щелкните Программы и компоненты, а затем — Включить или выключить компоненты Windows.
  3. Разверните узел Службы IIS, Веб-службы, Безопасность, а затем выберите Безопасность IP-адресов.
    Снимок экрана, на котором показан выбор i P Security для Windows 8.
  4. Нажмите кнопку ОК.
  5. Щелкните Закрыть.

Windows Server 2008 или Windows Server 2008 R2

  1. На панели задач нажмите кнопку Пуск, наведите указатель мыши на пункт Администрирование, а затем щелкните диспетчер сервера.

  2. В области иерархии диспетчер сервера разверните узел Роли, а затем щелкните Веб-сервер (IIS) .

  3. В области Веб-сервер (IIS) прокрутите страницу до раздела Службы ролей и щелкните Добавить службы ролей.

  4. На странице Выбор служб ролеймастера добавления служб ролей выберите Ограничения IP-адресов и доменов, а затем нажмите кнопку Далее.

    Снимок экрана, на котором показаны ограничения ip-адреса и домена, выбранные для Windows Server 2008.

  5. На странице Подтверждение выбранных элементов для установки нажмите кнопку Установить.

  6. На странице Результаты нажмите кнопку Закрыть.

Windows Vista или Windows 7

  1. На панели задач нажмите кнопку Пуск, а затем выберите пункт панель управления.

  2. В панель управления щелкните Программы и компоненты, а затем — Включить или отключить компоненты Windows.

  3. Разверните узел Службы IIS, Затем — Службы Интернета и Безопасность.

  4. Выберите Безопасность IP-адресов и нажмите кнопку ОК.

    Снимок экрана, на котором показан параметр I P Security для Windows Vista или Windows 7.

Инструкции

Добавление ограничений IP-адресов для запрета доступа к веб-сайту

  1. Откройте диспетчер служб 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.
  2. В области Подключения разверните имя сервера, узел Сайты, а затем сайт, приложение или веб-службу, для которых требуется добавить ограничения IP-адресов.

  3. На панели Главная дважды щелкните функцию ОГРАНИЧЕНИЯ IP-адресов и доменов .
    Снимок экрана: значок IP-адреса и ограничений домена на панели

  4. В функции ОГРАНИЧЕНИЯ IP-адресов и доменов щелкните Добавить запрет записи... на панели Действия .
    Снимок экрана: панель ip-адресов и ограничений домена в диспетчере I IS.

  5. Введите IP-адрес, который вы хотите запретить, и нажмите кнопку ОК.
    Снимок экрана: диалоговое окно


Изменение параметров функции ограничений IP-адресов для веб-сайта

  1. Откройте диспетчер служб 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.
  2. В области Подключения разверните имя сервера, узел Сайты, а затем сайт, приложение или веб-службу, для которых требуется добавить ограничения IP-адресов.

  3. На панели Главная дважды щелкните функцию ОГРАНИЧЕНИЯ IP-адресов и доменов .
    Снимок экрана: значок IP-адреса и ограничений домена.

  4. В функции ОГРАНИЧЕНИЯ IP-адресов и доменов щелкните Изменить параметры компонентов... на панели Действия .
    Снимок экрана: панель ip-адреса и ограничения домена.

  5. Выберите поведение доступа по умолчанию для неуказаемых клиентов, укажите, следует ли включать ограничения по доменному имени, укажите, следует ли включить режим прокси-сервера, выберите Тип действия запрета и нажмите кнопку ОК.
    Снимок экрана: диалоговое окно

Конфигурация

Правила обрабатываются сверху вниз в порядке их отображения в списке. Атрибут allowUnlisted обрабатывается последним. Для ограничений IPsec рекомендуется сначала перечислить правила запрета. Невозможно очистить атрибут allowUnlisted, если для него задано значение false.

Следующий элемент по умолчанию <ipSecurity> настраивается в корневом файле ApplicationHost.config в IIS 7 и более поздних версиях. Этот раздел конфигурации наследует параметры конфигурации по умолчанию, если не используется <clear> элемент .

<ipSecurity allowUnlisted="true" />

Атрибуты

Атрибут Описание
allowUnlisted Дополнительный логический атрибут.

Указывает, следует ли разрешать IP-адреса, не писаемые в список. Если задать для атрибута allowUnlistedзначение true , ip-адрес, не вписанный в список, может получить доступ к серверу. Установка для атрибута allowUnlistedзначения false блокирует сервер, что запрещает доступ ко всем IP-адресам, если они не указаны в списке. Если задать для этого атрибута значение false и не указать локальный адрес замыкания на себя (127.0.0.1) в качестве разрешенного IP-адреса, вы не сможете получить доступ к серверу с помощью браузера из локальной консоли.

Этот атрибут также может влиять на делегирование. Если задать для этого атрибута значение false в родительской конфигурации, вы не сможете <clear> использовать элемент для очистки этой конфигурации в дочерних файлах конфигурации.

Значение по умолчанию — true.
denyAction Необязательный атрибут перечисления.

Указывает ответ режима запрета по умолчанию, который iis должны отправлять клиентам.

Значение по умолчанию — forbidden.
Значение Описание
AbortRequest Указывает, что по умолчанию службы IIS должны отправлять клиентам ответ в режиме запрета Abort .

Числовое значение равно 0.

Unauthorized Указывает, что по умолчанию службы IIS должны отправлять клиентам ответ в режиме запрета Unauthorized . Если на удаленном сервере используется браузерный клиент, возврат "Не авторизовано" может привести к отображению диалогового окна проверки подлинности на удаленном клиенте, что приведет к фиктивным попыткам проверки подлинности в IIS.

Числовое значение равно 401.

Forbidden Указывает, что по умолчанию службы IIS должны отправлять клиентам ответ в режиме запрета Forbidden .

Числовое значение равно 403.

NotFound Указывает, что по умолчанию службы IIS должны отправлять клиентам ответ в режиме запрета Not Found .

Числовое значение равно 404.

enableProxyMode Дополнительный логический атрибут.

Позволяет службам IIS не только блокировать запросы с IP-адреса клиента, который отображается службами IIS, но и блокировать запросы с IP-адресов, полученных в заголовке HTTP x-forwarded-for. Этот заголовок позволяет определить исходный IP-адрес клиента, который подключается через прокси-сервер HTTP или подсистему балансировки нагрузки. Это называется режимом прокси-сервера.

Значение по умолчанию — false.
enableReverseDns Дополнительный логический атрибут.

Указывает, следует ли включать или отключать обратные поиски в системе доменных имен (DNS) для веб-сервера. Обратный поиск включает поиск доменного имени, когда IP-адрес известен.

Внимание! Обратный поиск DNS потребует значительных ресурсов и времени.

Значение по умолчанию — false.

Дочерние элементы

Элемент Описание
add Необязательный элемент.

Добавляет ограничение IP-адресов в коллекцию ограничений IP-адресов.
remove Необязательный элемент.

Удаляет ссылку на ограничение из <ipSecurity> коллекции.
clear Необязательный элемент.

Удаляет из коллекции все ссылки на ограничения <ipSecurity> .

Образец конфигурации

Следующий пример конфигурации добавляет два ограничения IP-адресов к веб-сайту по умолчанию. первое ограничение запрещает доступ к IP-адресу 192.168.100.1, а второе ограничение запрещает доступ ко всей сети 169.254.0.0.

<location path="Default Web Site">
   <system.webServer>
      <security>
         <ipSecurity>
            <add ipAddress="192.168.100.1" />
            <add ipAddress="169.254.0.0" subnetMask="255.255.0.0" />
         </ipSecurity>
      </security>
   </system.webServer>
</location>

Пример кода

В следующих примерах кода выполняется обратный поиск DNS для веб-сайта по умолчанию.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/security/ipSecurity /enableReverseDns:true /commit:apphost

Примечание

При использовании AppCmd.exe для настройки этих параметров для параметра apphostфиксации необходимо задать значение . Это зафиксирует параметры конфигурации в соответствующем разделе расположения в файле ApplicationHost.config.

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.GetApplicationHostConfiguration();
         ConfigurationSection ipSecuritySection = config.GetSection("system.webServer/security/ipSecurity", "Default Web Site");
         ipSecuritySection["enableReverseDns"]=true;

         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.GetApplicationHostConfiguration
      Dim ipSecuritySection As ConfigurationSection = config.GetSection("system.webServer/security/ipSecurity", "Default Web Site")
      
      ipSecuritySection("enableReverseDns") = True
      
      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var ipSecuritySection = adminManager.GetAdminSection("system.webServer/security/ipSecurity", "MACHINE/WEBROOT/APPHOST/Default Web Site");

ipSecuritySection.Properties.Item("enableReverseDns").Value = True;

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set ipSecuritySection = adminManager.GetAdminSection("system.webServer/security/ipSecurity", "MACHINE/WEBROOT/APPHOST/Default Web Site")

ipSecuritySection.Properties.Item("enableReverseDns").Value = True

adminManager.CommitChanges()