Ограничение доступа к портам компьютера для отдельных IP адресов с помощью политик IP безопасности (IPSec)
Зачем это нужно
В некоторых случаях Вам может понадобиться настройка блокировки портов компьютера, причем требуется не просто закрыть доступ к порту (что несложно), а разрешить доступ к порту только для ограниченного списка IP адресов (для остальных - запретить).
В случае корпоративного прокси-сервера или шлюза всё довольно просто, поскольку корпоративное программное обеспечение,
как правило, обладает достаточным функционалом. Однако в случае, если у Вас используется обычная точка доступа, Вы можете или отключть доступ к определенному порту компьютера, или включить его.
Самым ярким примером в этом случае является протокол RDP: сами настройки удаленного рабочего стола не позволяют перечислить IP адреса компьютеров, с которых можно подключаться. При этом нет желания включать брандмауэр, поскольку нет необходимости ограничивать доступ к другим портам.
В нашем случае (для примера) мы попробуем дать доступ к компьютеру по RDP только определенным IP адресам (по списку).
Как ограничить доступ к порту для IP адресов по списку
Как открыть управление политикой IP безопасности
Есть 2 варианта для открытия политик IP безопасности.
Через консоль MMC
- Откройте консоль MMC: запустите из командной строки mmc.exe.
- Выберите "Файл" -> "Добавить или удалить оснастку" ("File" -> "Add/Remove Snap-in").
- Выберите "Управление политикой IP-безопасности" и нажмите "Добавить" ("IP Security Policy Management", "Add").
- Выберите "Локальный компьютер" ("Local computer") и нажмите "Готово" ("Finish").
- Нажмите "Закрыть" ("Close") и затем "ОК".
Через панель управления
- Откройте "Панель управления" -> "Администрирование" ("Control panel" -> "Administrative tools").
- Откройте "Локальные политики безопасности" ("Local Security Policy").
Структура политик IP безопасности
В политиках IP безопасности (IP Security Policy) существует определенная структура, в которой можно запутаться. Поэтому описание структуры вынесено отдельно.
Есть консоль политик IP безопасности, которая называется "Политики IP безопасности" ("IP Security Policies"). Она содержит список политик.
Каждая политика IP безопасности может быть "Назначена" ("Assign") или "Снята" ("Un-assign"). Политика содержит список правил IP безопасности (IP Security rules).
Каждое правило IP безопасности дает возможность запретить или разрешить доступ (действие фильтра, filter action) для одной или нескольких групп IP адресов, протоколов и/или портов (Списки IP-фильтров, IP filter list).
Список IP фильтров содержит один или несколько IP фильтров (IP Filter).
Каждый IP фильтр задает как группы IP адресов-источников, так и IP адресов-приёмников, а также может задать тип(ы) протоколов и/или номера портов.
Действие фильтра задает варианты выбора действия - "Разрешить" ("Permit"), "Блокировать" ("Block") или "Согласовать безопасность" ("Negotiate security").
Создание новой политики IP безопасности
Теперь создадим новую политику безопасности:
- Кликните правой кнопкой мыши в списке политик безопасности на пустом месте и выберите "Создать политику IP-безопасности" ("Create IP Security Policy").
- Нажмите "Далее" ("Next") и укажите имя для политики. В нашем случае это будет "Restrict RDP access".
- Отключите (или не включайте) галочку "Использовать правило по умолчанию" ("Activate default response rule").
- Включите галочку "Изменить свойства" ("Edit properties") и нажмите кнопку "Готово" ("Finish").
Мы создали политику безопасности. Теперь нам необходимо создать несколько правил IP безопасности, которыми будет управлять эта политика. Каждое из правил может запрещать или разрешать доступ с определенных (или всех) IP адресов к определенным (или всем) портам на нашем компьютере.
- В списке правил IP безопасности (IP security rules) нажмите кнопку "Добавить" ("Add").
- Укажите, что "Это правило не определяет туннель" ("This rule does not specify a tunnel").
- Выберите тип подключения, к которому будет применяться это правило. Обычно имеет смысл указать тип LAN, но Вы можете выбрать и "Все сетевые подключения" ("All network connections").
- Теперь мы добавим список IP фильтров для фильтрации. Порядок добавления IP фильтров в список (и порядок добавления самих списков) не важен, поскольку изменить порядок применения фильтров Вы не можете (для каждого пакета подбирается наиболее точно соответствующий ему IP фильтр). Сначала мы добавим IP фильтр для доступа к порту RDP (3389) нашего компьютера со всех IP адресов.
- Добавьте новый список IP фильтров, нажав кнопку "Добавить" ("Add").
- Укажите имя для списка IP фильтров. В нашем случае это будет "RDP Access from any".
- Снова нажмите кнопку "Добавить" ("Add") рядом с именем списка IP фильтров, для указания конкретного IP фильтра.
- Можете указать описание для IP фильтра (мы назовем этот IP фильтр "From any to 3389"), а также поставьте галочку в поле "Отраженный" ("Mirrored"). Эта галочка применяет параметр IP фильтрации для пакетов как в одну, так и в обратную сторону (если IP фильтр выглядит как "мой ip" -> "любой ip", то галочка "отраженный" включает фильтрацию и в обратную сторону: "любой ip" -> "мой ip").
- В качестве источника IP трафика (IP Traffic Source) в поле "Адрес источника пакетов" ("Source address") укажите "Любой IP адрес" ("Any IP address").
- В качестве назначения IP трафика (IP Traffic destination) в поле "Адрес назначения" ("Destination address") выберите "Мой IP-адрес" ("My IP Address").
- В качестве типа протокола IP (IP Protocol Type) выберите "TCP".
- В окне "Порт протокола IP" ("IP Protocol Port") выберите "Пакеты из любого порта" ("From any port") и "Пакеты на этот порт" ("To this port"). В качестве порта ("на этот порт" / "To port") укажите число 3389.
- Нажмите кнопку "Готово" ("Finish").
- Мы добавили IP фильтр, для [разрешения или запрета] доступа с любого IP адреса (и любого порта) к нашему компьютеру (My IP Address), на TCP порт 3389.
- Теперь нажав "ОК", мы возвращаемся к мастеру создания правила IP безопасности, выбираем созданный нами список IP фильтров ("RDP Access from any") и нажимаем "Далее" ("Next").
- Теперь нам необходимо добавить действие (разрешить или блокировать) для того списка IP фильтров, который мы создали и выбрали.
- В окне "Действие фильтра" ("Filter action") нажмите кнопку "Добавить" ("Add") для добавления действия по отношению к настроенным нами спискам IP фильтров.
- В качестве имени действия фильтра (Filter Action Name) напишите "Block".
- Теперь в качестве общих параметров действия фильтра (Filter action general options) выберите "Блокировать" ("Block").
- Нажмите кнопку "Готово" ("Finish") для закрытия мастера настройки действий фильтра.
- Мы создали действие, которое может быть применено к созданному нами списку IP фильтров.
- Мы вернулись в мастер создания правила IP безопасности. Выберите созданное Вами действие ("Block") и нажмите "Далее" ("Next").
- Нажмите кнопку "Готово" ("Finish") для закрытия мастера настройки правил IP безопасности.
Мы создали правило IP безопасности со списком IP фильтров (IP Filter List) под названием "RDP Access from any" и действием фильтра (Filter Action) под названием "Block", которое блокирует доступ со всех IP адресов к нашему компьютеру на порт 3389.
Теперь мы добавим правило IP безопасности (IP Security rule), которое разрешит отдельным IP адресам доступ на подключение к нашему компьютеру к порту RDP (3389).
- В списке правил IP безопасности (IP security rules) нажмите кнопку "Добавить" ("Add").
- Укажите, что "Это правило не определяет туннель" ("This rule does not specify a tunnel").
- Выберите тип подключения, к которому будет применяться это правило. Обычно имеет смысл указать тип LAN, но Вы можете выбрать и "Все сетевые подключения" ("All network connections").
- Теперь мы добавим список IP фильтров для фильтрации. Порядок добавления IP фильтров в список (и порядок добавления самих списков) не важен, поскольку изменить порядок применения фильтров Вы не можете (для каждого пакета подбирается наиболее точно соответствующий ему IP фильтр). Теперь мы добавим IP фильтр для доступа к порту RDP (3389) нашего компьютера с отдельных IP адресов.
- Добавьте новый список IP фильтров, нажав кнопку "Добавить" ("Add").
- Укажите имя для списка IP фильтров. В нашем случае это будет "RDP Access from trusted IPs".
- Снова нажмите кнопку "Добавить" ("Add") рядом с именем списка IP фильтров, для указания конкретного IP фильтра.
- Можете указать описание для IP фильтра (мы назовем этот IP фильтр "From trusted IP 1 to 3389"), а также поставьте галочку в поле "Отраженный" ("Mirrored"). Эта галочка применяет параметр IP фильтрации для пакетов как в одну, так и в обратную сторону (если IP фильтр выглядит как "мой ip" -> "любой ip", то галочка "отраженный" включает фильтрацию и в обратную сторону: "любой ip" -> "мой ip").
- В качестве источника IP трафика (IP Traffic Source) в поле "Адрес источника пакетов" ("Source address") укажите "Определенный IP адрес или подсеть" ("A specific IP address / subnet") и укажите адрес 1.1.1.1 (укажите IP адрес, которому Вы хотите дать доступ к своему компьютеру по RDP).
- В качестве назначения IP трафика (IP Traffic destination) в поле "Адрес назначения" ("Destination address") выберите "Мой IP-адрес" ("My IP Address").
- В качестве типа протокола IP (IP Protocol Type) выберите "TCP".
- В окне "Порт протокола IP" ("IP Protocol Port") выберите "Пакеты из любого порта" ("From any port") и "Пакеты на этот порт" ("To this port"). В качестве порта ("на этот порт" / "To port") укажите число 3389.
- Нажмите кнопку "Готово" ("Finish").
- Мы добавили IP фильтр, для [разрешения или запрета] доступа с IP адреса 1.1.1.1 (c любого его порта) к нашему компьютеру (My IP Address), на TCP порт 3389.
- Теперь снова нажмите кнопку "Добавить" ("Add") для добавления нового IP фильтра в наш список IP фильтров "RDP Access from trusted IPs", и выполните пункты с 4.4 по 4.9. При этом в поле описания (пункт 4.4) поставьте "From trusted IP 2 (subnet) to 3389", а в качестве источника IP трафика (пункт 4.5) укажите адрес 192.168.1.0/24 (число 24 - это число единичных бит в маске подсети. Подробнее см. в интернете по поводу маски подсети).
- Мы создали список IP фильтров под названием "RDP Access from trusted IPs", который содержит 2 IP фильтра: первый - это IP адрес 1.1.1.1, а второй - сеть 192.168.1.x . И тот и другой фильтры описывают доступ с указанных адресов к нашему компьютеру (My IP Address) на TCP порт 3389.
- Теперь, нажав "ОК", мы возвращаемся к мастеру создания правила IP безопасности, выбираем созданный нами список IP фильтров ("RDP Access from trusted IPs") и нажимаем "Далее" ("Next").
- Теперь нам необходимо добавить действие (разрешить) для того списка IP фильтров, который мы создали и выбрали.
- В окне "Действие фильтра" ("Filter action") нажмите кнопку "Добавить" ("Add") для добавления действия по отношению к настроенным нами спискам IP фильтров.
- В качестве имени действия фильтра (Filter Action Name) напишите "Permit".
- Теперь в качестве общих параметров действия фильтра (Filter action general options) выберите "Разрешить" ("Permit").
- Нажмите кнопку "Готово" ("Finish") для закрытия мастера настройки действий фильтра.
- Мы создали действие, которое может быть применено к созданному нами списку IP фильтров.
- Мы вернулись в мастер создания правила IP безопасности. Выберите созданное Вами действие ("Permit") и нажмите "Далее" ("Next").
- Нажмите кнопку "Готово" ("Finish") для закрытия мастера настройки правил IP безопасности.
В нашей политике безопасности создано 2 правила: одно из них для списка IP фильтров под названием "RDP Access from trusted IPs" (для IP адреса 1.1.1.1 и подсети 192.168.1.x) разрешает доступ к нашему компьютеру на порт 3389, а другое для списка фильтров под названием "RDP Access from any" (для всех [остальных] IP адресов) запрещает доступ к нашему компьютеру на порт 3389. Правила применяются по порядку от более конкретных к более общим, поэтому в случае IP адреса 1.1.1.1 будет применено правило для списка IP фильтров "RDP Access from trusted IPs" (которое разрешит доступ к RDP), а для (например) IP адреса 1.1.1.2 будет применено более общее правило для списка IP фильтров "RDP Access from any" (это правило запретит доступ на порт 3389).
Нажмите кнопку "ОК" для закрытия окна со свойствами созданной нами политики IP безопасности под названием "Restrict RDP Access".
Теперь в консоли IP безопасности стало на 1 политику больше. Но эта политика это пока неактивна (и не действует). Активируйте созданную Вами политику. Для этого кликните на ней правой кнопкой мыши и выберите "Назначить" ("Assign").
И самое главное: обязательно проверьте работу созданной Вами политики! Прямо сейчас!
|