Как ограничить доступ по RDP к Windows Server только для определенных IP-адресов?

Системный администратор IT и автоматизация бизнеса
← На главную

Обеспечение безопасности терминального сервера (RDP) на базе операционной системы Windows Server 2012 R2 — это одна из первоочередных задач любого системного администратора. Оставленный открытым во внешнюю сеть порт 3389 мгновенно становится мишенью для автоматизированных ботнетов, которые осуществляют непрерывный подбор паролей (брутфорс) и пытаются эксплуатировать известные уязвимости системы. В рамках данной статьи мы подробно разберем, как правильно ограничить доступ к серверу по RDP, используя исключительно встроенные инструменты операционной системы, исправим типичные ошибки настройки брандмауэра и рассмотрим альтернативный, более безопасный вариант организации удаленной работы через VPN.

Почему стандартная настройка брандмауэра Windows вызывает сложности?

При попытке ограничить доступ к RDP с помощью встроенного брандмауэра Windows (Windows Firewall) администраторы часто совершают классическую ошибку: создают новое запрещающее правило для всех IP-адресов и параллельно создают разрешающее правило для нескольких доверенных хостов. В результате сервер полностью теряет связь с сетью.

Давайте проанализируем логику работы брандмауэра Windows, чтобы понять, почему так происходит:

  1. Абсолютный приоритет запрета (Block): В брандмауэре Windows правила блокировки имеют безусловный приоритет над разрешающими правилами. Порядок отображения правил в списке (выше или ниже) не влияет на их обработку — это всего лишь визуальная сортировка. Если трафик подпадает под любое активное правило блокировки, он будет заблокирован, даже если выше по списку находится десяток разрешающих правил.
  2. Наличие предопределенных правил: По умолчанию в Windows Server включены стандартные правила, разрешающие входящие подключения по RDP для любых адресов (профиль «Публичный» или «Частный»). Когда администратор создает собственное разрешающее правило только для своего IP-адреса, стандартное правило все еще продолжает работать и разрешает доступ всем остальным. Таким образом, простое создание нового разрешающего правила не закрывает доступ для посторонних лиц.

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

Решение 1. Ограничение доступа по IP через встроенный Брандмауэр Windows

Рассмотрим по шагам правильный алгоритм настройки брандмауэра, который позволит оставить доступ по RDP только для двух внешних статических IP-адресов (например, домашнего адреса директора и системного администратора) и всей локальной офисной сети.

Шаг 1. Подготовка информации. Перед началом настройки обязательно соберите точные IP-адреса, которым будет разрешен доступ. Вам понадобятся:

Шаг 2. Открытие оснастки брандмауэра. Перейдем в меню «Пуск», введем в поиске или окне «Выполнить» (сочетание клавиш Win+R) команду wf.msc и нажмем Enter. Откроется окно «Брандмауэр Windows в режиме повышенной безопасности».

Шаг 3. Поиск системных правил RDP. В левой колонке выберем раздел «Правила для входящих подключений» (Inbound Rules). Отсортируем список по имени и найдем группу правил, отвечающих за удаленный рабочий стол. Нам необходимы следующие правила:

Шаг 4. Настройка области действия (Scope). Дважды щелкнем по правилу для TCP-входа, чтобы открыть его свойства. Перейдем на вкладку «Область» (Scope). Нас интересует нижний блок настроек — «Удаленный IP-адрес» (Remote IP address). По умолчанию там установлен переключатель «Любой IP-адрес».

Переставим переключатель в положение «Указанные IP-адреса» (These IP addresses) и нажмем кнопку «Добавить». Поочередно внесем все наши доверенные адреса:

  1. Введем IP-адрес директора: 203.0.113.50.
  2. Введем IP-адрес администратора: 203.0.113.100.
  3. Введем диапазон или подсеть локальной сети. Для этого выберем пункт «Подсеть» и укажем 192.168.1.0/24 (или выберем «Диапазон» и укажем от 192.168.1.1 до 192.168.1.254). Это критически важный шаг! Если забыть добавить локальную подсеть, брандмауэр заблокирует все внутренние компьютеры офиса.

Нажмем кнопку «ОК» для сохранения списка адресов, а затем «Применить».

Шаг 5. Повторение настроек для UDP. Выполним точно такие же действия для второго правила (UDP-вход), прописав туда абсолютно аналогичный список IP-адресов.

Шаг 6. Отключение лишних правил. Проанализируем список входящих правил брандмауэра. Если ранее вы создавали какие-либо сторонние самодельные правила для порта 3389 (как разрешающие, так и блокирующие), их необходимо полностью удалить или отключить, чтобы они не нарушали настроенную нами логику.

После применения этих настроек брандмауэр начнет работать по следующему принципу: входящие пакеты на порт RDP будут приниматься только в том случае, если их отправителем является один из явно указанных нами IP-адресов. Любые другие попытки подключения из внешней сети будут отбрасываться по умолчанию.

Для автоматизации этой задачи на нескольких серверах системные администраторы могут воспользоваться командной строкой PowerShell. Напишем пример скрипта, который выполняет те же действия за пару секунд:


$AllowedIPs = @("192.168.1.0/24", "203.0.113.50", "203.0.113.100")
Set-NetFirewallRule -DisplayName "Дистанционное управление рабочим столом - пользовательский режим (TCP-вход)" -RemoteAddress $AllowedIPs
Set-NetFirewallRule -DisplayName "Дистанционное управление рабочим столом - пользовательский режим (UDP-вход)" -RemoteAddress $AllowedIPs

Решение 2. Организация безопасного VPN-доступа средствами Windows Server

Хотя ограничение по IP-адресам в брандмауэре значительно повышает уровень безопасности, это решение имеет существенный минус: у удаленного сотрудника (директора) обязательно должен быть постоянный статический IP-адрес от интернет-провайдера. Если адрес динамический и меняется при каждом перезапуске домашнего роутера, доступ будет регулярно пропадать.

Более профессиональным и безопасным подходом является организация шифрованного VPN-туннеля. В этом случае порт RDP вообще закрывается из внешней сети, а удаленный пользователь сначала подключается к безопасной виртуальной частной сети (VPN), после чего заходит на сервер по его внутреннему локальному IP-адресу. Разберем, как поднять VPN-сервер стандартной службой маршрутизации Windows Server 2012 R2 без дополнительных затрат на стороннее ПО.

Для реализации этой схемы мы будем использовать протокол L2TP/IPsec с общим ключом (Pre-Shared Key), так как он поддерживается встроенными клиентами Windows, Android и iOS «из коробки».

Шаг 1. Установка роли удаленного доступа

Откроем «Диспетчер серверов» (Server Manager), нажмем «Добавить роли и компоненты» и выберем роль «Удаленный доступ» (Remote Access). На этапе выбора служб ролей обязательно отметим флажком пункт «DirectAccess и VPN (RAS)». Дождемся завершения установки и перезагрузим сервер, если это потребуется.

Шаг 2. Настройка службы RRAS

Откроем консоль управления «Маршрутизация и удаленный доступ» (Routing and Remote Access) через меню администрирования. Щелкнем правой кнопкой мыши по имени нашего сервера и выберем пункт «Настроить и включить маршрутизацию и удаленный доступ».

В мастере настройки выберем пункт «Особая конфигурация» (Custom Configuration), а на следующем шаге отметим флажком пункт «Доступ к виртуальной частной сети (VPN)». Запустим службу.

Шаг 3. Настройка пула IP-адресов и общего ключа IPsec

После запуска службы щелкнем правой кнопкой мыши по имени сервера в консоли RRAS и перейдем в его свойства:

  1. Перейдем на вкладку «IPv4». Здесь необходимо настроить выдачу IP-адресов для подключающихся VPN-клиентов. Рекомендуется использовать статический пул адресов. Нажмем «Добавить» и укажем диапазон адресов из вашей локальной сети, который не пересекается с DHCP-пулом вашего основного роутера (например, с 192.168.1.200 по 192.168.1.210).
  2. Перейдем на вкладку «Безопасность» (Security). Установим флажок «Разрешить общую политику L2TP/IKEv2 для подключения IPsec» и в поле «Общий ключ» (Pre-shared key) введем сложный ключ (например, длинную буквенно-цифровую последовательность). Этот ключ понадобится прописать на домашнем компьютере директора при настройке подключения.

Шаг 4. Настройка разрешений для пользователей

Чтобы конкретный пользователь мог подключиться к созданному VPN-серверу, ему нужно предоставить соответствующее право:

  1. Откроем оснастку «Управление компьютером» -> «Локальные пользователи и группы» (или оснастку Active Directory, если сервер является контроллером домена).
  2. Найдем учетную запись директора, откроем ее свойства и перейдем на вкладку «Входящие звонки» (Dial-in).
  3. В разделе «Права доступа к сети» (Network Access Permission) установим переключатель в положение «Разрешить доступ» (Allow access) и сохраним изменения.

Шаг 5. Проброс портов на роутере Ростелекома

Поскольку наш Windows Server находится за роутером провайдера в локальной сети, нам необходимо перенаправить входящий VPN-трафик из интернета на локальный IP-адрес сервера (например, 192.168.1.10). Зайдем в веб-интерфейс роутера Ростелекома, найдем раздел «Переадресация портов» (Port Forwarding / NAT) и создадим правила для проброса следующих портов:

После выполнения этих шагов директор сможет создать на своем домашнем компьютере стандартное подключение VPN (L2TP/IPsec), указать внешний белый IP-адрес офиса, общий ключ безопасности и свои учетные данные Windows. После успешного подключения к VPN сервер будет доступен по локальному адресу так, как будто компьютер директора физически находится внутри офиса.

Дополнительные рекомендации по защите (RDP Hardening)

Для обеспечения максимального уровня защиты сервера, помимо сетевых ограничений брандмауэра и настройки VPN, настоятельно рекомендуется выполнить комплекс превентивных мер безопасности:

Реализация предложенных шагов позволит вам надежно защитить Windows Server 2012 R2 от несанкционированного доступа из внешней сети, сохранив при этом удобство работы и стабильность подключения для доверенных сотрудников.

← На главную