Удалённый доступ к серверу по RDP и работа сайтов через IIS — стандартная практика для многих компаний. Но открытые подключения из Интернета несут риски. Особенно если на сервере хранятся чувствительные данные: финансовые отчёты, персональные сведения клиентов, доступ к CRM или внутренним сервисам. Одна из распространённых угроз — это автоматизированные атаки из-за рубежа, в том числе подбор паролей и сканирование уязвимостей.

Геофильтрация по IP-адресу позволяет значительно снизить такие риски. По сути, это фильтр, который пропускает трафик только из определённых стран — например, России и Казахстана, если вы работаете исключительно с этими регионами. Все остальные подключения отклоняются автоматически. Такой подход помогает не только повысить безопасность, но и уменьшить нагрузку на систему: к серверу просто не будут доходить запросы из нежелательных источников.
Геофильтрация особенно актуальна для виртуальных серверов (VPS), работающих в продакшене: где каждая минута простоя или утечка данных могут обернуться финансовыми потерями. В этом материале мы подробно рассмотрим, как реализовать фильтрацию по странам для RDP и IIS в Windows Server, какие есть способы автоматизации через PowerShell, а также разберём альтернативные утилиты и нюансы поддержки актуальных IP-баз.
Как работает геофильтрация в Windows Server
Стандартный брандмауэр Windows Server — Windows Defender Firewall — умеет блокировать и разрешать входящие подключения по IP-адресам, портам и протоколам. Однако географию он не определяет. Чтобы ограничить доступ по странам, придётся подготовить списки IP-диапазонов вручную или использовать внешние утилиты и скрипты PowerShell.
Для начала подключения к серверу по RDP достаточно открыть стандартную утилиту «Подключение к удалённому рабочему столу» (mstsc), ввести IP-адрес сервера, логин и пароль, которые предоставляются хостером, и перейти к удалённому рабочему столу.
Настройка Windows Firewall: доступ только из нужных стран
Откройте раздел расширенных параметров брандмауэра Windows. Далее в разделе «Правила для входящих подключений» создайте новое правило. В типе укажите «настраиваемое», протокол — TCP, порт — 3389. Во вкладке «Область» нужно выбрать «Удалённые IP-адреса» и указать диапазоны IP, допустим, из файлов ru.zone и kz.zone. Эти списки можно скачать с сайта ipdeny.com — они представляют собой текстовые файлы с IP-диапазонами по строкам.
Интерфейс брандмауэра ограничен по количеству обрабатываемых строк: желательно вставлять не более тысячи IP-адресов за один раз, иначе возможны сбои. Если список большой, проще воспользоваться PowerShell. Назовите правило понятно, например: «RDP: только Россия и Казахстан».
Чтобы исключить все другие подключения, создайте ещё одно правило с теми же параметрами порта и протокола, но с действием «Блокировать» и областью «Любой IP-адрес». Оно сработает только после разрешающих правил, поэтому порядок менять не нужно.
После этого проверьте настройки: попробуйте подключиться с IP из России — доступ будет открыт. При попытке подключения из другой страны (например, через VPN) — заблокирован.
Защита доступа к IIS
Если на сервере запущен сайт или панель управления через IIS, настройка геофильтрации будет не менее актуальной. Откройте «Диспетчер IIS» и выберите нужный сайт. В панели параметров найдите «IP Address and Domain Restrictions». Если этот модуль не установлен, добавьте через Server Manager в разделе «Web Server (IIS)» → «Security».
В открывшемся окне укажите, что доступ по умолчанию запрещён, и сохраните настройки. Далее вручную добавьте нужные IP-диапазоны — каждый отдельно. Автоматическая загрузка через интерфейс невозможна, поэтому для ускорения процесса снова может пригодиться PowerShell.
Как автоматизировать добавление IP-адресов через PowerShell
Чтобы не вставлять тысячи строк вручную, создайте текстовый файл, например ru.txt, со списком IP-диапазонов. Скопируйте его на сервер, откройте PowerShell от имени администратора и выполните скрипт:
Get-Content C:\ru.txt | ForEach-Object {
New-NetFirewallRule -DisplayName "Allow RDP RU $_" -Direction Inbound -RemoteAddress $_ -Protocol TCP -LocalPort 3389 -Action Allow
}
Этот скрипт создаст отдельные правила на каждый диапазон. Чтобы заблокировать всё остальное, добавьте правило:
New-NetFirewallRule -DisplayName "Block RDP All" -Direction Inbound -RemoteAddress Any -Protocol TCP -LocalPort 3389 -Action Block
Убедитесь, что разрешающие правила расположены выше блокирующих.
Внешние утилиты для автоматической фильтрации
Вручную поддерживать списки IP неудобно, особенно если они часто обновляются. Некоторые утилиты могут брать это на себя. Например, устаревший, но до сих пор используемый PeerBlock, фильтрует IP по геолокации, хотя нестабилен на новых версиях Windows Server и требует ручного обновления баз.
Более продвинутые программы вроде IP Security Agent или GeoFirewall имеют графический интерфейс, автоматически загружают актуальные базы, позволяют выбирать страны и блокировать как входящий, так и исходящий трафик. Однако большинство таких решений англоязычны, платные и могут конфликтовать с политиками компаний.
Более надёжный и гибкий способ — использовать актуальные базы IP2Location. На сайте lite.ip2location.com можно скачать CSV-файл с диапазонами, отфильтровать нужную страну и подготовить скрипт для PowerShell. Это решение позволяет контролировать процесс и использовать только достоверные, регулярно обновляемые данные.
Как не отрезать себе доступ и поддерживать фильтрацию в актуальном состоянии
IP-адреса периодически меняются, и у некоторых провайдеров диапазоны могут не соответствовать «географическому» названию. Чтобы не заблокировать себя, обязательно добавьте свой IP в список разрешённых перед применением правил. Рекомендуется обновлять базы IP хотя бы раз в месяц, особенно если вы ограничиваете доступ к продакшен-системам.
Дополнительные меры защиты RDP
Ограничение по IP — важный шаг, но не единственный. Повышение безопасности также обеспечит:
- смена стандартного порта RDP на произвольный;
- включение двухфакторной аутентификации;
- настройка входа только по определённому имени пользователя;
- отключение неиспользуемых учётных записей;
- автоматическая блокировка после нескольких неудачных попыток входа — настраивается через локальные политики безопасности.
Этот подход позволяет значительно повысить безопасность сервера, особенно если он используется для удалённой работы или обслуживания клиентов. VPS от AdminVPS дают достаточно гибкости, чтобы реализовать такие меры, не прибегая к дорогостоящим решениям.
Читайте в блоге:
- Устанавливаем бесплатный сертификат Let’s Encrypt на IIS с Windows Server 2016/2012 R2
- Как посмотреть журнал событий Windows Server
- Лучшие RDP-клиенты для Windows 10 и 11: что выбрать в 2025 году