Проблема
Обеспечение безопасного удалённого доступа сотрудников к рабочим столам и приложениям в корпоративной сети это классическая задача системного администратора. Традиционное решение, развёртывание VPN, имеет недостатки. Нужно настраивать VPN клиент на каждом устройстве пользователя. Открывать широкий диапазон портов. Управлять сертификатами. Часто мириться со снижением производительности. Кроме того, VPN даёт пользователю полный доступ к сети, что повышает риски при компрометации устройства.
Вместо этого можно использовать RD Gateway (шлюз удалённых рабочих столов). Это роль Windows Server, которая позволяет пользователям подключаться к внутренним ресурсам RDP через защищённое SSL соединение (HTTPS) без необходимости разворачивать VPN.
Решение
RD Gateway (Remote Desktop Gateway) это роль Remote Desktop Services (RDS) на Windows Server, которая выступает промежуточным звеном между внешними RDP клиентами и внутренними RDS ресурсами. При подключении через RD Gateway трафик RDP туннелируется через HTTPS соединение на порту 443, что позволяет проходить через большинство корпоративных брандмауэров. Пользователи подключаются с помощью стандартного клиента Remote Desktop Connection (mstsc.exe) или RD Web Access. Шлюз устанавливает шифрованный SSL туннель между устройством пользователя и сервером шлюза, затем аутентифицирует пользователя (с поддержкой RADIUS и Azure MFA) и передаёт трафик к целевому ресурсу (рабочему столу, RemoteApp или сеансу на RDS хосте).
В этой статье мы развернём RD Gateway на Windows Server 2022, установим и настроим роль, импортируем SSL сертификат, создадим политики авторизации CAP и RAP, а также опционально интегрируем шлюз с Azure AD Application Proxy для дополнительной защиты и многофакторной аутентификации.
Пошаговая инструкция
1. Предварительные требования
Прежде чем приступить к установке, убедитесь, что выполнены следующие условия.
Windows Server 2016, 2019 или 2022 (в примере используется 2022).
Сервер присоединён к домену Active Directory.
В сети уже развёрнута инфраструктура RDS (RDS Session Host, Connection Broker). RD Gateway можно устанавливать на отдельный сервер или совмещать с RD Web Access.
SSL сертификат, выданный на внешнее полное доменное имя (FQDN) шлюза (например, rd.company.com). В производственной среде используйте публичный сертификат от доверенного центра сертификации.
Доступ к порту 443 (HTTPS) из интернета на сервер с ролью RD Gateway.
Группы безопасности в AD, которые будут определять пользователей, имеющих доступ через шлюз.
2. Установка роли RD Gateway
Установить роль можно через Server Manager или с помощью PowerShell.
2.1. Установка через Server Manager
Откройте Server Manager, Manage, Add Roles and Features. На шаге Installation Type выберите Role-based or feature-based installation. Выберите целевой сервер. На шаге Server Roles откройте Remote Desktop Services и выберите Remote Desktop Gateway. При появлении запроса добавьте необходимые компоненты (IIS, Network Policy Server). Нажмите Next. Пройдите по оставшимся шагам и завершите установку.
2.2. Установка через PowerShell
powershell
Install-WindowsFeature -Name RDS-Gateway -IncludeAllSubFeature -IncludeManagementTools
После завершения установки перезагрузите сервер.
3. Настройка SSL сертификата
RD Gateway требует SSL сертификат для шифрования соединений. Сертификат должен быть выдан на внешнее FQDN шлюза, например rd.company.com.
3.1. Получение и импорт сертификата
Если у вас уже есть PFX файл сертификата с закрытым ключом, скопируйте его на сервер. Откройте RD Gateway Manager (tsgateway.msc). В консоли щёлкните правой кнопкой мыши по имени сервера, выберите Properties. Перейдите на вкладку SSL Certificate. Выберите Import a certificate into the RD Gateway и укажите путь к PFX файлу. Введите пароль и подтвердите импорт.
Если вы используете самозаверяющий сертификат для тестирования, его корневой сертификат должен быть установлен на всех клиентских машинах как доверенный.
После импорта на вкладке должны отобразиться атрибуты сертификата. Нажмите OK.
4. Создание политик авторизации
Для управления доступом через RD Gateway используются два типа политик.
RD CAP (Connection Authorization Policy) определяет, кто может подключаться к шлюзу (какие пользователи и группы).
RD RAP (Resource Authorization Policy) определяет, к каким внутренним ресурсам (конкретным серверам) могут подключаться авторизованные пользователи.
4.1. Создание RD CAP
В RD Gateway Manager перейдите в раздел Policies, Connection Authorization Policies. Щёлкните правой кнопкой мыши по папке, выберите Create New Policy, Wizard. В мастере выберите Create an RD CAP and an RD RAP (recommended). Введите имя политики (например, RDGW_AllowUsers). На вкладке Supported authentication methods выберите Password (или Smart card при необходимости). Нажмите Add Group и выберите группу Active Directory, члены которой будут иметь доступ через шлюз. Это может быть группа RD_Gateway_Users. Настройте дополнительные параметры (например, перенаправление устройств) по желанию. Нажмите Finish.
4.2. Создание RD RAP
В том же мастере после создания CAP перейдите к настройке RAP. Выберите группу пользователей, которым разрешён доступ (можно использовать ту же группу или другую). Укажите Network resources (внутренние серверы), к которым разрешены подключения. Можно добавить отдельные серверы по имени или целые группы. Завершите создание политики.
Если вы создаёте политики отдельно, в RD Gateway Manager щёлкните правой кнопкой по папке Resource Authorization Policies, выберите Create New Policy, Wizard.
5. Настройка клиентского подключения
Пользователи могут подключаться через стандартный клиент Remote Desktop Connection.
5.1. Ручная настройка клиента
Откройте Remote Desktop Connection (mstsc.exe). В поле Computer введите имя целевого сервера или RDS фермы (внутреннее). Перейдите на вкладку Advanced, Settings (или Advanced, Connect from anywhere). Включите Use a Remote Desktop Gateway server и введите внешнее FQDN шлюза (например, rd.company.com). При необходимости настройте параметры аутентификации и сохраните подключение.
5.2. Настройка через RD Web Access (опционально)
Если в вашей среде развёрнут RD Web Access, пользователи могут входить через веб-портал, выбирать доступные приложения или рабочие столы и автоматически получать настроенный RDP файл с параметрами RD Gateway.
6. Интеграция с Azure AD Application Proxy (опционально)
Для дополнительной безопасности и интеграции с условным доступом (Conditional Access) и MFA Microsoft Entra можно опубликовать RD Web и RD Gateway через Azure AD Application Proxy. Это позволит скрыть ваш шлюз за внешним шлюзом Microsoft с поддержкой многофакторной аутентификации.
Требования.
Лицензия Azure AD Premium P1 или P2.
Установленный Application Proxy connector на сервер с RD Web и RD Gateway.
RD Web и RD Gateway должны быть развёрнуты на одном сервере с общим корневым путём.
Пользователи должны использовать совместимый браузер.
6.1. Настройка совместного развёртывания
Установите Application Proxy connector на сервер с RD Web и RD Gateway. В портале Azure создайте новое корпоративное приложение для публикации RDS. В качестве Internal URL укажите https://<fqdn-шлюза>/ (например, https://rd.company.com/). В качестве External URL укажите желаемый публичный адрес. Для SSO (единого входа) выберите Integrated Windows Authentication и укажите соответствующий SPN. Опубликуйте приложение и протестируйте доступ.
После этой настройки пользователи будут проходить аутентификацию через Microsoft Entra ID, а затем перенаправляться на RD Web.
Устранение распространённых проблем
ПроблемаВероятная причинаРешениеThe remote computer disconnected the sessionНеправильный SSL сертификат, истекший срок действия или несовпадение имениПроверить, что сертификат выдан на внешнее FQDN шлюза и не просрочен. Переустановить сертификат через RD Gateway Manager.Your computer can't connect to the remote computer because the Remote Desktop Gateway server is temporarily unavailableПорт 443 заблокирован, служба RD Gateway остановленаУбедиться, что порт 443 открыт в брандмауэре. Проверить службу Remote Desktop Gateway (в оснастке Services).The user name or password is incorrect при попытке входа через RD GatewayПользователь не добавлен в RD CAP или RD RAPПроверить членство пользователя в группах, указанных в политиках CAP и RAP.Ошибка при подключении через Application ProxyRD Web и RD Gateway развёрнуты на разных серверахApplication Proxy требует размещения обеих ролей на одном сервере с общим корнем.При подключении выдаётся ошибка SSL certificate is not trustedИспользуется самозаверяющий сертификатУстановить корневой сертификат в хранилище доверенных корневых центров на клиентских машинах или заменить на публичный сертификат.После установки обновлений перестаёт работать RD GatewayИзменения в IIS или политиках безопасностиПереустановить SSL сертификат, проверить настройки IIS для сайта Rpc.
Итог
Мы развернули и настроили Remote Desktop Gateway. Это решение обеспечивает безопасный удалённый доступ к рабочим столам и приложениям в корпоративной сети без необходимости развёртывания полноценного VPN. Настройка RD Gateway сводится к установке роли, импорту SSL сертификата и созданию политик авторизации CAP и RAP. При необходимости шлюз можно усилить интеграцией с Azure AD Application Proxy, добавив многофакторную аутентификацию и условный доступ. Полученная конфигурация подходит для организаций любого размера, от малых офисов до крупных предприятий с территориально распределённой инфраструктурой.