Управление RDP и сетевым экраном на Windows-сервере
При администрировании Windows-сервера ключевой задачей является настройка удалённого доступа.
В этой статье мы детально рассмотрим, как включать и отключать RDP (Remote Desktop Protocol), а также как управлять сетевым экраном, используя как привычный графический интерфейс, так и мощь командной строки PowerShell.
Включение и отключение RDP
Включение или отключение RDP актуально, если Вы устанавливаете ОС Windows из ISO образа. Если установка идёт из наших шаблонов, то RDP будет настроен автоматически.
Через графический интерфейс
- Откройте свойства системы: Щелкните правой кнопкой мыши по иконке «Этот компьютер» и выберите «Свойства», либо нажмите Win + R, введите sysdm.cpl и нажмите Enter.
- Перейдите к настройкам удалённого доступа: В левой колонке нажмите «Настройки удаленного доступа».
- Выберите параметры RDP:
- Чтобы включить: Выберите один из вариантов:
- Разрешать подключения от компьютеров, на которых работает любая версия удаленного рабочего стола — менее безопасно, но обеспечивает совместимость со старыми клиентами.
- Разрешать подключения только от компьютеров с удаленным рабочим столом с проверкой подлинности на уровне сети (рекомендуется) — более безопасный вариант, который требует проверки подлинности до полного установления сеанса.
- Чтобы отключить: Выберите пункт «Не разрешать подключения к этому компьютеру».
- Чтобы включить: Выберите один из вариантов:
- Примените изменения: Нажмите «Применить» и «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 критически важно убедиться, что брандмауэр разрешает входящие подключения.
Через графический интерфейс
- Откройте расширенные настройки брандмауэра: Нажмите Win + R, введите wf.msc и нажмите Enter. Это самый быстрый способ.
- Создайте новое правило для входящих подключений: В левой панели выберите «Правила для входящих подключений». В правой панели нажмите «Создать правило...».
- Мастер создания правила:
- Тип правила: Выберите «Для порта».
- Протокол и порты: Оставьте протокол TCP. Выберите «Определенные локальные порты» и укажите порт RDP (по умолчанию 3389). Если вы меняли порт, укажите свой.
- Действие: Выберите «Разрешить подключение».
- Профиль: Оставьте галочки для тех профилей (Доменный, Частный, Публичный), в которых должен работать RDP. Для сервера достаточно «Частного» и «Публичного».
- Имя: Дайте правило понятное имя, например, 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 "Удаленный рабочий стол"