Перейти к основному контенту

Управление RDP и сетевым экраном на Windows-сервере

При администрировании Windows-сервера ключевой задачей является настройка удалённого доступа.
В этой статье мы детально рассмотрим, как включать и отключать RDP (Remote Desktop Protocol), а также как управлять сетевым экраном, используя как привычный графический интерфейс, так и мощь командной строки PowerShell.

Включение и отключение RDP

Включение или отключение RDP актуально, если Вы устанавливаете ОС Windows из ISO образа. Если установка идёт из наших шаблонов, то RDP будет настроен автоматически.

Через графический интерфейс

  1. Откройте свойства системы: Щелкните правой кнопкой мыши по иконке «Этот компьютер» и выберите «Свойства», либо нажмите Win + R, введите sysdm.cpl и нажмите Enter.
  2. Перейдите к настройкам удалённого доступа: В левой колонке нажмите «Настройки удаленного доступа».
  3. Выберите параметры RDP:
    • Чтобы включить: Выберите один из вариантов:
      • Разрешать подключения от компьютеров, на которых работает любая версия удаленного рабочего стола — менее безопасно, но обеспечивает совместимость со старыми клиентами.
      • Разрешать подключения только от компьютеров с удаленным рабочим столом с проверкой подлинности на уровне сети (рекомендуется) — более безопасный вариант, который требует проверки подлинности до полного установления сеанса.
    • Чтобы отключить: Выберите пункт «Не разрешать подключения к этому компьютеру».
  4. Примените изменения: Нажмите «Применить» и «OK». При первом включении система может предупредить о необходимости настройки брандмауэра.

С помощью PowerShell (быстро и для автоматизации)

PowerShell предоставляет полный контроль над службами и настройками, что особенно полезно для скриптов и удалённого управления.

Включение RDP:

# Включение разрешения на удалённые подключения
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server' -Name "fDenyTSConnections" -Value 0

# Включение правила брандмауэра для RDP (на стандартном порту 3389)
Enable-NetFirewallRule -DisplayGroup "Удаленный рабочий стол"

# Альтернативно, можно включить правило по его имени
# Enable-NetFirewallRule -Name "RemoteDesktop-UserMode-In-TCP"

# Проверка статуса RDP
(Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server').fDenyTSConnections
  • Значение 0 означает, что RDP включен.
  • Значение 1 означает, что RDP выключен.

Отключение RDP:

# Отключение разрешения на удалённые подключения
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server' -Name "fDenyTSConnections" -Value 1

# Отключение правила брандмауэра для RDP
Disable-NetFirewallRule -DisplayGroup "Удаленный рабочий стол"

Дополнительные полезные команды:

# Проверка текущего состояния RDP (0 - включен, 1 - выключен)
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server' -Name "fDenyTSConnections"

# Просмотр всех правил брандмауэра, связанных с RDP
Get-NetFirewallRule -DisplayGroup "Удаленный рабочий стол" | Format-Table Name, Enabled, Direction, Action

Настройка сетевого экрана (Брандмауэра Windows) для RDP

После включения RDP критически важно убедиться, что брандмауэр разрешает входящие подключения.

Через графический интерфейс

  1. Откройте расширенные настройки брандмауэра: Нажмите Win + R, введите wf.msc и нажмите Enter. Это самый быстрый способ.
  2. Создайте новое правило для входящих подключений: В левой панели выберите «Правила для входящих подключений». В правой панели нажмите «Создать правило...».
  3. Мастер создания правила:
    • Тип правила: Выберите «Для порта».
    • Протокол и порты: Оставьте протокол TCP. Выберите «Определенные локальные порты» и укажите порт RDP (по умолчанию 3389). Если вы меняли порт, укажите свой.
    • Действие: Выберите «Разрешить подключение».
    • Профиль: Оставьте галочки для тех профилей (Доменный, Частный, Публичный), в которых должен работать RDP. Для сервера достаточно «Частного» и «Публичного».
  4. Имя: Дайте правило понятное имя, например, RDP Port TCP.

С помощью PowerShell

PowerShell позволяет управлять брандмауэром с точностью до конкретного правила, что идеально для скриптов развертывания.

Создание и включение правила для стандартного порта RDP:

# Разрешить входящие подключения по TCP на порт 3389 с именем "RDP Custom"
New-NetFirewallRule -DisplayName "RDP Custom" -Direction Inbound -Protocol TCP -LocalPort 3389 -Action Allow -Profile Any

Включение или отключение существующих правил RDP:

Стандартная роль «Удаленный рабочий стол» создает свои правила. Ими тоже можно управлять.

# Просмотр всех правил, связанных с RDP
Get-NetFirewallRule -DisplayGroup "Удаленный рабочий стол" | Select-Object Name, DisplayName, Enabled

# Включение стандартного правила для RDP (пользовательский режим)
Enable-NetFirewallRule -Name "RemoteDesktop-UserMode-In-TCP"

# Отключение стандартного правила для RDP
Disable-NetFirewallRule -Name "RemoteDesktop-UserMode-In-TCP"

# Включение всех правил в группе "Удаленный рабочий стол"
Enable-NetFirewallRule -DisplayGroup "Удаленный рабочий стол"

Полное отключение брандмауэра (НЕ РЕКОМЕНДУЕТСЯ!):

# Отключить брандмауэр для всех профилей (крайне небезопасно!)
Set-NetFirewallProfile -All -Enabled False

Краткий обзор дополнительных мер безопасности

SSTP-туннель для безопасного доступа

Вместо прямого открытия порта RDP в интернете используйте VPN. Протокол SSTP (использует порт 443, как HTTPS) идеально подходит для этого, так как обходит многие блокировки.

  • Суть: Вы настраиваете на сервере роль «Служба удаленного доступа» (VPN).
  • Результат: Подключение к серверу происходит через зашифрованный VPN-туннель. После этого вы подключаетесь к RDP по внутреннему IP-адресу сервера (например, 192.168.10.1), который не виден извне.

MFA (Многофакторная аутентификация)

Даже с VPN пароль можно украсть. MFA добавляет второй фактор (код из приложения, push-уведомление).

  • Как реализовать: Для RDP в Windows требуется стороннее ПО, например, Duo Security или Remote Desktop Gateway с собственными методами аутентификации.
  • Результат: После ввода пароля система запросит дополнительное подтверждение с вашего телефона. Это практически на 100% блокирует несанкционированный доступ.

Заключение

Комбинация PowerShell и графического интерфейса даёт вам полную власть над настройками RDP и безопасности.

Для базовой настройки используйте команды:

# Включить RDP и открыть порт в брандмауэре
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server' -Name "fDenyTSConnections" -Value 0
Enable-NetFirewallRule -DisplayGroup "Удаленный рабочий стол"