Модуль Dynamic IP Restrictions для IIS 7.0

IIS Team выпустила бета-версию расширения Dynamic IP Restrictions.  Расширение позволяет блокировать IP адреса по количеству одновременных запросов, по количеству запросов в единицу времени, журналировать все отвергнутые запросы, а также поддерживает IPv6.

Скачать можно здесь.

Инструкция по применению находится здесь.

Полезный модуль для IIS позволяющий немного повысить защиту от грубого подбора паролей и слабеньких DDoS атак.

 Возможности

  • Настраивать модуль можно прямо из менеджера IIS
  • Блокировка IP-адресов на основе одного из следующих критериев:

    • Кол-во одновременных запросов.
    • Кол-во запросов в период времени.
  • Белый список IP адресов.
  • Возможность настройки модуля как для веб-сервера в целом так и для конкретного приложения.
  • Возможность выбрать место в которое будет посылаться провинившийся IP адрес.
  • Поддержка IPv6.
  • Поддержка веб-серверов работающих через прокси-сервер или брандмауэр.

Настройка модуля

Открываем менеджер IIS, находим там Dynamic IP Restrictions, открываем его…

Deny IP addresses based on the number of concurrent requests

Описание: Кол-во одновременных запросов с одного IP адреса, если от IP адреса приходит больше указанного кол-ва то IP адрес блокируется.

Maximum number of concurrent requests - Максимальное количество одновременных запросов

Deny IP addresses based on the number of requests over a period of time

Описание: Кол-во запросов с одного IP адреса в заданный период времени

Maximum number of requests — Максимальное кол-во запросов за период времени указанный ниже

Time period (in milliseconds) — Временной период (в миллисекундах)

Other Settings

Deny Action type — Куда пересылать запросы с заблокированного IP.

Proxy Mode — Включить если веб-сервер работает через прокси.

Logging Only Mode — Только логирование.

Скачать Dynamic IP Restrictions можно тут версия для IIS 7.0

Теже возможности но в IIS 8.0:

IIS 8: динамическое ограничение доступа по IP

Сервер IIS 7 и предыдущие версии содержали встроенную функциональность, которая позволяла администраторам разрешить или запретить доступ к серверу для определенных IP-адресов (или их диапазонов). Когда IP-адрес блокировался, любой HTTP-клиент с таким IP получал в ответ на запрос к серверу HTTP-ошибку "403.6 Forbidden". Этот функционал позволял администраторам настроить доступ к их серверу на основе активности, которую они могли проанализировать по логам сервера. Тем не менее, это был ручной процесс. Даже при том, что управление функциями могло настраиваться через скрипты для определения подозрительных пользователей с помощью анализа логов утилитами типа Microsoft's LogParser, все равно требовалось много ручной работы.

Решение

В IIS 8 встроенная функциональность была расширена для того, чтобы предложить следующие функции:

  • Динамическая фильтрация IP-адресов, которая позволяет администраторам настроить их сервер на блокировку IP-адресов, которые создают слишком много запросов к серверу;
  • Фильтрация IP-адресов теперь позволяет администраторам указать поведение сервера во время блокировки IP-адреса, так что запросы от злоумышленников могут быть прерваны сервером, вместо того, чтобы возвращать клиенту HTTP 403.6;
  • Фильтрация по IP теперь поддерживает функцию прокси-режима, которая позволяет блокировать адреса не только по IP-адресу клиента, который получает сервер, но и по полученным значениям HTTP-заголовков x-forwarded-for.

Пошаговая инструкция

Требования:

  • Предустановленная Windows 8 с включенным IIS 8;

Замечание: функция IP and Domain Restrictions должна быть установлена вместе с IIS.

image

Конфигурирование IIS для блокировки доступа на основе HTTP-запросов

Сервер IIS 8.0 может быть сконфигурирован для блокировки доступа к веб-сайтам на основе определенного числа запросов в единицу времени, которые производит клиент. Другим вариантом является блокировка на основе количества одновременных подключений клиента.

Для конфигурирования IIS для блокировки доступа основанной на числе HTTP-запросов проделайте следующие шаги:

Осуществите вход в систему с учетной записью администратора. Откройте Internet Information Services (IIS) Manager. Выберите свой сервер, сайт или папку в окнеConnections и затем в панели функций запустите IP Address and Domain Restrictions.

image

Нажмите Edit Dynamic Restriction Settings на панели Actions.

image

В окне Dynamic IP Restriction Settings выберите Deny IP Address based on the number of concurrent requests, если вы хотите предотвратить слишком много одновременных подключений от пользователя. Если вы хотите предотвратить слишком большое количество запросов от пользователя, выберите Deny IP Address based on the number of requests over a period of time.

image

Нажмите ОК.

Конфигурирование поведения IIS при запрете IP-адресов

В IIS 7 и ранних версиях, сервер возвращал HTTP-ошибку "403.6 Forbidden", когда происходила блокировка IP-адреса. В IIS 8.0 администраторы могут сконфигурировать свой сервер для того, чтобы запрещать доступ с IP-адресов несколькими дополнительными вариантами.

Для того чтобы указать то, как должен поступать IIS, когда он блокирует IP-адрес, выполните следующие шаги:

Осуществите вход в систему с учетной записью администратора. Откройте Internet Information Services (IIS) Manager. Выберите свой сервер, сайт или папку в окнеConnections и затем в панели функций запустите IP Address and Domain Restrictions.

image

Нажмите Edit Feature Settings на панели Actions.

image

В окне Edit IP and Domain Restriction Settings выберите в ниспадающем меню Deny Action Type предпочтительное поведение сервера:

  • Unauthorized: IIS вернет ответ HTTP 401;
  • Forbidden: IIS вернет ответ HTTP 403;
  • Not Found: IIS вернет HTTP 404;
  • Abort: IIS закроет HTTP-соединение.

image

Нажмите ОК.

Конфигурирование IIS для прокси-режима

Одной из проблем при IP-фильтрации является возможная ситуация, когда с одного IP-адреса на сервер обращаются множество разных клиентов (через firewall, балансировщик нагрузки, прокси). Так что для каждого такого клиента IP-адрес будет одинаковым. В IIS 8.0 администраторы могут сконфигурировать сервер с учетом HTTP-заголовка x-forwarded-for, в дополнение к IP-адресу клиента, для того, чтобы точнее определять какие именно запросы необходимо блокировать. Такое поведение называется «прокси-режимом».

Для конфигурирования IIS для прокси-режима проделайте следующие шаги.

Осуществите вход в систему с учетной записью администратора. Откройте Internet Information Services (IIS) Manager. Выберите свой сервер, сайт или папку в окнеConnections и затем в панели функций запустите IP Address and Domain Restrictions.

image

Нажмите на Edit Feature Settings в панели Actions.

image

В окне Edit IP and Domain Restriction Settings выберите Enable Proxy Mode.

image

Нажмите ОК.

Заключение

В этом руководстве вы познакомились с конфигурирование IIS для динамического блокирования доступа к вашему серверу на основе числа запросов от клиента, а так же с настройкой поведения IIS, которое сервер будет использовать при блокировке потенциальных злоумышленников.

This article was updated on август 19, 2024